Amazon Web Services ブログ

新機能 – 作成時に EC2 インスタンスと EBS ボリュームにタグ付け

2010 年に、EC2 インスタンスでのリソースへのタグ付け およびその他の EC2 リソースが発表されました。その発表以来、リソースあたりのタグ付けできる数が 10 から 50 へ引き上げられ、また、リソースグループとタグエディタの導入により、タグはより役に立つものとなりました。お客様はタグを使用して、所有権の追跡、コスト計算の処理の向上、コンプライアンスプロトコルの導入、および IAM ポリシーからのアクセスとリソースの管理などを行っています。AWS のタグ付けモデルでは、リソース作成とリソースのタグ付けという別個の機能を提供しています。これは柔軟性が高く、多くのユーザーに役立ってきましたが、リソースがタグ付けされていない状態で存在すると、時間枠が小さくなります。2 つの異なる機能を使用すると、リソースの作成だけは成功してもタグ付けが失敗し、リソースがタグ付けされていない状態になってしまいます。以下の 4 つの新たな機能により、タグ付けをより柔軟で役に立つ仕方で行えます。作成時のタグ付け – EC2 インスタンスと EBS ボリュームのタグはリソースを作成する API 呼び出しの一部として指定できます。タグの使用の強制 – EC2 インスタンスまたは EBS ボリュームの特定のタグは強制的に使用するように IAM ポリシーを記述できます。リソースレベルのアクセス許可 – 皆様からのリクエストにより、 CreateTagsDeleteTags 機能では、IAM のリソースレベルのアクセス許可がサポートされるようになりました。ボリューム暗号化の強制 – 新しく作成された EBS ボリュームに対して、暗号化を強制的に使用するように IAM ポリシーを記述できます。作成時のタグ付け EC2 インスタンスと EBS ボリュームのタグはリソースを作成する API 呼び出しの一部として指定できるようになりました (呼び出しがインスタンスとボリュームの両方を作成する場合は、インスタンスと各ボリュームに異なるタグを指定できます)。リソースの作成とタグ付けは自動的に行われ、オペレーション (RunInstancesCreateVolume、および、リソースを作成するその他の機能) が成功するには、両方が成功する必要があります。インスタンスやボリュームを作成した後に実行するタグ付けのスクリプトを構築する必要はもうありません。EC2 インスタンスを起動するときにタグを指定する方法は以下のとおりです (インスタンスが起動するときに、CostCenter および SaveSnapshotFlag タグも、作成されるすべての EBS ボリュームに設定されます)。

詳細については、「タグの使用」を参照してください。リソースレベルのアクセス許可 CreateTagsDeleteTags では、多くのお客様のリクエストにより、IAM のリソースレベルのアクセス許可がサポートされるようになりました。これにより、既存のリソースのタグキーおよび値をさらに制御できます。また、RunInstancesCreateVolume では、リソースレベルのアクセス許可がさらにサポートされるようになりました。これにより、作成時にリソースにタグ付けできるユーザーおよびグループを制御できます。さらに詳しくは、「AWS CLI または AWS SDK で使用するサンプルポリシー」を参照してください。タグの使用の強制 – 特定のタグを強制的に使用するように IAM ポリシーを記述できます。たとえば、次のような名前が付けられたタグの削除をブロックするポリシーを記述できます: 所有者 または アカウント。または、特定の既存のリソースに新しいタグを作成するのを許可しない「拒否」ポリシーを記述できます。IAM ポリシーを使用して、 DepartmentCostCenter タグの使用を強制すると、より正確なコスト配分レポートを作成するのに役立ちます。より強力なコンプライアンスとセキュリティポリシーの実装のために、 DeleteTags へのアクセスを、リソースがユーザー名でタグ付けされていない場合に限り制限することもできます。タグの使用を強制する機能により、リソースへのアクセス、所有権、コスト配分を正確に制御できます。以下は、すべての新しく作成されたボリュームに対し、costcenter および stack タグ (それぞれ「115」および「prod」の値を持つ) の使用を要求するステートメントです。

"Statement": [
    {
      "Sid": "AllowCreateTaggedVolumes",
      "Effect": "Allow",
      "Action": "ec2:CreateVolume",
      "Resource": "arn:aws:ec2:us-east-1:123456789012:volume/*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/costcenter": "115",
          "aws:RequestTag/stack": "prod"
         },
         "ForAllValues:StringEquals": {
             "aws:TagKeys": ["costcenter","stack"]
         }
       }
     },
     {
       "Effect": "Allow",
       "Action": [
         "ec2:CreateTags"
       ],
       "Resource": "arn:aws:ec2:us-east-1:123456789012:volume/*",
       "Condition": {
         "StringEquals": {
             "ec2:CreateAction" : "CreateVolume"
        }
      }
    }
  ]

ボリューム暗号化の強制 新たにサポートされるようになった追加の IAM リソースレベルのアクセス許可を使用して ( RunInstancesCreateVolume)、作成された EBS ブートボリュームまたはデータボリュームに対して、暗号化を強制的に使用するように IAM ポリシーを記述できます。これを使用すると、規制要件に対応でき、エンタープライズセキュリティポリシーを実施し、必要な監査要件に従ってデータを保護できます。以下はサンプルステートメントで、 RunInstancesCreateVolume の IAM ポリシーに組み込み、EBS ボリュームの暗号化を強制できます。

"Statement": [
        {
            "Effect": "Deny",
            "Action": [
                       "ec2:RunInstances",
                       "ec2:CreateVolume"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:volume/*"
            ],
            "Condition": {
                "Bool": {
                    "ec2:Encrypted": "false"
                }
            }
        },

詳細について、また、サンプルポリシーを見るには、「AWS CLI または AWS SDK で使用するサンプルポリシー」および「Amazon EC2 の IAM ポリシー」を参照してください。今すぐ利用可能 ご覧の通り、リソース作成時のタグ付けと新しいリソースレベルのアクセス許可の組み合わせ、およびタグの操作関数により、EC2 リソースへのアクセスを追跡し制御できます。この新しい機能は、AWS GovCloud (US) と China (Beijing) を除くすべてのリージョンで今すぐ利用できます。AWS Management ConsoleAWS Command Line Interface (CLI)AWS Tools for Windows PowerShell、または AWS API から、今すぐ使用を開始できます。いずれ、他の EC2 リソースタイプのサポートを追加することも計画しています。詳しくは今後お知らせします。

Jeff;