【问题标题】:Tags on volumes created with EC2 instances in AWS CloudFormation在 AWS CloudFormation 中使用 EC2 实例创建的卷上的标签
【发布时间】:2022-03-23 01:04:47
【问题描述】:

我正在使用标签创建我的 AWS CloudFormation 堆栈。

当我这样做时,堆栈创建的所有 EC2 实例也会获得标签(这是我想要的)。但是附加到这些 EC2 实例的所有卷都没有获得标签。

我能以某种方式改变它吗?我想要所有支持它们的资源上的标签。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-cloudformation


    【解决方案1】:

    标签以非传递方式应用;您必须明确地将标签与每个资源相关联。引用AWS docsAWS::EC2::Instance 资源类型,标签为:

    此实例的任意一组标签(键值对)。

    如果您真的想使用 AWS CloudFormation 将标签关联到卷,另一种方法是使用 AWS::EC2::Volume 创建卷(并为卷指定标签)并使用 @ 将它们附加到 EC2 实例987654325@。另一种方法是使用Lambda-backed custom resources 来完成此操作。

    【讨论】:

      【解决方案2】:

      我对通过 Terraform 创建的实例(50-75 个实例)有同样的问题。我编写了这个 Powershell + AWS CLI 脚本来标记卷:

      $instances = aws ec2 --profile=xxxxxx-us-east-2 describe-instances --query "Reservations[].Instances[].[InstanceId]" --output text
      
      foreach ($instance in $instances)
      {
          Write-Host $instance
      
      
          $filter = "Name=attachment.instance-id,Values=$instance"
          $volumes = aws ec2 --profile=xxxxxx-us-east-2 describe-volumes --filters $filter --query "Volumes[].Attachments[].[VolumeId]"  --output text
          Write-Host $volumes
      
          $raw= aws ec2 --profile=xxxxxx-us-east-2 describe-instances --instance-ids $instance --query "Reservations[*].Instances[*].[Tags]" --output json
          $temp1 = $raw | ConvertFrom-Json 
          $temp2 = ConvertTo-Json -InputObject  $temp1.GetValue(0).GetValue(0).GetValue(0)
          $tags = $temp2 | ConvertFrom-Json 
       
          foreach ($volume in $volumes)
          {
              Write-Host $volume
      
              foreach($tag in $tags)
              {
                  Write-Host $tag.Key'='$tag.Value
                  $parm = "Key=" + $tag.Key + ",Value=" + $tag.Value
                  aws ec2 --profile=xxxxxx-us-east-2 create-tags --resources $volume --tags $parm
      
              }
      
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2019-11-04
        • 1970-01-01
        • 1970-01-01
        • 2019-09-02
        • 2018-05-10
        • 2019-02-23
        • 2017-11-11
        • 2014-02-18
        • 2021-12-26
        相关资源
        最近更新 更多