翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
このトピックでは、より具体的なトラブルシューティングのヒントをカテゴリ別に紹介します。
環境の作成とインスタンスの起動
イベント: 環境を起動できませんでした
このイベントは、Elastic Beanstalk が環境を起動しようとし、その途中でエラーが起こったときに発生します。[イベント] ページの以前のイベントが、この問題の根本的な原因について警告します。
イベント: 環境の作成オペレーションは完了しましたが、コマンドがタイムアウトしました。タイムアウト期間を長くしてみてください。
インスタンス上でコマンドを実行する、大きなファイルをダウンロードする、あるいはパッケージをインストールするために設定ファイルを使用すると、アプリケーションのデプロイに時間がかかる場合があります。コマンドタイムアウトを増やして、デプロイ中にアプリケーションが実行開始できる時間を多くしてください。
イベント: 以下のリソースで [AWSEBInstanceLaunchWaitCondition] を作成できませんでした
このメッセージは、環境の Amazon EC2 インスタンスが、正常に起動した Elastic Beanstalk と通信しなかったことを示します。これは、インスタンスにインターネットの接続がない場合に発生します。プライベート VPC サブネットでインスタンスを起動するように環境を設定した場合は、インスタンスに対して Elastic Beanstalk への接続を許可する NAT がサブネットにあることを確認します。
イベント: このリージョンではサービスロールが必要です。環境にサービスロールオプションを追加してください。
Elastic Beanstalk はサービスロールを使用して環境のリソースをモニタリングし、マネージド型プラットフォーム更新をサポートします。詳細については「Elastic Beanstalk サービスロールの管理」を参照してください。
デプロイ
問題: デプロイ中にアプリケーションが使用不可になります
Elastic Beanstalk はドロップインアップグレードプロセスを使用するため、数秒間のダウンタイムが生じることがあります。ローリングデプロイを使用して、運用環境におけるデプロイの影響を最小化します。
イベント: Elastic Beanstalk AWS アプリケーションバージョンの作成に失敗しました
アプリケーションソースバンドルが大きすぎるか、アプリケーションバージョンクォータに達した可能性があります。
イベント: 環境更新オペレーションは完了しましたが、コマンドがタイムアウトしました。タイムアウト期間を長くしてみてください。
インスタンス上でコマンドを実行する、大きなファイルをダウンロードする、あるいはパッケージをインストールするために設定ファイルを使用すると、アプリケーションのデプロイに時間がかかる場合があります。コマンドタイムアウトを増やして、デプロイ中にアプリケーションが実行開始できる時間を多くしてください。
健康
イベント: CPU 使用率が 95.00% を超える
実行するインスタンスを増やすか、別のインスタンスタイプを選択してください。
イベント: Elastic Load Balancer awseb-myapp
に正常なインスタンスがない
アプリケーションが機能しているようであれば、アプリケーションのヘルスチェック URL が正しく設定されていることを確認します。そうでなければ、[Health] 画面および環境ログで詳細を確認します。
イベント: Elastic Load Balancer awseb-myapp
が見つかりません
環境のロードバランサーが帯域外に削除された可能性があります。環境のリソースに対する変更は、Elastic Beanstalk によって提供される設定オプションおよび拡張可能性のみにしてください。環境を再構築するか、新しいインスタンスを起動してください。
イベント: EC2 インスタンス起動エラー。新しい EC2 インスタンスの起動の待機中...
環境のインスタンスタイプの可用性が低いか、アカウントのインスタンスクォータに達した可能性があります。サービスヘルスダッシュボード
設定
イベント: 環境
に関連付けられたスタックstack_id
が environment-ID
状態ですstack-status
環境の基盤となる AWS CloudFormation スタックは *_FAILED ステータスである可能性があります。環境で Elastic Beanstalk オペレーションを続行するには、このステータスを修正する必要があります。詳細については、「Elastic Beanstalk 環境を無効な状態から復旧する」を参照してください。
イベント: Elastic Load Balancing Target オプションおよび Application Healthcheck URL オプションの値を使用して、Elastic Beanstalk 環境を設定することはできません。
Target
名前空間の aws:elb:healthcheck
オプションは廃止されました。Target
オプション名前空間を環境から削除してもう一度更新してください。
イベント: ELB を同じ AZ 内の複数のサブネットにアタッチすることはできません
このメッセージは、同じアベイラビリティーゾーン内のサブネット間でロードバランサーを移動しようとすると表示される場合があります。ロードバランサーのサブネットを変更するには、元のアベイラビリティーゾーンの外に移動してから、必要なサブネットを用意した元のアベイラビリティーゾーンに戻す必要があります。この処理中は、すべてのインスタンスは AZ 間で移行されるため、長時間のダウンタイムが発生します。代わりに、新しい環境を作成して CNAME のスワップを実行することを検討してください。
Docker コンテナのトラブルシューティング
イベント: Docker イメージを取得できませんでした :latest: 無効なリポジトリ名です ()。[a-z0-9-_.] のみが許可されています。詳細については、ログを追跡します。
JSON 検証ツールを使用して dockerrun.aws.json
ファイルの構文をチェックします。また、「Elastic Beanstalk へのデプロイ用に Docker イメージを準備する」で説明されている要件を参照して dockerfile の内容を確認します。
イベント: Dockerfile に EXPOSE ディレクティブが見つかりません。デプロイを中止します
Dockerfile
または dockerrun.aws.json
ファイルでコンテナポートが宣言されていません。EXPOSE
インストラクション (Dockerfile
) または Ports
ブロック (dockerrun.aws.json
ファイル) を使用して、受信トラフィックに対してポートを開きます。
イベント: バケット名
から認証資格情報リポジトリ
をダウンロードできませんでした
dockerrun.aws.json
ファイルは .dockercfg
ファイルに無効な EC2 キーペアや S3 バケットを指定します。または、インスタンスプロファイルに S3 バケットの GetObject の権限がありません。.dockercfg
ファイルに有効な S3 バケットと EC2 キーペアが含まれていることを確認します。インスタンスプロファイル内の IAM ロールに s3:GetObject
操作を許可します。詳細については、Elastic Beanstalk インスタンスプロファイルの管理 を参照してください
イベント: 以下の理由により、アクティビティの実行に失敗しました。警告: 認証設定ファイルが無効です
認証ファイル(config.json
)が正しくフォーマットされていません。「Elastic Beanstalk でのプライベートリポジトリからのイメージの使用」を参照してください。
よくある質問
質問:アプリケーション URL を、myapp.us-west-2.elasticbeanstalk.com から www.myapp.com に変更したい。
DNS サーバーで、www.mydomain.com CNAME
mydomain.elasticbeanstalk.com
などの CNAME レコードを登録します。
質問: Elastic Beanstalk アプリケーションに特定のアベイラビリティーゾーンを指定できない。
API、CLI、Eclipse プラグイン、または Visual Studio プラグインを使用すると、特定のアベイラビリティーゾーンを指定できます。Elastic Beanstalk コンソールを使用してアベイラビリティーゾーンを指定する方法については、「Elastic Beanstalk 環境インスタンスの Auto Scaling 」を参照してください。
質問: 環境のインスタンスタイプを変更したい
環境のインスタンスタイプを変更するには、[環境設定] ページに移動し、[インスタンス] 設定カテゴリにある [編集] をクリックします。新しいインスタンスタイプを選択し、[適用] をクリックして環境を更新します。その後、実行中のすべてのインスタンスが Elastic Beanstalk により終了され、新しいインスタンスに置き換えられます。
質問: いずれかのユーザーが環境設定を変更したかどうかを知るにはどうすればよいですか?
この情報を表示するには、Elastic Beanstalk コンソールのナビゲーションペインで [変更履歴] をクリックして、すべての環境の設定変更のリストを表示します。このリストから、変更の日時、設定されたパラメータと変更後の値、その変更を行った IAM ユーザーが確認できます。詳細については、「変更履歴」を参照してください。
質問: インスタンスの終了時に Amazon EBS ボリュームが削除されないようにしたい。
環境内のインスタンスは Amazon EBS を使用して保管されますが、Auto Scaling によってインスタンスが終了されると、ルートボリュームが削除されます。ご自身のインスタンス上に、状態やその他のデータを保存することは推奨されません。必要に応じて、「 AWS CLI リファレンス」で説明されている$ aws ec2 modify-instance-attribute -b '/dev/sdc=<vol-id>:false
ように、 AWS CLIを使用してボリュームが削除されないようにできます。
質問: Elastic Beanstalk アプリケーションから個人情報を削除したい。
AWS Elastic Beanstalk アプリケーションが使用する リソースには、個人情報が保存される場合があります。環境を終了すると、Elastic Beanstalk で作成されたリソースが終了されます。設定ファイルを使用して、追加したリソースも終了します。ただし、Elastic Beanstalk 環境の外部で AWS リソースを作成し、アプリケーションに関連付ける場合は、アプリケーションが保存した可能性のある個人情報が保持されないように手動で確認する必要がある場合があります。このデベロッパーガイドを通して追加リソースの作成について取り扱う際は、それらの削除を検討する必要がある場合についても必ず言及しています。