Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS Control Towerと HashiCorp Terraformでいい感じにマルチアカウント管理をしよう

chadain
June 06, 2024

AWS Control Towerと HashiCorp Terraformでいい感じにマルチアカウント管理をしよう

chadain

June 06, 2024
Tweet

More Decks by chadain

Other Decks in Technology

Transcript

  1. • 名前: ちゃだいん • 所属: AWS事業本部コンサルティング部 • 役割: ソリューションアーキテクト •

    拠点: 大阪 • 好きなサービス: AWS, Terraform • 趣味: 立ち呑みめぐり • X(Twitter): @chazuke4649 • Japan AWS Top Engineers 2022,2023 自己紹介
  2. AWS Control Tower を採用する局面 • 中・大規模なAWS環境 • 本格的にマルチアカウント戦略やっていきたい • セキュリティ・ガバナンスを担保する共通基盤

    設定ミス・オペミスは影響範囲大のリスク... →だから、IaC/GitOpsによって安全・信頼性のあるオペレーションを行いたい
  3. ベストIaCツール for Platformチーム *個人の感想 • 誰が書いても同じような記述になる(HCLの特性) ◦ 属人化リスク低 ◦ 説明・引き継ぎがカンタン

    • インフラ設定の見える化/コード化に最適 ◦ ベタ書きなら、まさに「この通り設定してます」の証明になり一目瞭然(精神衛生上◎) ◦ 抽象的な記述による暗黙的なリソース生成が少ない ▪ モジュールによる再利用化も可能 • 余談: Platformチーム ≒ インフラ/情シス/共通基盤/CCoE チーム
  4. Platformチームが管理するのはAWSだけじゃない • ユーザー/ID基盤(Okta, OneLogin, Azure AD) • DevOps(Kubenetes, GitHub, GitLab)

    • 監視(New Relic, Data Dog, Mackerel) • セキュリティ(Snyk, Dome9) • etc … →全てTerraformで一元的に管理可能
  5. AWS Organizations 管理可能なリソース例 • AWSアカウント aws_organizations_account • OU aws_organizations_organizational_unit •

    ポリシー aws_organizations_policy ◦ SCP, バックアップポリシー , タグポリシー etc
  6. AWS IAM Identity Center 管理可能なリソース例 • SSO Admin ◦ アクセス権限セット

    aws_ssoadmin_permission_set etc • SSO Identity Store ◦ SSOグループ aws_identitystore_group ◦ SSOユーザー aws_identitystore_user
  7. Account Factory for Terraform (AFT) とは? • AWS Control Tower

    を補完/拡張する代表的なカスタマイズソリューション • re:Invent 2021にてv1.0.0がリリース(最新版はv1.12.2) • 実体はAWSサービスの集合体 + Terraform ◦ Terraform Registry で公開されている ✖
  8. AFTの特徴 • AWS Control Tower管理下のAWSアカウント発行をGitOpsに実行できる ◦ しかも複数AWSアカウントを一度にリクエスト可能 ◦ 注意点)AWS OrgnaizationsでAWSアカウントを発行する(素の状態)

    ≠ AWS Control TowerでAWSアカウン トを発行する(ガードレールが効いている状態) • AWSアカウント発行時のベースライン(初期設定)自動化がカンタン ◦ ベースラインをTerraform、あるいは、Python/AWS CLIで設定可能 ◦ 自前実装は開発・メンテが大変 →AWS Control TowerをTerraformなIaCベースで運用することが可能!