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

Terraform Cloudで始めるおひとりさまOrganizationsのすゝめ

Terraform Cloudで始めるおひとりさまOrganizationsのすゝめ

JAWS-UG東京 ランチタイムLT会 #22での登壇資料になります。
https://jawsug.connpass.com/event/349480/

daiki.handa

April 21, 2025
Tweet

More Decks by daiki.handa

Other Decks in Technology

Transcript

  1. Copyright © 2025 BeeX Inc. All Rights Reserved. Terraform Cloudで始める

    おひとりさまOrganizationsのすゝめ JAWS-UG東京 ランチタイムLT会 #22 2025/4/22 株式会社BeeX 半田 大樹(handy)
  2. Copyright © 2025 BeeX Inc. All Rights Reserved. Copyright ©

    2024 BeeX Inc. All Rights Reserved. 2 自己紹介 JAWS-UG東京 ランチタイムLT会 #22 Name | 半田 大樹(Handa Daiki) Corp | 株式会社BeeX Job | クラウドエンジニア Like | Amazon S3 Hobby | クラウド資格取得、猫のお世話 ×15 ×10 ×10 @handydd18 2024 Japan AWS ALL Certifications Engineer 2023 Japan AWS Top Engineer 2023 Japan AWS ALL Certifications Engineer 2022 APN ALL AWS Certifications Engineer 執筆書籍 →Data
  3. Copyright © 2025 BeeX Inc. All Rights Reserved. 3 •

    本日の発表内容は個人の検証用途前提になります • 基本的に無料の範囲内で構築可能ですが、リソースの作成状況次 第では料金が発生することがあります。 はじめに JAWS-UG東京 ランチタイムLT会 #22
  4. Copyright © 2025 BeeX Inc. All Rights Reserved. 5 AWS

    Organizationsとは? AWS Organizations • AWSアカウント払い出しの自動化 • 複数AWSアカウントの一元管理 • 複数AWSアカウントの一括請求 JAWS-UG東京 ランチタイムLT会 #22
  5. Copyright © 2025 BeeX Inc. All Rights Reserved. 6 AWS

    Organizationsとは? AWS Organizations • AWSアカウント払い出しの自動化 • 複数AWSアカウントの一元管理 • 複数AWSアカウントの一括請求 =企業内のAWSアカウント管理として利用される(ことが多い) JAWS-UG東京 ランチタイムLT会 #22
  6. Copyright © 2025 BeeX Inc. All Rights Reserved. 7 AWS

    Organizationsとは? https://aws.amazon.com/jp/about-aws/whats-new/2024/11/resource-control-policies-restrict-access-aws-resources/ AWS Organizationsの機能を使ってみたくても 会社的制約や環境がないのでできない JAWS-UG東京 ランチタイムLT会 #22
  7. Copyright © 2025 BeeX Inc. All Rights Reserved. 8 AWS

    Organizationsとは? AWS Organizations • AWSアカウント払い出しの自動化 • 複数AWSアカウントの一元管理 • 複数AWSアカウントの一括請求 個人的つらみ 1. AWS Organizationsは会社で一括管理されているため、技術的な検証ができない or しづらい 2. マルチアカウント構成の動作確認をしたい場合、AWSアカウント調達に時間がかかる 3. 何のリソースを作成したかを正確に把握しきれておらず、検証後も微妙なコストがかかっている JAWS-UG東京 ランチタイムLT会 #22
  8. Copyright © 2025 BeeX Inc. All Rights Reserved. 9 そんなときに使えるのが

    “おひとりさまOrganizations” JAWS-UG東京 ランチタイムLT会 #22
  9. Copyright © 2025 BeeX Inc. All Rights Reserved. 10 おひとりさまOrganizationsとは?

    一言で言うと 「AWS Organizationsを個人で利用すること」 JAWS-UG東京 ランチタイムLT会 #22
  10. Copyright © 2025 BeeX Inc. All Rights Reserved. 11 おひとりさまOrganizationsとは?

    一言で言うと 「AWS Organizationsを個人で利用すること」 おひとりさまOrganizationsの何が嬉しいのか 1. AWS Organizationsやそれに関連する機能の検証が社内申請などの手間なく即座に可能 2. 自分しか利用しないため、用途毎のAWSアカウントの作成が可能 3. AWSアカウントが不要になったら、AWSアカウントごと閉鎖が可能(未請求分の支払いは必要) JAWS-UG東京 ランチタイムLT会 #22
  11. Copyright © 2025 BeeX Inc. All Rights Reserved. 12 おひとりさまOrganizationsの利用方法

    おひとりさまOrganizations利用手順 1. AWSアカウント開設(=管理アカウント用) 2. AWS Organizations組織の作成 3. AWSアカウント払い出し用メールアドレスの用意(gmailのエイリアスがお勧め) 4. AWSアカウント作成 5. (必要に応じて) AWS IAM Identity Center(IIC)の有効化 6. (必要に応じて) IICユーザー作成、権限セットの作成・紐付け • AWS アカウント作成の流れ https://aws.amazon.com/jp/register-flow/ • AWS Organizationsで組織を作成する https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_create.html • AWS Organizations を使用して組織にメンバーアカウントを作成する https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_create.html JAWS-UG東京 ランチタイムLT会 #22
  12. Copyright © 2025 BeeX Inc. All Rights Reserved. 13 おひとりさまOrganizationsの利用方法

    AWS環境 AWSアカウント(管理アカウント) Organizations IAM User AWSアカウント ①AWSアカウント開設 ②Organizations組織作成 ③AWSアカウント作成 メールアドレス JAWS-UG東京 ランチタイムLT会 #22
  13. Copyright © 2025 BeeX Inc. All Rights Reserved. 14 おひとりさまOrganizationsの利用方法

    AWS環境 AWSアカウント(管理アカウント) Organizations IAM User AWSアカウント AWSアカウント メールアドレス メールアドレス AWSアカウントが増えると 管理が煩雑に AWSアカウントごとのメール アドレスの紐付け管理が必要 AWSアカウント作成・閉鎖の 操作をもっと手軽にしたい JAWS-UG東京 ランチタイムLT会 #22 ①AWSアカウント開設 ②Organizations組織作成 ③AWSアカウント作成
  14. Copyright © 2025 BeeX Inc. All Rights Reserved. 15 そんなときに便利なのが

    “Terraform” + “Terraform Cloud” JAWS-UG東京 ランチタイムLT会 #22
  15. Copyright © 2025 BeeX Inc. All Rights Reserved. 16 HCP

    Terraform(旧Terraform Cloud)とは? • Terraformを組織で利用するためのSaaS製品 • TerraformコードをHCP Terraform環境でApply/Plan • Stateファイルや環境変数の統合管理が可能 • Infrastructure as Code(IaC)ツールの一つ • HCLという独自言語でインフラを定義的に実装が可能 • リソース状況をStateファイルで管理 JAWS-UG東京 ランチタイムLT会 #22
  16. Copyright © 2025 BeeX Inc. All Rights Reserved. 17 HCP

    Terraform(旧Terraform Cloud)とは? https://developer.hashicorp.com/terraform/tutorials/cloud-get-started/cloud-sign-up#create-an-account HCP Terraformアカウント開設はシンプル JAWS-UG東京 ランチタイムLT会 #22
  17. Copyright © 2025 BeeX Inc. All Rights Reserved. 18 HCP

    Terraform(旧Terraform Cloud)とは? https://www.hashicorp.com/ja/pricing?product_intent=terraform&tab=terraform Free Planも提供されていて手軽に利用可能 JAWS-UG東京 ランチタイムLT会 #22
  18. Copyright © 2025 BeeX Inc. All Rights Reserved. 19 HCP

    Terraform(旧Terraform Cloud)とは? Terraform単体利用との違い 1. Terraformでのデプロイ環境を集約できる 2. Stateファイルをローカルや特定のAWSアカウント上のS3での管理・保存が不要 3. デプロイのための認証情報やSensitiveな環境変数をコード内に持つ必要がない • Terraformを組織で利用するためのSaaS製品 • TerraformコードをHCP Terraform環境でApply/Plan • Stateファイルや環境変数の統合管理が可能 JAWS-UG東京 ランチタイムLT会 #22
  19. Copyright © 2025 BeeX Inc. All Rights Reserved. 20 HCP

    Terraform(旧Terraform Cloud)とは? 1. Terraformでのデプロイ実行環境を集約できる ➢ 実行環境やユーザーが変わってもコードが手元にあれば同一環境へのデプロイが可能 2. Stateファイルをローカルや特定のAWSアカウント上のS3での管理・保存が不要 ➢ 複数のAWSアカウントのStateファイルも一元管理 3. デプロイのための認証情報やSensitiveな環境変数をコード内に持つ必要がない ➢ Open ID Connectを利用するとアクセスキー払い出しなしでデプロイが可能 • Terraformを組織で利用するためのSaaS製品 • TerraformコードをHCP Terraform環境でApply/Plan • Stateファイルや環境変数の統合管理が可能 Terraform単体利用との違い JAWS-UG東京 ランチタイムLT会 #22
  20. Copyright © 2025 BeeX Inc. All Rights Reserved. 21 HCP

    TerraformによるOrganizations利用構成例 実行環境 Organization Project Workspace(管理アカウント用) リソース 変数 トークン Workspace(検証アカウント用) リソース 変数 トークン AWS環境 Organizations IAM Role AWSアカウント IAM OIDC ID Provider OpenID Provider IAM Role IAM OIDC ID Provider IAM Role : アカウント払い出し : リソース払い出し Terraform コード AWSアカウント(管理アカウント) JAWS-UG東京 ランチタイムLT会 #22
  21. Copyright © 2025 BeeX Inc. All Rights Reserved. 22 HCP

    TerraformによるOrganizations利用構成例 実行環境 Organization Project Workspace(管理アカウント用) リソース 変数 トークン Workspace(検証アカウント用) リソース 変数 トークン AWS環境 Organizations IAM Role IAM OIDC ID Provider OpenID Provider IAM Role IAM OIDC ID Provider IAM Role : アカウント払い出し : リソース払い出し 手動作成範囲 Terraform コード AWSアカウント AWSアカウント(管理アカウント) 手動作成範囲 JAWS-UG東京 ランチタイムLT会 #22
  22. Copyright © 2025 BeeX Inc. All Rights Reserved. 23 HCP

    TerraformによるOrganizations利用構成例 実行環境 Organization Project Workspace(管理アカウント用) リソース 変数 トークン Workspace(検証アカウント用) リソース 変数 トークン AWS環境 Organizations IAM Role IAM OIDC ID Provider OpenID Provider IAM Role IAM OIDC ID Provider IAM Role : アカウント払い出し : リソース払い出し Terraform コード AWSアカウント Terraform構築範囲 AWSアカウント(管理アカウント) JAWS-UG東京 ランチタイムLT会 #22 Terraform 実行
  23. Copyright © 2025 BeeX Inc. All Rights Reserved. 24 HCP

    TerraformによるOrganizations利用構成例 実行環境 Organization Project Workspace(管理アカウント用) リソース 変数 トークン Workspace(検証アカウント用) リソース 変数 トークン AWS環境 Organizations IAM Role IAM OIDC ID Provider OpenID Provider IAM Role IAM OIDC ID Provider IAM Role : アカウント払い出し : リソース払い出し 自動構築 範囲 Terraform コード AWSアカウント AWSアカウント(管理アカウント) JAWS-UG東京 ランチタイムLT会 #22
  24. Copyright © 2025 BeeX Inc. All Rights Reserved. 25 HCP

    TerraformによるOrganizations利用構成例 実行環境 Organization Project Workspace(管理アカウント用) リソース 変数 トークン Workspace(検証アカウント用) リソース 変数 トークン AWS環境 Organizations IAM Role IAM OIDC ID Provider OpenID Provider IAM Role IAM OIDC ID Provider IAM Role : アカウント払い出し : リソース払い出し Terraform 実行 Terraform コード AWSアカウント AWSアカウント(管理アカウント) JAWS-UG東京 ランチタイムLT会 #22
  25. Copyright © 2025 BeeX Inc. All Rights Reserved. 26 •

    TerraformでOrganizations組織の作成も可能だが、誤操作の可 能性を考慮するとTerraform管理外にしておくほうが安全 • HCP TerraformのFree Planにはリソース数の上限があるため、 検証用途ならリソースが必要なときのみデプロイするほうが上限 にかかりにくい 利用時の注意点 JAWS-UG東京 ランチタイムLT会 #22
  26. Copyright © 2025 BeeX Inc. All Rights Reserved. 27 まとめ

    おひとりさまOrganizationsはいいぞ おひとりさまTCP Terraformもいいぞ 手間を減らして快適な検証ライフを JAWS-UG東京 ランチタイムLT会 #22