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

Terraform CloudでAWSリソース運用をより楽に

Yuki_Kurono
November 16, 2022
100

Terraform CloudでAWSリソース運用をより楽に

「[秋田] オフライン開催 フリーテーマでAWSを語る会 [初心者大歓迎]」で話した資料です。

Yuki_Kurono

November 16, 2022
Tweet

Transcript

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

    View Slide

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

    View Slide

  3. 3
    What is Terraform.

    View Slide

  4. 4
    What is TerraformCloud.

    View Slide

  5. 5
    What is TerraformCloud.

    View Slide

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

    View Slide

  7. 7
    Private Module Registry

    View Slide

  8. Private Module Registry
    module追加

    View Slide

  9. Private Module Registry
    module呼び出し
    module追加

    View Slide

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

    View Slide

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

    View Slide

  12. 12
    CI/CD

    View Slide

  13. 実行してみる①
    Push
    plan
    実行

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  19. Policy Sets(OPA)

    View Slide

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

    View Slide