Amazon EC2 インスタンスが Elastic Beanstalk との通信に失敗したときに表示されるエラーを解決する方法を教えてください。

最終更新日: 2021 年 3 月 4 日

AWS Elastic Beanstalk 環境を作成しようとすると、次のエラーが発生します。「VPC 設定の問題または EC2 インスタンスの障害が原因で、EC2 インスタンスが AWS Elastic Beanstalk と通信できませんでした。VPC 構成を確認して、環境を再起動してみてください」

簡単な説明

このエラーは、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスが Elastic Beanstalk およびその他のサービスエンドポイントへのアウトバウンド接続を開始するように設定されていない場合に発生します。インスタンスは、パブリックサブネット、プライベートサブネット、または Amazon Virtual Private Cloud (Amazon VPC) エンドポイントのいずれかを介してこれらのエンドポイントにアクセスできる必要があります。

解決方法

  1. サブネットに関連付けられたネットワーク ACL がインターネットへのアウトバウンド接続を許可していることを確認します。例: 0.0.0.0/0
  2. Elastic Beanstalk 環境を作成したときにカスタム Amazon VPC を選択した場合は、インスタンスとロードバランサーの可視性に適切なサブネットを選択します。
  3. EC2 インスタンスがパブリックサブネットにある場合は、ルートテーブルにインターネットゲートウェイを介したインターネットへのルートがあることを確認します。例: 0.0.0.0/0
  4. EC2 インスタンスがプライベートサブネットにある場合は、NAT ゲートウェイまたは NAT インスタンスに関連付けられているルートテーブルにインターネットへのルートがあることを確認します。例: 0.0.0.0/0
    注: インターネットと通信するには、NAT ゲートウェイまたは NAT インスタンスがパブリックサブネット内にある必要があります。
  5. Elastic Beanstalk 環境を起動した VPC で、属性 enableDnsHostnames および enableDnsSupport が有効になっていることを確認します。
  6. Elastic Beanstalk 環境で VPC エンドポイントを使用している場合は、環境を適切に起動するために次のエンドポイントを設定します。
    Amazon Simple Queue Service (Amazon SQS)
    AWS CloudFormation
    Elastic Beanstalk (com.amazonaws.your-region.elasticbeanstalk)
    Elastic Beanstalk ヘルス (elasticbeanstalk-health.your-region.amazonaws.com)
    Amazon Simple Storage Service (Amazon S3)
    注: 環境が他の AWS サービスと相互作用する必要がある場合は、それらのサービスに適切な VPC エンドポイントを作成します。