どうも!株式会社ShowcaseGigでSREとして働いている @atsusics です
この記事は99%ChatGptに書いてもらっています
AWSをマルチアカウントで運用していると、どのアカウントにログインしているのか一目で分かるようにしたいと思うことが多いです。
特に管理者権限で複数アカウントを行き来する場合、アカウント名が見えると安心感が増します。
今回は、Terraformを使って IAMアカウントエイリアス(Account Alias) を設定し、AWSマネジメントコンソールにアカウント名を表示させる方法を紹介します。
IAMアカウントエイリアスとは
IAMアカウントエイリアスを設定すると、ログインURLやコンソール画面に表示されるアカウント名をわかりやすく変更できます。
-
設定前:
https://123456789012.signin.aws.amazon.com/console
-
設定後:
https://my-account-alias.signin.aws.amazon.com/console
また、AWSコンソールの右上に表示されるアカウント情報にも反映されます。
Terraformでの設定方法
Terraformには aws_iam_account_alias
というリソースがあります。
これを使えば簡単にコードで管理可能です。
resource "aws_iam_account_alias" "this" {
account_alias = "my-account-alias"
}
terraform apply
を実行すれば、対象アカウントにエイリアスが設定されます。
実際の表示例
設定が反映されると、AWSコンソールの右上に以下のように表示されます。
このようにエイリアスでアカウントを識別できるようになります。
マルチアカウントでの管理
Organizationsからは直接エイリアスを設定できないため、基本は 各アカウントごとにTerraformで設定する必要があります。
頑張ればできますが、今回は割愛します
注意点
- 1つのアカウントに設定できるエイリアスは1つだけ
- 既存のaliasがある場合はTerraformで上書きされる、同名の場合はエラーとなる
- OrganizationsやControl Tower経由ではalias設定はできない
まとめ
- IAMアカウントエイリアスを設定するとAWSコンソールにアカウント名が表示される
- Terraformなら
aws_iam_account_alias
リソースでコード管理可能
AWSアカウントを複数運用している方は、ぜひ試してみてください!
参考に貼っているクラメソさんの記事のように色付けもできるようになりました!そちらもぜひ!