[AWS Copilot CLI] 環境作成時に作られたロールに対し、デプロイ用のロールを信頼ポリシーに追加する方法

はじめに

新卒2年目の岡崎です。今回は、AWS Copilot CLIで環境作成時に作られたロールに対し、デプロイ用のロールを信頼ポリシーに追加する方法を紹介します。

問題点

Github ActionsでAWS上のサービスにデプロイする時、Github Actionsのデプロイ用のロールを使っています。この時、AWS Copilot CLIでの環境作成時に作られたロールに対し、Github Actionsのデプロイ用のロールを信頼ポリシーに追加しければ、デプロイできませんでした。

よって、この問題を解決し、無事にGithub Actionsでデプロイすることを今回の目的とします。

解決策

今回は環境作成時に作られたロールに変更を加えたいので、まずは以下のコマンドを打ちます。

copilot env override --tool yamlpatch

これにより、~/copilot/enviroments配下に、以下のようなファイルが自動で作成されます。

YAMLパッチでは、addreplacedeleteを指定できます。今回は、ロールに信頼関係の追加をしたかったので、以下のような実装をしました。

- 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パッチでできるので、今後も適宜使っていこうと思います。

また、エキサイトではフロントエンジニア、バックエンドエンジニア、アプリエンジニアを随時募集しております。長期インターンも歓迎していますので、興味があれば連絡いただければと思います。

募集職種一覧はこちらになります。

www.wantedly.com