インプレースデプロイ失敗時の正常なEC2保護に必要な権限について

2023.11.08

困っていた内容

インプレースデプロイ失敗が発生しました、Full権限を持っている担当者から引き継ぎを行う際に、以下の作業を実施する権限について教えてください。

  • AutoScalingグループを開く。
  • インスタンス管理を開き、インスタンスのステータスを確認する。
  • ステータスがヘルシーの場合、アクションから『スケールイン保護を設定する』を選択する。
  • スケールイン保護の設定を変更する。正常に動作するインスタンスが終了しないようになる
  • CodeDeployのデプロイ履歴、デプロイの詳細、イベントについても確認できるようにしたい。

対処法

以下のドキュメントをご確認の上、それぞれの権限を付与することでご要件を満たせるかお試しいください。 Amazon EC2 のアクション、リソース、および条件キー - サービス認可リファレンス

  • Auto Scaling グループの設定を表示するためには、Auto Scaling グループの詳細情報にアクセスする必要があります、その際は autoscaling:DescribeAutoScalingGroups の権限が必要でごす。
  • インスタンスのステータスを取得するためには、EC2 インスタンスの詳細情報にアクセスする必要があります、ec2:DescribeInstances の権限が必要です。
  • スケールイン保護を設定するためには、Auto Scaling グループの設定を変更する必要があり、autoscaling:UpdateAutoScalingGroup の権限が必要です。
  • スケールイン保護の設定変更には autoscaling:SetInstanceProtection の権限が必要です。

以下の権限を引き継ぎを受ける人の IAM ロールに追加すると、必要なタスクを実行できるようになります。
ご要件に応じてご検討ください。
AWS CodeDeploy のアクション、リソース、および条件キー - サービス認可リファレンス

  • CodeDeploy アプリケーションとデプロイグループの情報にアクセス codedeploy:GetApplication、codedeploy:GetDeploymentGroup、codedeploy:GetDeployment の権限が必要です。
  • デプロイイベントの情報を取得する codedeploy:GetDeploymentInstance の権限が必要です。

参考資料

Actions, resources, and condition keys for Amazon EC2 Auto Scaling - Service Authorization Reference