はじめに
検証目的で、AWS のマルチアカウント構成を試した際に、Gmail のエイリアスを活用することで効率的に構築を進められたお話について書いていきます。
マルチアカウント構成とは
一つの AWS アカウントにリソースを集約せず、AWS Organizations を用いて複数のAWSアカウントを一元管理し、セキュリティ境界や責任範囲、用途に応じてアカウントを分離して管理、運用する設計手法のことを指します。
今回、私は以下のような形で環境別(stg, prd)にアカウントを分離しました。
課題
前提として、複数の AWS アカウントを作成するには、AWS アカウントの数だけアカウント所有者の E メールアドレスが必要になります。
先ほどの構成だと、追加で3つの異なるメールアドレスが必要になります。(管理者アカウントは作成済み)一個人で複数個のメールアドレスを作成、管理するのは、面倒なため適切ではありません。
方策
Gmail のエイリアス機能を利用することで、AWS 上では異なる複数のメールアドレスとして設定しながら、メールの受信を一つのメールアドレスに集約することが可能です。
例えば、以下のように設定します。
- root:
atsuhiro.sakai@gmail.com - identity:
atsuhiro.sakai+identity@gmail.com - stg:
atsuhiro.sakai+stg@gmail.com - prd:
atsuhiro.sakai+prd@gmail.com
上記のような形で、メールを受信するメールアドレスはatsuhiro.sakai@gmail.comですが、@の前に+{任意の文字列}と付与することで AWS 上では異なるメールアドレスとして認識されます。
添付画像の通り、AWS 上で問題なく Gmail エイリアスが登録できていることが分かります。
Tips
マルチアカウント構成を構築後、IAM Identity Center を用いて SSO を設定し、IAM Identity Center で作成したユーザーに対して AWS アカウントごとに Permission Set を割り当てることで、複数アカウント間の切り替えを可能にしました。
その際に、AWS におけるアカウントの概念の理解が重要と感じたため、メモ書きとして残しておきます。
以下のように、AWS における「アカウント」は一般的な「アカウント」の意味とは異なるようでした。
- 一般的な「アカウント」の意味
アカウント = ユーザー
- AWS における「アカウント」の意味
アカウント = ワークスペース
- 補足
- AWS におけるユーザー(人)は、以下のような語句で表現されていることを散見します
- ルートユーザー
- Identity Centerユーザー
- IAMユーザー
- AWS におけるユーザー(人)は、以下のような語句で表現されていることを散見します
そのため、AWS のドキュメントを読む際などはアカウント追加=ワークスペース追加として理解しておくと良さそうです。
おわりに
Gmail のエイリアス機能は、今回の AWS のケースだけでなく、一個人が複数の異なるメールアドレスが必要な場面において有用だと感じました。
また、AWS における「アカウント」の意味が、一般的な「アカウント」と異なることに戸惑いました。今後は AWS や Google Cloud などクラウドベンダーごとの用語の意味の違いにも注意していきたいです。
どなたかの参考になれば、幸いです。

