前回は、xcode 13が必要ということでインストールしてるところで、intelでも試してみたというところでした。xcode 13をインストールしてcopilot cliを利用できるようになりました。
おそらくここからはM1チップ固有はないと思いますので、copilotの試した内容で記載してきます。
前回と前々回は以下です。
aws copilotをM1で使う② intelでもやってみた
では続きを進めていきます。
まずは、copilot cli実行して環境を作成するためのユーザーをIAMで作成しました。
AWSのドキュメントを見るとカスタムポリシーを作成するときは最小から始めて、必要なものを付与していくってあったので、一回すでにある既存のポリシーをアタッチして実行していたのですが、何もないところから必要なものだけだったらどうなるのか気になり、実行と付与を繰り返し最終的には、copilot app init を実行し copilot app deleteを実行できるところまで出来ました。
結果はこちらになります。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Copilot init1",
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:CreateRole",
"iam:DeleteRole",
"iam:PutRolePolicy",
"iam:DeleteRolePolicy",
"iam:PassRole",
"ssm:GetParameter",
"ssm:GetParametersByPath",
"ssm:PutParameter",
"ssm:DeleteParameter",
"cloudformation:ListStackInstances",
"cloudformation:CreateChangeSet",
"cloudformation:DescribeStacks",
"cloudformation:DeleteStack",
"cloudformation:TagResource",
"cloudformation:DescribeChangeSet",
"cloudformation:ExecuteChangeSet",
"cloudformation:CreateStackSet",
"cloudformation:DeleteStackSet"
],
"Resource": "*"
}
]
}
既存のポリシーで言うと
AWSCloudFormationFullAccess
AmazonSSMFullAccess
AdministratorAccess
をアタッチすればすぐにcopilot init は実行できる感じですね。
エラーはcli実行したときに出るエラーでわかるんですが、わからないものもあります。
そのときはcloudformationのスタックを見てエラーが発生しているものを見て確認していました。そもそもcopilotが何をしているかを知らなく、cloudformationも知らなかったのでかなり触り始めは苦労しました。。
copilot env init/copilot svc initは作成するサービスでまた権限を付与していかなければならないかな。
コメント
コメントを投稿