はじめに
新卒2年目の岡崎です。今回は、AWS Copilot CLIで環境作成時に作られたロールに対し、デプロイ用のロールを信頼ポリシーに追加する方法を紹介します。
問題点
Github ActionsでAWS上のサービスにデプロイする時、Github Actionsのデプロイ用のロールを使っています。この時、AWS Copilot CLIでの環境作成時に作られたロールに対し、Github Actionsのデプロイ用のロールを信頼ポリシーに追加しければ、デプロイできませんでした。
よって、この問題を解決し、無事にGithub Actionsでデプロイすることを今回の目的とします。
解決策
今回は環境作成時に作られたロールに変更を加えたいので、まずは以下のコマンドを打ちます。
copilot env override --tool yamlpatch
これにより、~/copilot/enviroments
配下に、以下のようなファイルが自動で作成されます。
YAMLパッチでは、add
、replace
、delete
を指定できます。今回は、ロールに信頼関係の追加をしたかったので、以下のような実装をしました。
- op: add path: 作成時に作られたロール value: Effect: Allow Principal: AWS: "デプロイ用のロール" Action: 必要な権限
補足
以下のコマンドで、AWS Copilot CLIによって反映したCloudFormationの実装内容を確認することができます。
copilot env package --name 環境名
差分のみを確認する場合は、—diff
をつけます。
copilot env package --name 環境名 --diff
ここまで実装し、環境の再デプロイをします。環境作成時に作られたロールに対し、Github Actionsで使用するロールの信頼関係が追加できていれば、実装完了です。
最後にGithub Actionsでデプロイできれば、問題解決です。
最後に
環境作成時に作られたロールに対し、デプロイ用のロールを信頼ポリシーに追加する方法を紹介しました。AWS Copilot CLIでは細かな変更をYAMLパッチでできるので、今後も適宜使っていこうと思います。
また、エキサイトではフロントエンジニア、バックエンドエンジニア、アプリエンジニアを随時募集しております。長期インターンも歓迎していますので、興味があれば連絡いただければと思います。
募集職種一覧はこちらになります。