Batch 用に暗号化された AMI を作成する方法を教えてください。

所要時間2分
0

AWS Batch 用に暗号化された Amazon マシンイメージ (AMI) を作成したいと考えています。

概要

カスタム AWS キー管理サービス (AWS KMS) キーを使用して AMI を暗号化し、暗号化された AMI を使用して AWS Batch インスタンスを起動できます。

解決策

Amazon ECS 用に最適化された AMI のスナップショットを作成する

次の手順を実行します。

  1. Amazon Elastic Container Service (Amazon ECS) に最適化された AMI に基づいて Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを起動します
    **注:**AMI を選択するには、「Amazon ECS に最適化された Linux AMI」を参照してください。
  2. 起動した EC2 インスタンスのルートボリュームからスナップショットを作成します。
  3. 課金を避けるには、作成した EC2 インスタンスを削除してください。

スナップショットを暗号化し、暗号化されたスナップショットの AMI を作成する

次の手順を実行します。

  1. Amazon EC2 コンソールを開きます。
  2. ナビゲーションペインの [Elastic ブロックストア][スナップショット] を選択します。
  3. 作成したスナップショットを選択し、[アクション] を選択し、[コピー] を選択します。
  4. [スナップショットのコピー] ウィンドウの [暗号化] で、[このスナップショットを暗号化] を選択します。
  5. [KMS キー] には、お客様が管理する AWS KMS キーを選択してください。
    **注:**これらの手順で暗号化に使用されるキーは対称キーです。
  6. **[スナップショットをコピー]**を選択します。
  7. 完了状態になったら暗号化されたスナップショットを選択し、[アクション] を選択し、[スナップショットからイメージを作成] を選択します。

注:AMI は Amazon EC2 コンソールから表示できます。ナビゲーションペインの [イメージ] セクションから、[AMI] を選択します。

サービスにリンクされたロールに KMS キーへのアクセス権を付与する

Amazon Elastic Block Store (Amazon EBS) 暗号化用にカスタマー管理の AWS KMS キーを指定するには、サービスにリンクされたロールにそのキーへのアクセス権を付与します。このアクセスにより、Amazon EC2 Auto Scaling がお客様に代わってインスタンスを起動できるようになります。このアクセスを提供するには、KMS キーのキーポリシーを変更する必要があります。

ポリシーを更新するときは、AWSServiceRoleForAutoScaling を KMS キーのキーユーザーとして設定します。

このポリシーを使用するには、Amazon リソースネーム (ARN) を KMS キーにアクセスできるサービスにリンクされたロールの ARN に置き換えます。

ポリシーの例:

{
  "Id": "key-consolepolicy-3",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Enable IAM User Permissions",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:root"
      },
      "Action": "kms:*",
      "Resource": "*"
    },
    {
      "Sid": "Allow use of the key",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling"
      },
      "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
      ],
      "Resource": "*"
    },
    {
      "Sid": "Allow attachment of persistent resources",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling"
      },
      "Action": [
        "kms:CreateGrant",
        "kms:ListGrants",
        "kms:RevokeGrant"
      ],
      "Resource": "*",
      "Condition": {
        "Bool": {
          "kms:GrantIsForAWSResource": "true"
        }
      }
    }
  ]
}

注:最適な戦略でスポットコンピューティング環境を使用する場合は、前述のキーポリシーの AWS ServiceRoleForAuto Scaling の代わりに AWSServiceRoleForEC2SpotFleet を使用してください。

新しいコンピューティング環境の作成

新しいコンピューティング環境を作成します

重要:コンピューティング環境を作成する場合は、[ユーザー指定の AMI ID を有効にする] オプションを選択する必要があります。次に、表示される [AMI ID] ボックスに AMI ID を入力し、[AMI を検証] を選択します。

AWS公式
AWS公式更新しました 8ヶ月前
コメントはありません

関連するコンテンツ