Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
AWS OpsWorks Stacks インスタンスが起動せず、「start_failed」状態に留まっている理由を知りたいです。
AWS OpsWorks Stacks が管理する Amazon Elastic Compute Cloud (Amazon EC2) インスタンスに、「start_failed」状態に留まっているものがあります。OpsWorks Stacks インスタンスが「online」状態にならない原因を把握し、この問題をトラブルシューティングする方法を教えてください。
簡単な説明
OpsWorks Stacks インスタンスは、いくつかの原因により start_failed 状態になり、ライフサイクルイベントの設定時に起動しなくなります。ただし、この問題は通常、ネットワークの問題が原因です。
この問題をトラブルシューティングするには、まず EC2 インスタンスが OpsWorks Stacks サービスに接続できるかどうかを確認します。接続できていない場合は、この記事の「EC2 インスタンスが OpsWorks Stacks サービスに接続できない場合」セクションを参照してください。接続できている場合は、この記事の「EC2 インスタンスが OpsWorks Stacks サービスに接続できる場合」セクションを参照してください。
注: setup_failed 状態に留まっているインスタンスについては、「AWS OpsWorks Stacks インスタンスが起動せず、"setup_failed" 状態に留まっている理由を知りたいです」を参照してください。
解決策
EC2 インスタンスが OpsWorks スタックサービスに接続できるかどうかを確認する
2.Linux コマンドラインインターフェイス (CLI) で次の netcat (nc) コマンドを実行し、インスタンスに関連付けられた OpsWorks エンドポイントにテストリクエストを送信します。
重要: opsworks.us-east-1.amazonaws.com は、使用している OpsWorks Stacks のエンドポイントに置き換えます。
nc -vz opsworks.us-east-1.amazonaws.com 443
EC2 インスタンスが OpsWorks Stacks サービスに接続できる場合、次のようなコマンド出力が表示されます。
Ncat: Connected to <ipaddress>
注: netcat が EC2 インスタンスにインストールされていない場合は、次のコマンドを実行して netcat パッケージをインスタンスに手動でインストールします。
sudo yum install -y nc
EC2 インスタンスが OpsWorks スタックサービスに接続できない場合
- インスタンスがインターネットゲートウェイ、ネットワークアドレス変換 (NAT) ゲートウェイ、NAT インスタンス、または VPC エンドポイント経由でインターネットにアクセスできることを確認します。
- インスタンス、セキュリティグループ、ネットワークアクセスコントロールリスト (ネットワーク ACL) レベルで、ポート 443 経由のインバウンド HTTPS アクセスが許可されていることを確認します。
- レイヤーのネットワーク設定を参照し、[パブリック IP アドレス] と [Elastic IP アドレス] の設定が [Yes] に設定されていることを確認します。
NAT ゲートウェイが EC2 インスタンスにインターネットアクセスを提供している場合
「EC2 インスタンスが NAT ゲートウェイを使用してインターネットにアクセスできない理由を知りたいです」の手順に従ってください。
インターネットゲートウェイが EC2 インスタンスにインターネットアクセスを提供している場合
「EC2 インスタンスがインターネットゲートウェイを使用してインターネットに接続できない理由を知りたいです」の手順に従ってください。
NAT インスタンスが EC2 インスタンスにインターネットアクセスを提供している場合
EC2 コンソールを開き、次のことを確認します。
- NAT インスタンスは running 状態である。
注: NAT インスタンスが running 状態でない場合は、状態を** running** に変更します。 - NAT インスタンスはヘルスチェックに合格している。
注: NAT インスタンスがヘルスチェックに合格していない場合は、次の手順を実行します。 新しい NAT インスタンスを作成します。次に、NAT インスタンスのルートテーブルで新しい NAT インスタンスを EC2 インスタンスに関連付けます。 - EC2 インスタンスは、デフォルトの Amazon 仮想プライベートクラウド (Amazon VPC) にあります。
注: OpsWorks Stacks が管理する EC2 インスタンスは、デフォルトの Amazon VPC の外部で起動された場合、常に start_failed 状態になります。
詳細については、「ステータスチェックを確認する」を参照してください。
** VPC エンドポイントが EC2 インスタンスにインターネットアクセスを提供している場合**
- 次の手順を実行し、正しい VPC エンドポイントを設定しており、使用している Amazon VPC 内でアクセスできることを確認します。
Amazon VPC コンソールを開きます。
ナビゲーションペインの **[Virtual Private Cloud]**で [エンドポイント] を選択します。
次に、EC2 インスタンスに関連付けた VPC エンドポイントを正しく設定しており、アクセス可能であることを確認します。 - VPC エンドポイントが Amazon Simple Storage Service (Amazon S3) が必要とするアクションを完了できることを確認します。
EC2 インスタンスが OpsWorks スタックサービスに接続できる場合
EC2 インスタンスの IAM アクセス許可を確認する
インスタンスプロファイル用の AWS Identity and Access Management (IAM) ロールが存在し、必要なアクセス許可がすべて含まれていることを確認します。
インスタンスプロファイル用の IAM ロールがない場合は、次の手順を実行します。
1.インスタンスを停止します。
2.次の手順を実行し、インスタンスプロファイルのロールを EC2 インスタンスからデタッチします。
EC2 コンソールで [インスタンス] を選択します。次に、該当する EC2 インスタンスを選択します。
[アクション] タブを選択し、[セキュリティ]、[IAM ロールを変更] の順に選択します。
[IAM ロールなし] を選択します。次に、[保存] を選択します。
3.既存の EC2 インスタンスを使用してインスタンスプロファイルを置き換えます。
または、
OpsWorks Stacks 内の EC2 インスタンスを置き換えます。
注: OpsWorks Stacks 内の EC2 インスタンスを置き換える方法については、「レイヤーにインスタンスを追加する」を参照してください。
Amazon Elastic Block Store (Amazon EBS) ベースの EC2 インスタンスでルートデバイスのボリュームに空きがあることを確認する
手順については、「Linux 用ディスクの空き容量を確認する」または「Windows 用ディスクの空き容量を確認する」を参照してください。
EC2 インスタンスが IMDSv1 を使用していることを確認する
インスタンスが使用するメタデータサービスを確認し、必要に応じてインスタンスを再構成する方法については、「インスタンスのメタデータオプションを設定する」を参照してください。
注: OpsWorks Stacks は Instance Metadata Service バージョン 1 (IMDSv1) のみをサポートし、IMDSv2 はサポートしません。
カスタム AMI ベースの EC2 インスタンスにおいて、AMI が正しく設定されていることを確認する
詳細については、「AWS OpsWorks Stacks インスタンスからカスタム Linux Amazon マシンイメージ (AMI) を作成する」を参照してください。
EC2 インスタンスにインストールされている OpsWorks Stacks エージェントが実行中であることを確認する
2.Linux CLI で次のコマンドを実行し、EC2 インスタンスにインストールされている OpsWorks Stacks エージェントが実行中であることを確認します。
sudo service opsworks-agent status
OpsWorks Stacks エージェントが実行中の場合、次のようなコマンド出力が表示されます。
Active: active (running)
OpsWorks Stacks エージェントが実行中ではない場合、次のようなコマンド出力が表示されます。
Active: inactive (dead)
OpsWorks Stacks エージェントが実行中ではない場合は、次のコマンドを実行してエージェントを起動します。
sudo service opsworks-agent start
EC2 インスタンスの CloudTrail ログに「Client.UnauthorizedOperation」エラーがないか確認する
AWS CloudTrail に記録されている OpsWorks Stacks インスタンスの API コールをレビューします。EC2 の RunInstances イベントに、エラーメッセージ Client.UnauthorizedOperation を返したものがないか確認します。
インスタンスの CloudTrail にこのエラーメッセージが表示されている場合は、次の記事を参照してください。 AWS Backup を使用して Amazon EC2 インスタンスの復元を試みると、エンコードされた認可エラーメッセージが発生するため、トラブルシューティング方法を教えてください
EC2 インスタンスが複数のレイヤーに割り当てられている場合、各レイヤーのネットワーク設定が同じであることを確認する
詳細については、「レイヤーにインスタンスを追加する」を参照してください。
- 言語
- 日本語
