Amazon EC2 Auto Scaling をトラブルシューティングする: 起動テンプレート - Amazon EC2 Auto Scaling

Amazon EC2 Auto Scaling をトラブルシューティングする: 起動テンプレート

次の情報を使用して、Auto Scaling グループの起動テンプレートを指定しようとする際に発生する可能性のある一般的な問題を診断して修正します。

インスタンスを起動できない

すでに指定された起動テンプレートを使用してインスタンスを起動できない場合は、一般的なトラブルシューティングについて以下を確認してください: Amazon EC2 Auto Scaling をトラブルシューティングする: EC2 インスタンス起動の失敗

完全な形式の有効な起動テンプレートを使用する必要があります (無効な値)

問題: Auto Scaling グループの起動テンプレートを指定しようとすると、You must use a valid fully-formed launch template というエラーが表示されます。起動テンプレートの値は、起動テンプレートを使用している Auto Scaling グループが作成または更新された場合にのみ検証されるため、このエラーが発生する可能性があります

原因 1: You must use a valid fully-formed launch template エラーが発生した場合、Amazon EC2 Auto Scaling が起動テンプレートを無効と見なす原因となる問題が存在します。これは一般的なエラーで、いくつかの原因が考えられます。

解決策 1: 次のステップを実行して、トラブルシューティングを行います。

  1. エラーメッセージの 2 つ目の部分に注目して、詳細を確認してください。You must use a valid fully-formed launch template のエラーに続いて、対処する必要のある問題を特定する、より具体的なエラーメッセージを参照してください。

  2. 原因が見つからない場合は、RunInstances コマンドを使用して起動テンプレートをテストします。次の例のように、--dry-run オプションを使用します。これにより問題を再現し、その原因に関するインサイトを提供します。

    aws ec2 run-instances --launch-template LaunchTemplateName=my-template,Version='1' --dry-run
  3. 値が有効でない場合は、指定された適切なリソースが存在することを確認してください。例えば、Amazon EC2 キーペアを指定する場合、リソースはアカウント内および Auto Scaling グループを作成/更新しているリージョンに存在している必要があります。

  4. 期待した情報がない場合は、設定を確認し、必要に応じて起動テンプレートを調整します。

  5. 変更を加えたら、起動テンプレートが有効な値を使用していることを検証する --dry-run オプションを使用して、RunInstances コマンドを再実行します。

詳細については、「Auto Scaling グループの起動テンプレートを作成する」を参照してください。

起動テンプレートを使用する権限がない (IAM アクセス許可の不足)

問題: Auto Scaling グループの起動テンプレートを指定しようとすると、You are not authorized to use launch template というエラーが表示されます。

原因 1: 起動テンプレートを使用しようとした際、それに十分なアクセス許可をIAM 認証情報が持っていない場合に、その起動テンプレートを使用する権限がないという旨のエラーが表示されます。

解決策 1: リクエストの作成に使用している IAM ユーザーに、必要な EC2 API アクション (ec2:RunInstances など) を呼び出すためのアクセス許可が付与されていることを確認します。何らかのタグを起動テンプレートで指定している場合は、ec2:CreateTags アクションを使用するためのアクセス許可も必要です。

解決策 2: リクエストを行うために使用している IAM 認証情報に AmazonEC2FullAccess ポリシーが割り当てられていることを確認します。この AWS マネージド型ポリシーは、Amazon EC2 Auto Scaling、CloudWatch、Elastic Load Balancing など、すべての Amazon EC2 リソースと、その関連サービスへの完全なアクセスを付与します。

原因 2: 使用する起動テンプレートでインスタンスプロファイルを指定している場合は、そのインスタンスプロファイルに関連付けられた IAM ロールを渡すために、IAM のアクセス許可が必要です。

解決策 3: リクエストの作成に使用している IAM ユーザーに、指定されたロールを Amazon EC2 Auto Scaling サービスに渡すための適切なアクセス許可が付与されていることを確認します。詳細については、「Amazon EC2 インスタンスで実行中のアプリケーション用の IAM ロール」を参照してください。インスタンスプロファイルのトラブルシューティングに関連する他のトピックについては、「IAM ユーザーガイド」の「IAM および Amazon EC2 のトラブルシューティング」を参照してください。

起動テンプレートの IAM アクセス許可を設定する方法の詳細については、「起動テンプレートのサポート」を参照してください。