Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

JAWS-UG初心者支部 - 2020-01-29 - マルチアカウント運用のはじめかた

433 views

Published on

AWSマルチアカウント運用のはじめかた

Published in: Technology
  • Be the first to comment

  • Be the first to like this

JAWS-UG初心者支部 - 2020-01-29 - マルチアカウント運用のはじめかた

  1. 1. 2020年1月29日 マルチアカウント運用のはじめかた - JAWS-UG 初心者支部 -
  2. 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. 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人
  4. 4. Classified as Confidential by Japan Digital Design, Inc. 4 マルチアカウント?
  5. 5. Classified as Confidential by Japan Digital Design, Inc. 5 AWSアカウント ⚫ サインアップしたルートユーザーと1:1 ◼ ルートユーザー = 登録時のメールアドレスがID ⚫ 利用したリソースの代金が請求される
  6. 6. Classified as Confidential by Japan Digital Design, Inc. 6 1つの組織(会社)でAWSアカウントを複数使う ⚫ 部署単位で分ける. ⚫ 経費の精算単位で分ける.. ⚫ 開発環境とサービス提供環境を分ける… マルチアカウントとは? 情シス 開発 社内 向け アプリ 本番 開発チ ーム テスト チーム 情シス 運用部 アプリA アプリB 子会社C
  7. 7. Question #1 複数のアカウントを利用していますか? A) 1つ B) 2つ C) 3個-10個 D) 10個以上 Classified as Confidential by Japan Digital Design, Inc. 7
  8. 8. Question #2 複数アカウントはどのように使い分けていますか? A)本番環境と開発環境 B) 部署(チーム/個人)ごと C) 部署ごとに本番と開発環境 D)プロジェクトごと E) 1プロジェクトで複数使い分け Classified as Confidential by Japan Digital Design, Inc. 8
  9. 9. Question #3 AWS Organizationsを利用していますか? Classified as Confidential by Japan Digital Design, Inc. 9
  10. 10. Classified as Confidential by Japan Digital Design, Inc. 10 マルチアカウントのための機能
  11. 11. AWS Organizations ⚫ 会社で利用するAWSアカウントを一括管理する仕組み ◼ 1つのアカウントを組織のルートとして、複数AWSアカウント を子アカウントとして管理できる ◼ 全AWSアカウントの利用料金を一括請求で払える Classified as Confidential by Japan Digital Design, Inc. 11
  12. 12. 一括請求 AWSアカウントの請求を集約できる ⚫ AWS Organizations のルートアカウントから請求される Organizations では一括請求のみも選択できる ⚫ アカウント管理の統合をしない使い方 ◼ 今回は対象外 (統合管理をする仕組みをご紹介) Classified as Confidential by Japan Digital Design, Inc. 12
  13. 13. Classified as Confidential by Japan Digital Design, Inc. 13 OU (Organization Units) によるアカウントの管理 ⚫ AWSアカウントをOUでグループ化して階層管理 ⚫ Service Control Policy によるポリシー管理 ◼ 子アカウントで使える機能を制限できる
  14. 14. Classified as Confidential by Japan Digital Design, Inc. 14 マルチアカウントのはじめかた
  15. 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. 16. Classified as Confidential by Japan Digital Design, Inc. 16 ルートAWSアカウントは強い権限を持つ ⚫ 課金 ⚫ 子アカウントへのスイッチロール権限 ◼ OrganizationAccountAccessRole というIAMロールが 子アカウントにできる 通常利用はしない前提 ⚫ 新しいAWSアカウントを作成して、ルートにするのが良い ⚫ 最小限の管理者IAMユーザーのみで運用 1. ルートAWSアカウントを 決める
  17. 17. Classified as Confidential by Japan Digital Design, Inc. 17 ルートAWSアカウントでOrganizationsを有効化 ⚫ 有効化したAWSアカウントがルートになる 2. AWS Organization 有効化
  18. 18. Classified as Confidential by Japan Digital Design, Inc. 18 既存アカウントをOrganizationsに招待します ⚫ Organizationsに入ると、請求が一括請求になります ◼ 請求書は個別に出すこともできます 3. 既存アカウントの招待
  19. 19. Classified as Confidential by Japan Digital Design, Inc. 19 OUにAWSアカウントを移動する ⚫ アカウントを選択してOUを変更 ◼ 階層構造で管理できる ◼ 最近は、OU単位でポリシーの条件を書けることも 4. OUによる整理
  20. 20. Classified as Confidential by Japan Digital Design, Inc. 20 OrganizationsからAWSアカウントを作成 ⚫ 自動的に子アカウントとして紐づけられて作成される ⚫ ルートアカウントのパスワードは指定できない ◼ 初回にパスワードリカバリを行って設定する 5. アカウントの追加作成
  21. 21. Classified as Confidential by Japan Digital Design, Inc. 21 アカウントの分けかた
  22. 22. Classified as Confidential by Japan Digital Design, Inc. 22 1つのアカウントを共有するデメリット ⚫ 権限の制限が難しくなる ◼ 全員が管理者権限を持っていると間違ってリソースを削除して しまえる ⚫ 現実世界では電源を入れなおせば済むかもしれない ⚫ クラウドの世界では、インスタンスを削除したら、もう復活 できない AWSの世界で使いやすい分けかたを考える ⚫ 会社の組織構造で分けるのはお勧めできない ◼ 会社の組織は良く変わる ◼ 会社の組織はAWSの管理方法と一致しない アカウントを分ける
  23. 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. 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. 25. Classified as Confidential by Japan Digital Design, Inc. 25 組織で使うIAMユーザーを作成 ⚫ ここに登録されているユーザーが組織でAWSを使っているユーザ ーと一致することになる ◼ 入退社に合わせたアカウント管理が楽に ⚫ グループを使って利用できるIAMロール/AWSアカウントを制御 ◼ インフラ管理者グループは、全部のAWSアカウントのロールを 使える ◼ 開発者グループは、開発環境AWSアカウントのロールを使える ◼ 経理担当グループは、ルートAWSアカウントの課金管理ロール を使える ⚫ パスワードリセット、MFA管理、その他もろもろに便利 IAM認証アカウント
  26. 26. Classified as Confidential by Japan Digital Design, Inc. 26 セキュリティ系通知を集約 ⚫ GuardDutyのマスターアカウントにする ⚫ 組織のCloudTrailログをS3に保存する ⚫ AWS Configやその他の管理系通知を集約 AWS運用管理者だけが使うAWSアカウントとする セキュリティアカウント
  27. 27. Classified as Confidential by Japan Digital Design, Inc. 27 検証環境用AWSアカウント ⚫ AWSのサービスを試したり開発する環境 ◼ 開発者ごとにAWSアカウントを用意するケースと、共用のアカ ウントを用意するケースどちらもありうる ◼ 共用アカウントだと、AWSサポートを共有できるメリット 運用環境AWSアカウント ⚫ サービス提供を行っている運用環境 ⚫ 運用に携わるユーザーだけが使える ⚫ サービスごとにAWSアカウントを分けると、特定の運用メンテナ ンス作業による影響を、アカウント内に限定できる ◼ 発展すると、1システムを複数のAWSアカウントで構成する 検証/運用環境
  28. 28. Classified as Confidential by Japan Digital Design, Inc. 28 実際の利用例
  29. 29. Classified as Confidential by Japan Digital Design, Inc. 29 オンラインで完結する中小企業向け融資 ⚫ 紙の書類なしで、中小企業向けの融資ができるように ⚫ 既存顧客の口座取引履歴から与信スコアを付与 2019年6月にリリースしています!
  30. 30. これを作るために… 自動で与信結果を返すモデルを開発しました そのために全情報をAWSで分析しています • 三菱UFJ銀行 3,400万 顧客口座 • 過去 10年分 の取引明細・顧客情報* Classified as Confidential by Japan Digital Design, Inc. 30
  31. 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. 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アカウント
  33. 33. Classified as Confidential by Japan Digital Design, Inc. 33 まとめ
  34. 34. Classified as Confidential by Japan Digital Design, Inc. 34 1つ1つのAWSアカウントをシンプルに使う ⚫ AWSアカウントを作るだけなら無料です ⚫ 利用料金をアカウント単位で管理 ⚫ AWS Control Tower等、マルチアカウント管理向け機能も強化さ れてきている 偶発的な間違いを防止 ⚫ クラウド上での削除はやり直しできない ⚫ そもそも触れる作業範囲をAWSアカウントで分離 明日からマルチアカウントへ ⚫ 1つにまとまったリソースをあとから分離するのは大変 ⚫ 複数のアカウントにあるリソースは、IAMロールの活用で簡単に 使える マルチアカウント運用
  35. 35. Classified as Confidential by Japan Digital Design, Inc. 35 たくさんのAWSアカウントでMFAどうする? ⚫ それぞれルートアカウントIDで設定する ⚫ 物理カード買うの? ◼ ルートアカウントは物理MFAが良い (個人的意見) ⚫ トークン型よりカード型が個人的に好き ⚫ テプラ貼れます ◼ 子アカウントはOTPでもいいかも ⚫ YubiKeyだと複数アカウントに紐づけられる ◼ 会社で使うには物理的に共有できるので便利 (物理的管理 は必要) ◼ ただYubiKey壊れたらMFA全滅リスク… 雑多なもの #1
  36. 36. Classified as Confidential by Japan Digital Design, Inc. 36 AWSサポート契約するの? ⚫ Business Support は1アカウントごとの契約 ◼ 1アカウント 100ドル/月 ⚫ うーん、払えるけどね… ⚫ 検証用と運用環境だけ払う ◼ 検証環境で再現させて、サポートに問い合わせる ◼ 開発環境はサポートなしで頑張る…とか ⚫ EnterpriseだとOrganizations全体を1契約にできる ◼ 15,000ドル/月だってさ 雑多なもの #2
  37. 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
  38. 38. 2020年1月29日 Thank you!

×