暗号化したボリュームをアタッチした EC2 インスタンスを起動しましたが、インスタンスは開始せず、保留状態からすぐに停止状態に移行します。どのように解決すればよいですか?

AWS Key Management Service (AWS KMS) を使用して統合サービスのデータを保護する場合は、IP アドレス条件演算子を指定したり、同じアクセスポリシーステートメントで aws:SourceIp 条件キーを指定したりするときに注意が必要です。暗号化した Amazon Elastic Block Store (Amazon EBS) ボリュームを Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにアタッチすると、Amazon EC2 から AWS KMS に対して、ボリュームの暗号化されたデータキーを復号するリクエストが送信されます。この場合、リクエスト元はユーザーの IP アドレスではなく、EC2 インスタンスに関連付けられた IP アドレスです。SourceIp 条件が設定されていると、復号リクエストは拒否され、インスタンスは失敗します。

これが原因であることを確認するには、インスタンスで describe-instances コマンドを実行します。次のエラーメッセージが表示された場合は、AWS KMS を通じて復号をリクエストする sourceIp 条件が設定されていると考えられます。

"StateReason": {
  "Message": "Client.InternalError: Client error on launch", 
  "Code": "Client.InternalError"
  },

AWS KMS を使用して統合サービスのデータを保護する場合は、IP アドレス条件演算子を指定したり、同じアクセスポリシーステートメントで aws:SourceIp 条件キーを指定したりするときに注意が必要です。暗号化した EBS ボリュームを EC2 インスタンスにアタッチすると、Amazon EC2 から AWS KMS に対して、ボリュームの暗号化されたデータキーを復号するリクエストが送信されます。この場合、リクエスト元はユーザーの IP アドレスではなく、EC2 インスタンスに関連付けられた IP アドレスです。sourceIp 条件が設定されていると、リクエストは拒否され、インスタンスは失敗します。

条件として kms:ViaService を使用してください。ユーザーに代わって操作を行うことを AWS KMS に許可します。

: ユーザーがログオンしている EC2 インスタンスでは、この条件を操作できません。ユーザーを代行するサービスでのみ操作できます。この操作は AWS CloudTrail にログとして記録されるため、後で確認できます。

"userIdentity": {
  "sessionContext": {
    "sessionIssuer": {
      "accountId": "450822418798",
      "principalId": "450822418798:aws:ec2-infrastructure",
      "userName": "aws:ec2-infrastructure",
      "arn": "arn:aws:iam::450822418798:role/aws:ec2-infrastructure",
      "type": "Role"
     },
…
    "eventType": "AwsApiCall",
    "@log_group": "CloudTrail/AllRegionLogGroup",
    "awsRegion": "eu-west-1",
    "requestParameters": {
      "encryptionContext": {
        "aws:ebs:id": "vol-0ca158925aa9c1883"
      }    
},

次の例は、AWS KMS に対して行われた API コールの CloudTrail エントリです。この呼び出しは、特定の IP アドレスからではなく、aws:ec2-infrastructure で行われています。EC2 を操作することを AWS KMS に許可するポリシーをユーザーに追加すると、API コールが正常に実行されます。


このページは役に立ちましたか? はい | いいえ

AWS サポート ナレッジ センターに戻る

サポートが必要ですか? AWS サポートセンターをご覧ください。

公開日: 2017 年 7 月 3 日

更新 : 2018 年 7 月 18 日