Slide 1

Slide 1 text

Terraform Cloudで AWSリソース運用をより楽に 黒野 雄稀 | 2022/11/15 1

Slide 2

Slide 2 text

自己紹介 黒野 雄稀 Yuki Kurono kurono_98 kurono アイレット株式会社 所属  普段はインフラ設計・構築や運用構築に従事 2022 APN ALL AWS Certifications Engineers 2

Slide 3

Slide 3 text

3 What is Terraform.

Slide 4

Slide 4 text

4 What is TerraformCloud.

Slide 5

Slide 5 text

5 What is TerraformCloud.

Slide 6

Slide 6 text

6 What is TerraformCloud. ▶ フリープランでは5人までユーザー追加が可能 ▶ Terraform Cloud上でtfstateを管理可能 ▶ Private Module Registryの利用が可能 ▶ CI/CDを実装することが可能 ▶ Terraform Versionの統一が容易 ▶ Policy Setsを使用することでガバナンスをきかせることが可能

Slide 7

Slide 7 text

7 Private Module Registry

Slide 8

Slide 8 text

Private Module Registry module追加

Slide 9

Slide 9 text

Private Module Registry module呼び出し module追加

Slide 10

Slide 10 text

10 こんな問題 コードが完成したし、 デプロイしよう!

Slide 11

Slide 11 text

11 こんな問題 ダブルチェックしない と危ないよ 時間無いからやっ ちゃえよ

Slide 12

Slide 12 text

12 CI/CD

Slide 13

Slide 13 text

実行してみる① Push plan 実行

Slide 14

Slide 14 text

実行してみる② apply 実行 承認プロセスを挟むことが可能 承認プロセス 承認

Slide 15

Slide 15 text

Terraform Version 指定したバ=ジョンでTerraformCloudの実行環境で動作するので、 バージョン管理がほぼ不要に。

Slide 16

Slide 16 text

Policy Sets 以下の2つのどちらかを使用することでガバナンスやセキュリティ規則 などをチェックおよび制御することができる。 Policy as Codeとして記述する。 ▶ HashiCorp Sentinel   →恐らく従来のやり方 ▶ OPA (Open Policy Agent)   →まだbeta版

Slide 17

Slide 17 text

Policy Sets(OPA) 0.0.0.0/0が解放されているセキュリティグループ を検知するポリシー

Slide 18

Slide 18 text

Policy Sets(OPA) 曜日を判定して金曜日のデプロイを防ぐポリシー

Slide 19

Slide 19 text

Policy Sets(OPA)

Slide 20

Slide 20 text

20 TerraformCloudのメリット ▶ Trerraform Cloud上でtfstateを管理可能 ▶ Private Module RegistryでIaCコードの再利用が可能  ↑個人的にはイチオシ ▶ CI/CDを実装することでレビュー工程を挟むことが可能 ▶ Terraform Versionの統一をすることでバージョン管理が不要 ▶ Policy Setsを使用することでガバナンスをきかせることで誤ったリソース   変更などを防ぐ