2. Japan Digital Design, Inc.
2
小野 雄太郎
VP of Infrastructure,
Technology and Design Division.
Japan Digital Designにてインフラストラクチ
ャの設計運用等をメインに、パブリッククラウ
ドのみで構成されたプラットフォームを実装中
これまでWindows Server, Visual Studio,
IPv6などを中心に、コミュニティ運営など。
ここ最近はAWSメイン
個人事業主で普通のIT屋さんもしています
Twitter: @chamreo
LinkedIn: linkedin.com/in/yutaro
3. Japan Digital Design, Inc.
3
三菱UFJフィナンシ
ャルグループ
持株会社
三菱UFJ銀行
34,000人
…
三菱UFJ信託銀行
7,000人
三菱UFJ証券
ホールディングス
三菱UFJモルガンス
タンレー証券
5,300人
Kabu.com
…
三菱UFJニコス
3,100人
…
Japan Digital
Design
< 100人
11. AWS Organizations ⚫ 会社で利用するAWSアカウントを一括管理する仕組み
◼ 1つのアカウントを組織のルートとして、複数AWSアカウント
を子アカウントとして管理できる
◼ 全AWSアカウントの利用料金を一括請求で払える
Classified as Confidential by Japan Digital Design, Inc.
11
12. 一括請求 AWSアカウントの請求を集約できる
⚫ AWS Organizations のルートアカウントから請求される
Organizations では一括請求のみも選択できる
⚫ アカウント管理の統合をしない使い方
◼ 今回は対象外 (統合管理をする仕組みをご紹介)
Classified as Confidential by Japan Digital Design, Inc.
12
13. Classified as Confidential by Japan Digital Design, Inc.
13
OU (Organization Units) によるアカウントの管理
⚫ AWSアカウントをOUでグループ化して階層管理
⚫ Service Control Policy によるポリシー管理
◼ 子アカウントで使える機能を制限できる
15. Classified as Confidential by Japan Digital Design, Inc.
15
1. ルートになるAWSアカウントを決める
2. AWS Organizationを有効化する
3. 既存のAWSアカウントを子アカウントに招待
4. OUでAWSアカウントを整理
5. 新しいAWSアカウント追加時はルートで行う
AWS Organizationを始める
16. Classified as Confidential by Japan Digital Design, Inc.
16
ルートAWSアカウントは強い権限を持つ
⚫ 課金
⚫ 子アカウントへのスイッチロール権限
◼ OrganizationAccountAccessRole というIAMロールが
子アカウントにできる
通常利用はしない前提
⚫ 新しいAWSアカウントを作成して、ルートにするのが良い
⚫ 最小限の管理者IAMユーザーのみで運用
1.
ルートAWSアカウントを
決める
17. Classified as Confidential by Japan Digital Design, Inc.
17
ルートAWSアカウントでOrganizationsを有効化
⚫ 有効化したAWSアカウントがルートになる
2.
AWS Organization 有効化
18. Classified as Confidential by Japan Digital Design, Inc.
18
既存アカウントをOrganizationsに招待します
⚫ Organizationsに入ると、請求が一括請求になります
◼ 請求書は個別に出すこともできます
3.
既存アカウントの招待
19. Classified as Confidential by Japan Digital Design, Inc.
19
OUにAWSアカウントを移動する
⚫ アカウントを選択してOUを変更
◼ 階層構造で管理できる
◼ 最近は、OU単位でポリシーの条件を書けることも
4.
OUによる整理
20. Classified as Confidential by Japan Digital Design, Inc.
20
OrganizationsからAWSアカウントを作成
⚫ 自動的に子アカウントとして紐づけられて作成される
⚫ ルートアカウントのパスワードは指定できない
◼ 初回にパスワードリカバリを行って設定する
5.
アカウントの追加作成
22. Classified as Confidential by Japan Digital Design, Inc.
22
1つのアカウントを共有するデメリット
⚫ 権限の制限が難しくなる
◼ 全員が管理者権限を持っていると間違ってリソースを削除して
しまえる
⚫ 現実世界では電源を入れなおせば済むかもしれない
⚫ クラウドの世界では、インスタンスを削除したら、もう復活
できない
AWSの世界で使いやすい分けかたを考える
⚫ 会社の組織構造で分けるのはお勧めできない
◼ 会社の組織は良く変わる
◼ 会社の組織はAWSの管理方法と一致しない
アカウントを分ける
23. Classified as Confidential by Japan Digital Design, Inc.
23
あとで困らない始めかた
⚫ 1アカウント 1用途を基本にして考える
◼ ルートAWSアカウント
⚫ Organizations 管理専用 (+ルート必須のサービス利用)
◼ IAMユーザー認証アカウント
⚫ 会社内のユーザーのIAMをまとめて作成する
⚫ 他のアカウントは、このアカウントにサインイン後、ロール切り
替えをして使う
◼ セキュリティ通知用アカウント
⚫ GuardDutyやAWS Configの通知を集約
◼ ルートAWSアカウント以外に集約できるものはここに集約
◼ 検証環境
⚫ 普段使う開発環境
◼ 運用環境
⚫ サービス提供環境
◼ 規模によりシステムごと、複数システム混在も
完全無欠パターンはない
root
Partners
OU
Corporate
OU
Infra OU
ID Security
Service OU
Production
A
Production
B
Dev OU
Dev
用途別AWSアカウント
24. Classified as Confidential by Japan Digital Design, Inc.
24
課金管理
⚫ ルートAWSアカウントに課金管理用IAMロールを作成
◼ ID管理アカウントからAssume Roleできるようにする
CloudTrail
⚫ 組織のCloudTrailという機能が利用可能に
◼ Organizationsにある全AWSアカウントに一括設定可能
◼ 組織CloudTrailを有効化し、セキュリティアカウントに作ったS3バ
ケットに保存
OrganizationAccountAccessRole
⚫ 子アカウントにOrganizationAccountAccessRoleというロールができる
◼ ルートAWSアカウントからAssume Roleできるようになっている
◼ AdministratorAccessポリシーを持っている
⚫ ルートAWSアカウントのユーザーはすべての子アカウントで
Adminになれてしまう
⚫ ルートAWSアカウントを利用するユーザーを限定
ルートAWSアカウント管理
25. Classified as Confidential by Japan Digital Design, Inc.
25
組織で使うIAMユーザーを作成
⚫ ここに登録されているユーザーが組織でAWSを使っているユーザ
ーと一致することになる
◼ 入退社に合わせたアカウント管理が楽に
⚫ グループを使って利用できるIAMロール/AWSアカウントを制御
◼ インフラ管理者グループは、全部のAWSアカウントのロールを
使える
◼ 開発者グループは、開発環境AWSアカウントのロールを使える
◼ 経理担当グループは、ルートAWSアカウントの課金管理ロール
を使える
⚫ パスワードリセット、MFA管理、その他もろもろに便利
IAM認証アカウント
26. Classified as Confidential by Japan Digital Design, Inc.
26
セキュリティ系通知を集約
⚫ GuardDutyのマスターアカウントにする
⚫ 組織のCloudTrailログをS3に保存する
⚫ AWS Configやその他の管理系通知を集約
AWS運用管理者だけが使うAWSアカウントとする
セキュリティアカウント
27. Classified as Confidential by Japan Digital Design, Inc.
27
検証環境用AWSアカウント
⚫ AWSのサービスを試したり開発する環境
◼ 開発者ごとにAWSアカウントを用意するケースと、共用のアカ
ウントを用意するケースどちらもありうる
◼ 共用アカウントだと、AWSサポートを共有できるメリット
運用環境AWSアカウント
⚫ サービス提供を行っている運用環境
⚫ 運用に携わるユーザーだけが使える
⚫ サービスごとにAWSアカウントを分けると、特定の運用メンテナ
ンス作業による影響を、アカウント内に限定できる
◼ 発展すると、1システムを複数のAWSアカウントで構成する
検証/運用環境
29. Classified as Confidential by Japan Digital Design, Inc.
29
オンラインで完結する中小企業向け融資
⚫ 紙の書類なしで、中小企業向けの融資ができるように
⚫ 既存顧客の口座取引履歴から与信スコアを付与
2019年6月にリリースしています!
31. M-AIS Infrastructure
EC2 Analysis Zone
M-AIS Infra Services Zone
Databricks Zone
M-AIS Platform
Classified as Confidential by Japan Digital Design, Inc.
31
Japan Digital DesignData Analysis Area
Data Exchange Zones
ETL ZonesETL Zones
ETL Server Source Bucket
Data Exchange Zones
Master Source
Data Source Area
STS Gateway subnet
Databricks Instances
Spark Clusters
AWS-STS
EC2 Analysis Servers
Databricks
Enterprise
Databricks SaaS
Infrastructure Servers
RODC ADFSWSUS
M-AIS Analysis Room
Corporate Infrastructure
M-AIS Support
Zone
Corporate Infra
Zone
FILE
FILE DC RDS RADIUS
Data Scientists
On-Premise
Office
Analysis UI
32. M-AIS Infrastructure
EC2 Analysis Zone
M-AIS Infra Services Zone
Databricks Zone
M-AIS Platform
Classified as Confidential by Japan Digital Design, Inc.
32
Japan Digital DesignData Analysis Area
Data Exchange Zones
ETL ZonesETL Zones
ETL Server Source Bucket
Data Exchange Zones
Master Source
Data Source Area
STS Gateway subnet
Databricks Instances
Spark Clusters
AWS-STS
EC2 Analysis Servers
Databricks
Enterprise
Databricks SaaS
Infrastructure Servers
RODC ADFSWSUS
M-AIS Analysis Room
Corporate Infrastructure
M-AIS Support Zone Corporate Infra Zone
FILE
FILE DC RDS RADIUS
Data Scientists
On-Premise
Office
Analysis UI
AWSアカウント
34. Classified as Confidential by Japan Digital Design, Inc.
34
1つ1つのAWSアカウントをシンプルに使う
⚫ AWSアカウントを作るだけなら無料です
⚫ 利用料金をアカウント単位で管理
⚫ AWS Control Tower等、マルチアカウント管理向け機能も強化さ
れてきている
偶発的な間違いを防止
⚫ クラウド上での削除はやり直しできない
⚫ そもそも触れる作業範囲をAWSアカウントで分離
明日からマルチアカウントへ
⚫ 1つにまとまったリソースをあとから分離するのは大変
⚫ 複数のアカウントにあるリソースは、IAMロールの活用で簡単に
使える
マルチアカウント運用
35. Classified as Confidential by Japan Digital Design, Inc.
35
たくさんのAWSアカウントでMFAどうする?
⚫ それぞれルートアカウントIDで設定する
⚫ 物理カード買うの?
◼ ルートアカウントは物理MFAが良い (個人的意見)
⚫ トークン型よりカード型が個人的に好き
⚫ テプラ貼れます
◼ 子アカウントはOTPでもいいかも
⚫ YubiKeyだと複数アカウントに紐づけられる
◼ 会社で使うには物理的に共有できるので便利 (物理的管理
は必要)
◼ ただYubiKey壊れたらMFA全滅リスク…
雑多なもの #1
36. Classified as Confidential by Japan Digital Design, Inc.
36
AWSサポート契約するの?
⚫ Business Support は1アカウントごとの契約
◼ 1アカウント 100ドル/月
⚫ うーん、払えるけどね…
⚫ 検証用と運用環境だけ払う
◼ 検証環境で再現させて、サポートに問い合わせる
◼ 開発環境はサポートなしで頑張る…とか
⚫ EnterpriseだとOrganizations全体を1契約にできる
◼ 15,000ドル/月だってさ
雑多なもの #2
37. Classified as Confidential by Japan Digital Design, Inc.
37
AWSアカウント作った後に最初にやること
⚫ 毎回やるの!?
◼ やります…
◼ AWS CLIでバッチ化したり…
IAMロール作ったり、VPC作ったり…
⚫ 子アカウントで同じような作業を繰り返すことが多い
◼ CloudFormationという機能でテンプレートを開発する
◼ みんなが同じようなものを作る…
GitHubでテンプレートを公開しました
⚫ https://github.com/japan-d2/secure-stack-template-aws
⚫ テンプレートをオープンソース化しています
◼ セキュアに開発を始められるテンプレート
⚫ VPC, S3, KMS, etc…
雑多なもの #3