Slide 1

Slide 1 text

2025/1/15 佐藤雅樹 re:Invent 2024の HashiCorp関連(主にTerraform)の アップデート&セッション共有

Slide 2

Slide 2 text

⾃⼰紹介 resource “my_profile” “this” { name = “佐藤雅樹” x = “@chari7311” company = “クラスメソッド株式会社” department = “ソリューションアーキテクト” }

Slide 3

Slide 3 text

● Terraformとは ● アップデート紹介 ● セッション紹介 アジェンダ

Slide 4

Slide 4 text

Terraformとは

Slide 5

Slide 5 text

● インフラのコードによる管理とプロビジョニング⾃動化を実現するツール ● IaCツールのデファクトスタンダード
 ● 様々な環境に対応  → 各環境に対応した「プロバイダー」を使⽤する    (AWS, Azure, Google Cloud, Kubernetes, GitLab, Datadog, etc.) Terraformとは

Slide 6

Slide 6 text

Terraformの提供形態 セルフマネージド マネージド Community

Slide 7

Slide 7 text

組織でTerraformを運⽤するためのプラットフォーム ● バージョン管理システムとの統合 ● Statefileの管理 ● Private Registry ● Policy As Code ● ドリフト検出 ● etc… HCP Terraform‧Terraform Enterpriseとは

Slide 8

Slide 8 text

組織でTerraformを運⽤するためのプラットフォーム ● バージョン管理システムとの統合 ● Statefileの管理 ● Policy As Code ● ドリフト検出 ● Private Registry ● etc… HCP Terraform‧Terraform Enterpriseとは

Slide 9

Slide 9 text

アップデート

Slide 10

Slide 10 text

10 Pre-written Sentinel policies for AWSを発表(パブリックベータ) ● AWS向けの事前定義された Sentinelポリシーがリリース ● CISに準拠しており、CIS AWS Foundation Benchmarks v1.2、 v1.4、v3.0の対応に役⽴つ ● 対応リソース - EC2 - S3 - IAM - RDS - KMS - etc..

Slide 11

Slide 11 text

セキュリティインシデントの予防のために、AWSリソースをセキュアな設定にす る必要がある ● セキュアではない設定は、AWS Security Hubのセキュリティ基準で検知可能 ● しかし、設定変更にはダウンタイムを伴う場合も 検知は簡単だが、対応するのは⼤変 AWSリソースをセキュアに

Slide 12

Slide 12 text

組織のポリシーに違反する リソース作成を禁⽌したい

Slide 13

Slide 13 text

● HashiCorpが開発したポリシー実⾏フレームワーク ● terraformのPlan結果に対してポリシーチェックを⾏う ● ポリシーの例) - RDSのストレージが暗号化されているか - 「ManagedBy = terraform」タグが付いているか - Applyが⾦曜⽇に⾏われていないか ● HCP Terraform/EnterpriseにはSentinelポリシーチェックを⾏う機能が組み 込まれている Sentinelとは

Slide 14

Slide 14 text

14 Sentinel https://developer.hashicorp.com/terraform/tutorials/policy/sentinel-policy Nameタグの強制 インスタンスタイプの制限

Slide 15

Slide 15 text

⼀からすべてのポリシーを 書くのは⼤変

Slide 16

Slide 16 text

16 Pre-written Sentinel policies for AWS を使うことで、デプロイ前にチェック が可能 -> Terraformでデプロイ = Security Hub(CIS) セキュリティ基準 に準拠 Pre-written Sentinel policies for AWSで解決

Slide 17

Slide 17 text

⼀般的な静的解析と⽐べてSentinel - Plan結果に対してチェックを⾏うため、踏み込んだチェックが可能 - ポリシーを書くのが⼤変 -> Pre-writtenを使うことで⾃前実装を減らせる‧コードの内容も公開されている ため参考にできる Terraform静的解析ツールとSentinel

Slide 18

Slide 18 text

セッション

Slide 19

Slide 19 text

● [AIM102-S]Infrastructure at the speed of AI ● [DOP101-S]Build for massive scale and security with the HashiCorp Cloud Platform ● [SEC204-S]How to get dynamic with secrets management ● [DOP206-S]Building multi-account multi-region applications with Terraform stacks HashiCorp関連セッション

Slide 20

Slide 20 text

20 個⼈的おすすめセッション ● HCP Terraformの新機能Terraform Stacksの紹介セッション ● Terraform Stacksの基本概念から 動作をデモを交えて学ぶことがで きる Building multi-account multi-region applications with Terraform stacks

Slide 21

Slide 21 text

Terraform Stacksとは ● 機能: 複数環境が必要なインフラ環境の管理を効率化‧簡素化 ● フェーズ: パブリックベータ - HashiConf 2023で発表(プライベートプレビュー) - HashiConf 2024でパブリックベータ版を発表 ● 注意事項 - HCP Terraformで利⽤可能(コミュニティ版への組み込みも予定あり) - 500 Resourceまでの制限あり(Standard‧Plusプランでも同様) ※本スライドの情報は、2025/1時点の情報になります。

Slide 22

Slide 22 text

22 適切な分割がされていないStatefileの課題 ● リソース変更の影響範囲⼤きい ● Terraform実⾏時間が⻑い ● 管理責任の分離ができない

Slide 23

Slide 23 text

23 Statefileを分割 以下の単位で分割 ● 環境 ● リソース種別(Network,Compute等)

Slide 24

Slide 24 text

24 Statefile毎にWorkspaceを作成 [補⾜] Workspace: Terraformリソースを管理 する単位。実⾏やStatefileを管理。 HCP Terraformで実現(Workspace)

Slide 25

Slide 25 text

Workspace(Statefile)増加による課題

Slide 26

Slide 26 text

26 Terraform Stacksで解決 Terraform Stacksを使うことで以下を 効率化‧簡素化 ● 複数Workspaceの管理 ● プロビジョニング ● 依存関係の管理

Slide 27

Slide 27 text

27 [再掲]個⼈的おすすめセッション ● HCP Terraformの新機能Terraform Stacksの紹介セッション ● Terraform Stacksの基本概念から 動作をデモを交えて学ぶことがで きる Building multi-account multi-region applications with Terraform stacks

Slide 28

Slide 28 text

● Terraformには3つの提供形態があり、組織利⽤はHCP Terraformを推奨 ● 「Pre-written Sentinel policies for AWS」でAWS環境をセキュアに構築 ● Terraform Stacksでマルチリージョン‧マルチアカウント環境のデプロ イを簡素化 まとめ

Slide 29

Slide 29 text

● Pre-written Sentinel policy Set for AWS - Simplify policy adoption in Terraform with pre-written Sentinel policies for AWS | HashiCorp Blog - Scale Your AWS Environment Securely with HashiCorp Terraform and Sentinel Policy as Code - TerraformレジストリでPre-written Sentinel policy Set for AWSが公開されました | Developres IO ● Terraform Stacks - Terraform Stacks, explained | HashiCorp Blog - [レポート]Building multi-account, multi-region apps with Terraform Stacks (DOP206) # AWSreInvent | DevelopersIO - 「Terraform Stacks⼊⾨」というタイトルでHashiTalks:Japan 2024に登壇しました #HashiTalks #HashiTalks Japan 2024 | Developers IO 関連リンク

Slide 30

Slide 30 text

No content