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

TerraformをSaaSで使うとAzureの運用がこんなに楽ちん!HCP Terrafor...

TerraformをSaaSで使うとAzureの運用がこんなに楽ちん!HCP Terraformって何?

Avatar for Minoru Nakabayashi

Minoru Nakabayashi

June 18, 2025
Tweet

Other Decks in Technology

Transcript

  1. Copyright © Tokyo Electron Device LTD. All Rights Reserved. TerraformをSaaSで使うとAzureの運用が

    こんなに楽ちん! HCP Terraformって何? 2025/6/18 第54回 Tokyo Jazug Night
  2. Copyright © Tokyo Electron Device LTD. All Rights Reserved. 2

    自己紹介 ⚫ 東京エレクトロン デバイス株式会社 CN BU CN技術本部 カスタマーサクセスデザイン部 中林 稔 ⚫ 経歴 ✓ ネットワーキング(L1/L2/L3, エンタープライズやキャリア) ✓ サイバーセキュリティ ✓ プライベート/パブリック クラウド ✓ HashiCorp製品担当
  3. Copyright © Tokyo Electron Device LTD. All Rights Reserved. 3

    内容 HCP Terraformとは コミュニティ版と比較してうれしいこと ※本資料に掲載されている会社名・製品・サービス名・ロゴは各社の商標または登録商標です。 また、写真・ロゴマーク・その他の著作物に関する著作権はそれぞれの権利を有する各社に帰属します。
  4. Copyright © Tokyo Electron Device LTD. All Rights Reserved. 4

    こんなお悩みはお持ちでないでしょうか?
  5. Copyright © Tokyo Electron Device LTD. All Rights Reserved. 5

    Stateやサービスプリンシパル の漏えいが心配 セキュリティリスク 設定変更の確認漏れや 想定外のコスト増加 設定ミス 一貫性のあるインフラ 構成管理が困難 構成のばらつき 社内ルール違反や 異常な構成の見落とし ルールの不徹底 コードを知らないと デプロイができない スキルの差 State管理や作業環境の 準備に手間がかかる 管理の手間 運用が結構 大変 Terrformを使っているものの...
  6. Copyright © Tokyo Electron Device LTD. All Rights Reserved. 6

    こんなお悩みを解決 する強い味方
  7. Copyright © Tokyo Electron Device LTD. All Rights Reserved. 7

    HCP※ Terraform とは? ※HCPとはHashiCorp Cloud Platformの略で、HashiCorpが管理するSaaSサービス TerraformのSaaS版です
  8. Copyright © Tokyo Electron Device LTD. All Rights Reserved. 8

    コミュニティ版 vs HCP Terraform 8つご紹介します
  9. Copyright © Tokyo Electron Device LTD. All Rights Reserved. 9

    運用負荷軽減 Stateファイル アクセス制御 • ネットワークルール • RBAC バックアップ ロック(排他制御)を仕込む CMKの管理※TBD Azure コミュニティ版 管理する部品が多い Stateファイル • ネットワーク制御不要 • 冗長ストレージでバージョ ニングも可 • ロックは自動 • 暗号鍵の管理が不要 HCP Terraform 管理不要 Stateファイルの管理が不要 Blob Storage Cosmos DB 1/8
  10. Copyright © Tokyo Electron Device LTD. All Rights Reserved. 10

    Stateファイルは機密情報が露出しやすいので注意! "resources": [ { "type": "aws_db_instance", "name": "example", "instances": [ { "attributes": { "username": "db_user", "password": "db_password" } variables.tf terraform.tfvars terraform.tfstate コミュニティ版 外部からアクセスされるリスク Azure 平文で書かれている HCP Terraform 利用者のみ閲覧できる
  11. Copyright © Tokyo Electron Device LTD. All Rights Reserved. 11

    設定ミス削減①(planの可視性) Terraform v1.12.1 on linux_amd64 Initializing plugins and modules... Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create Terraform will perform the following actions: # aws_instance.ec2[0] will be created + resource "aws_instance" "ec2" { + ami = "ami-02a2700d37baeef8b" + arn = (known after apply) + associate_public_ip_address = true + availability_zone = (known after apply) + cpu_core_count = (known after apply) + cpu_threads_per_core = (known after apply) + disable_api_stop = (known after apply) + disable_api_termination = (known after apply) + ebs_optimized = (known after apply) + get_password_data = false + host_id = (known after apply) + host_resource_group_arn = (known after apply) + iam_instance_profile = (known after apply) + id = (known after apply) + instance_initiated_shutdown_behavior = (known after apply) ~ 途中省略 ~ Plan: 19 to add, 0 to change, 0 to destroy. コミュニティ版 表示が多い ⇒ 確認漏れ起こりやすい HCP Terraform 1つずつ確実にチェック ⇒ 確認漏れを削減 直感的なGUIで、確認しやすい 2/8
  12. Copyright © Tokyo Electron Device LTD. All Rights Reserved. 12

    設定ミス削減②(Cost Estimation) コミュニティ版 作ってから気付く HCP Terraform 作る前に見つける デプロイ前のコストチェックで、安心なデプロイ Azure NSG 3/8
  13. Copyright © Tokyo Electron Device LTD. All Rights Reserved. 13

    azure ├ envs # Resource definitions per environment │ ├ production │ │ │ ├ main.tf │ │ │ ├ variables.tf │ │ │ ├ local.tf │ │└ ... │ ├ development │└ ... └ modules # Make a module a resource definition… ├ base # A group of resources commonly… │ ├ outputs.tf │ ├ variables.tf │ ├ <resource>.tf │└ ... └ services # resource definition per service ├ service-A │ ├ outputs.tf │ ├ variables.tf │ ├ <resource>.tf │└ ... 一貫性のある構成①(Gitブランチとワークスペースを1対1で対応) 顧客A用 Project 共通モジュール 共通変数 コミュニティ版 複雑な構成を個人管理 HCP Terraform 複数の環境で同じ設定をプルリクで使う 環境間の不整合がなく、後戻りを防ぐ Dev-Workspace 検証用 Stage-Workspace Prod-Workspace variable state variable state variable state 本番用 開発用 GitHub Devブランチ GitHub Stageブランチ GitHub Prodブランチ デプロイ デプロイ デプロイ マージ マージ コピーミス 4/8
  14. Copyright © Tokyo Electron Device LTD. All Rights Reserved. 14

    一貫性のある構成②(Private Module) Repository #1 (Module code) Repository #2 (WS#1 code) Repository #3 (WS#2 code) 開発者 Service A Environment Service B Environment Organization push push push deploy Workspace#1 Workspace#2 Private Module use use 標準化したモジュールを使って、いつでも必要な環境が手に入る GitHub AWS Cloud Azure AWS Cloud Azure 5/8
  15. Copyright © Tokyo Electron Device LTD. All Rights Reserved. 15

    社内ルールのコード化(Policy as Code) 社内ポリシーの設定例 ⚫ Terrafromの実行時間の制御 ⚫ リージョン/アベイラビリティゾーンの制約 ⚫ タグ付けを強制 ⚫ CIDRおよびネットワーク設定の確認 ⚫ リソース使用制限 ⚫ クラウド利用料金の上限設定 など 社内ルール確認を自動化して、目視に頼らない統制 6/8
  16. Copyright © Tokyo Electron Device LTD. All Rights Reserved. 16

    スキルギャップの解消(No-code Provisioning) インフラのセルフサービス化 コードを知らなくても、GUIで簡単にデプロイ Azure GitHub K8s 7/8
  17. Copyright © Tokyo Electron Device LTD. All Rights Reserved. 17

    じみにうれしい(Drift Detection) コミュニティ版 変更が分からず調査に時間を要す HCP Terraform 変更がすぐ分かり早期に対策 承認のない変更にすぐに気付けて即修正 Webサーバー APサーバー DBサーバー Webサーバー APサーバー DBサーバー 8/8