スキップしてコンテンツを表示

AMI に問題があり、EC2 インスタンスの起動に失敗した場合のトラブルシューティング方法を教えてください。

所要時間2分
0

Amazon マシンイメージ (AMI) が Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを起動できないため、トラブルシューティングしたいです。

簡単な説明

AMI からインスタンスを起動する際、次のいずれかのエラーメッセージが表示される場合があります。

  • 「Error launching AMI: In order to use the AWS Marketplace product you need to accept the terms and subscribe (AWS Marketplace 製品を使用するには、利用規約に同意し、サブスクライブする必要があります)」
  • 「Error: The instance configuration for this AWS Marketplace product is not supported (インスタンス構成がこの AWS Marketplace 製品ではサポートされていません)」

または、インスタンスが起動直後に停止する場合があります。この問題は通常、インスタンスの Amazon Elastic Block Store (Amazon EBS) ボリュームを暗号化する際に発生します。

解決策

「you need to accept the terms and subscribe」エラーのトラブルシューティング

AWS Marketplace の AMI を使用して作成したインスタンスから、新しい AMI とスナップショットを作成または起動できます。これらのインスタンスを共有する AWS アカウントは、その AWS Marketplace の AMI にサブスクライブする必要があります。共有されるアカウントが元の AWS Marketplace の AMI にサブスクライブされていない場合、新しい AMI からインスタンスを起動したり、その AMI のスナップショットから作成した EBS ボリュームをアタッチしたりすることはできません。

この問題を解決するには、エラーメッセージに記載されたリンクを開き、アカウントを AMI にサブスクライブします。次に、AMI の規約に同意します。AWS Marketplace コンソールを使用して AMI にサブスクライブすることもできます。

「instance configuration for this AWS Marketplace product is not supported」エラーのトラブルシューティング

AWS Marketplace AMI をベンダーごとに制限し、特定のインスタンスタイプのみを許可することができます。サポートされていないインスタンスタイプを起動しようとすると、「instance configuration for this AWS Marketplace product is not supported」というエラーメッセージが表示されます。

サポートされているインスタンスタイプについては、AMI の AWS Marketplace ページを確認してください。AMI には必ずサポートされているインスタンスタイプを使用してください。

暗号化 EBS ボリュームでの問題のトラブルシューティング

AWS Identity and Access Management (IAM) ユーザーは、インスタンスを起動するには、AWS Key Management Service (AWS KMS) 暗号化キーにアクセスできる必要があります。アクセスできない場合、インスタンスの起動は失敗します。

この問題を解決するには、AMI を宛先アカウントと適切に共有していることを確認してください。AMI を共有するには、ソースアカウントの IAM ユーザーまたはロールには、その AMI に対する ModifyImageAttribute アクセス許可が必要です。IAM ポリシーの例:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:ModifyImageAttribute"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/12345678"
            ]                                                    
        }
    ]
}

注: arn:aws:ec2:us-east-1::image/12345678 を実際の AMI の Amazon リソースネーム (ARN) に置き換えます。

ソースアカウントで次の手順を実行し、AWS KMS キーを送信先アカウントと共有します。

  1. AWS KMS コンソールを開きます。
  2. ナビゲーションペインで [カスタマーマネージドキー] を選択し、該当する AWS KMS キーを選択します。
  3. [その他の AWS アカウント][他の AWS アカウントを追加] を選択し、[他の AWS アカウントを追加] を選択します。
  4. arn:aws:iam:: にターゲットアカウントの ID を入力します。(例: 1234567890)
  5. [変更を保存] を選択します。

ターゲットアカウントで、IAM ユーザーまたはロールに必要な暗号化権限があることを確認します。ポリシー例:

{  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:DescribeKey",
        "kms:ReEncrypt*",
        "kms:Decrypt",
        "kms:GenerateDataKeyWithoutPlainText"
      ],
      "Resource": [
        "arn:aws:kms:us-east-1:Source-Account:key/key-id"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "kms:CreateGrant",
      "Resource": [
        "arn:aws:kms:us-east-1:Source-Account:key/key-id"
      ],
      "Condition": {
        "Bool": {
          "kms:GrantIsForAWSResource": true
        }
      }
    }
  ]
}

注: 実際のものでそれぞれ、us-east-1 を AWS リージョンに、Source-Account ソースアカウント ID に、key-id を AWS KMS キー ID に置き換えます。

設定をテストするには、暗号化 AMI を使用して EC2 インスタンスを起動します。共有された暗号化 AMI を使用する場合、独自の AWS KMS キーまたはソース AWS KMS を使用してボリュームを暗号化できます。ソースキーの漏洩やアクセス許可取り消しの問題を防ぐために、宛先アカウントの AWS KMS を使用してボリュームを再暗号化することをおすすめします。

詳細については、「複数アカウントで暗号化 AMI を共有し、暗号化 EC2 インスタンスを起動する方法」を参照してください。

AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ