
背景
AWS BatchをGithubActionsでデプロイするために、ジョブ定義ファイルを取得しようとしました。マネジメントコンソールでは取得できないようでした…
aws cliを用いて取得するしかないと思ったのですが、AWS Batchの設定を行ったのは、スイッチロール先のAWSアカウントです。
スイッチロールしたIAMでジョブ定義ファイルを取得するための設定メモを記載します。
configファイルの編集
スイッチロール先のAWSアカウントのprofileの設定を~/.aws/configファイルに行います。
1 | [profile switch-role-to] |
他の設定と異なるところはsource_profileとrole_arnの設定です。
source_profileには、スイッチロール元のprofile名を設定します。role_arnにはスイッチロール先のロールを指定します。
アクセスを試す
それではアクセスできるかどうか試してみましょう。
1 | $ aws batch describe-job-definitions --profile switch-role-to |
ん〜エラーになってしまいました。ググってみるとMFAの設定をしているとこのメッセージが表示されるようです。
MFA対応
MFAに対応するために、~/.aws/configに以下の内容を追記しましょう。
1 | mfa_serial = arn:aws:iam::スイッチロール元アカウントID:mfa/スイッチロール元IAMユーザー名 |
再度試してみます。
1 | $ aws batch describe-job-definitions --profile switch-role-to |
MFAのコードを聞かれているので、入力します。するとジョブ定義ファイルが正常に表示されました。この設定の仕方だと、すべてのジョブ定義ファイルが全てのリビジョンにおいて出力されます。
1 | $ aws batch describe-job-definitions --profile switch-role-to |
無事取得することができました!
まとめ
スイッチロール先のAWSアカウントにAWS CLIでアクセスする方法をまとめました。
次回は取得したジョブ定義ファイルを使ってデプロイを試したいと思います。