LoginSignup
158
168

More than 5 years have passed since last update.

AWS導入前に知っておきたかった「AWSアカウント設計」

Last updated at Posted at 2019-03-26

1.はじめに

みなさんAWSのアカウント設計はどのようにしていますか?

AWSを使ってシステムをセキュアに開発・運用していくためには、
AWSアカウント(*)の設計が重要になりますよね。

AWSアカウント1つのみで運用されてる方は、誤操作や、
誰にどの権限を与えるかのポリシー設計等で困る方もいらっしゃるのではないでしょうか。
(私もその一人です。)

本内容は、『Amazon Web Services 業務システム設計・移行ガイド』にも載っているので、
悩んでる場合は、購入をおすすめします!(こちらの書籍と実体験を元に書いてます。)
今回はAWSアカウント設計について、パターン別にメリット・デメリットを書いていこうと思います!

(*)AWSアカウントとは、AWSを使用するためのマスターアカウントのことを指しています。
※IAMユーザーとは別物です!

2.AWSアカウント設計パターン紹介

本章では、アカウントの設計パターンを3つに分けてメリット・デメリットを書いていきます。
①アカウントを分割しないパターン
②環境ごとにアカウント分割パターン
③システム、環境ごとにアカウント分割パターン

※.ECサイトと分析基盤のシステムがあり、環境は本番/検証/開発環境があるとして書いていきます。

2-1.アカウントを分割しないパターン

こちらは、以下の図2.1 のように、AWSアカウントを分割せず、
VPCごとに環境を分割するパターンです。

unnamed-2.png
図2.1 アカウントを分割しないパターン

◯メリット

・3パターンのうちコストが一番安価
 →NATゲートウェイや Direcr Connect 、AWSサポートを一つにまとめることができる

△デメリット

・IAMポリシーが複雑になる
 →コードを書くのも、管理するのも手間がかかります。
・3パターンのうち誤操作をする確率が最も高い

2-2.環境ごとにアカウント分割パターン

こちらは、以下の図3.2 のように、環境ごとでAWSアカウントを分けるパターンです。

unnamed.png
図2.2 環境ごとにアカウント分割パターン

◯メリット

・環境ごとのコスト管理が容易になる
・マネジメントコンソール上に別環境のリソースが表示されなくなる
 →同環境のリソースは表示されますが、別環境に対する誤操作のリスクがなくなります。

△デメリット

・リソースの数が増え、アカウントを分割しないパターンよりコストが高くなる
 →NATゲートウェイ等のリソースが3環境分必要となり、コストが高くなります。
  また、ハイブリッド(オンプレ+クラウド)環境の場合、Direct Connectのコストも3環境分必要となります。
・AWSサポート料金がアカウントを分割しないパターンより高い
 →3環境分契約することになるため、価格は上がる可能性があります。
・アカウントを分割しないパターンより管理に手間がかかる
 →環境ごとにロールの変更が必要となるため、少し手間が増えます。

2-3.システム、環境ごとにアカウント分割パターン

こちらは、以下の図2.3 のように、システムと環境ごとでAWSアカウントを分けるパターンです。
書籍でもこちらをおすすめしていました!

pasted image 0.png
図2.3 システム、環境ごとにアカウント分割パターン

◯メリット

・システムごとのコスト管理が容易になる
・マネジメントコンソール上に自分が管理していないリソースが表示されなくなる
 →誤操作の確率がぐ〜んと下がります。これほんとに嬉しいです!
・IAM ポリシーの管理が楽になる
 →複雑なIAMポリシーを作成する必要がなくなる上に管理工数が下がります!

△デメリット

・リソースの数が増え、コストが高くなる
 →NATゲートウェイ等のリソースが複数必要になることがあります。
  また、ハイブリッド環境の場合、Direct Connectも複数必要です。
・AWSサポートの料金が環境ごとにアカウント分割パターンよりも高い
 →各AWSアカウントごとの契約となるため、価格が上がリます。
・管理に手間がかかる
 →ユーザーの切り替えや、AWSアカウントごとにIAMユーザーを作成する必要があるなど。
  (IAMユーザーであれば、CloudFormationで自動化すれば解決できます。)

3.まとめ

AWSアカウントの分割パターンをメリット・デメリットと共にを3つあげました。
「2-3ではコストが高い」や「2-2よりもう少しセキュアにしたい」等、
場合によって、2-1と2-2の間や、2-2と2-3の間というパターンもあるかもしれません。
コストとリスクを考慮した上で決めていくのが良いと思います!

個人的には、システムを一番セキュアに運用できる
"システム、環境ごとにアカウント分割パターン"がおすすめです。

また、AWSアカウントを増やす場合、AWSアカウント自体を管理するための
「AWS Organizations」というサービスがあります。

こちらの活用もおすすめします。
公式ドキュメントのリンクも貼っておきますので、気になる方はチェックしてください。

◯AWS Organizationsとは
https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_introduction.html

今回はこの辺りで!!
お読みくださりありがとうございました!!

4/8 追記

アカウントを分割しても「Shared VPC」を使用すれば NAT Gateway は共有できるようです!
同一の Organization にいる必要がある等の条件がありますので、以下URLをご参照ください!
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-sharing.html

また、Direct Connectもアカウント間で共有できるようになるそうです!
条件等は以下をご参照ください!
https://aws.amazon.com/jp/about-aws/whats-new/2019/03/announcing-multi-account-support-for-direct-connect-gateway/

158
168
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
158
168