【GitLab】GitLab CIでAWS CLI の名前付きプロファイルを用いる方法

ローカル環境で、AWS CLIの名前付きプロファイルを用いる際に生成されるファイルには、「config」ファイルと「credentials」ファイルがあります。

GitLab CIの Settings > CI/CD > Variables から上記のファイルに相当するファイルを用意します。

~/.aws/config ファイルに相当するファイルの作成

キー(Key)には「AWS_CONFIG_FILE」と入力します。

バリュー(Value)には下の画像のように、プロファイル名(profile name)とサーバーの地域(region)、outputなどを設定しておきます。
ここは、ローカル上の ~/.aws/config ファイルを参考にしてみてもいいと思います。

タイプ(Type)は「File」を選びます。

~/.aws/credentials ファイルに相当するファイルの作成

キー(Key)には「AWS_SHARED_CREDENTIALS_FILE」と入力します。

バリュー(Value)には下の画像のように、プロファイル名(profile name)とAWS CLI用のアクセスキー(aws_access_key_id)、シークレットアクセスキー(aws_secret_access_key)を設定します。
ここも同様に、ローカル上の ~/.aws/credentials ファイルを参考にしてみてもいいと思います。

タイプ(Type)は「File」を選びます。

以上で設定は完了となります。

後書き

あとは、ローカル上でAWSのプロファイルを選択するときのように、GitLab-ci.yml上のコマンドラインで、以下のように使うことが可能です。

export AWS_PROFILE=<profilename>

ちなみに、名前付きプロファイルを用いない方法については、GitLabの公式ドキュメントに記載があります。

参考資料