$30 off During Our Annual Pro Sale. View Details »

Terraform Registryで公開されているTerraform Modulesが便利だった件

CUEBiC Inc.
October 24, 2023

Terraform Registryで公開されているTerraform Modulesが便利だった件

CUEBiC Inc.

October 24, 2023
Tweet

More Decks by CUEBiC Inc.

Other Decks in Business

Transcript

  1. 開示範囲:
    1
    〜成果集計処理を劇的に改善!〜
    troccoとAmazon Redshiftで挑んだ
    コンテンツマーケティングの分析基盤構築
    株式会社キュービック
    テクノロジーエキスパートセンター
    Tech Lead 尾﨑勇太
    Terraform Registryで公開されている
    Terraform Modulesが便利だった件
    株式会社キュービック
    テクノロジーエキスパートセンター
    SRE 森祐太朗

    View Slide

  2. 自己紹介
    2
    株式会社キュービック テクノロジーエキスパートセンター(TEC)
    SRE
    森 祐太朗
    趣味:ブログ執筆・博物館や水族館巡り
    経歴:中小SIer(ネットワークエンジニア)
    →ヘルステック系ベンチャー(SRE)
    →キュービック(SRE)
    プレーリーカード @y0u281

    View Slide

  3. 3
    ■さまざまなユーザーの不を解消する事業展開
    かんたん
    履歴書作成ツール
    「ミライトーチ」
      スマホだけで完結!
    感謝とリスペクトを伝える
    社内コミュニケーション
    ツール
    総合比較メディア

    View Slide

  4. ■キュービックについて
    株式会社キュービック /CUEBiC Inc.
    社名
    事業
    設立
    資本金
    拠点
    2006 年 10 月 24 日
    31,000,000円
    人員 308 名(単体)※インターンを含む
    484 名(連結) ※2023年8月末時点
    デジタルメディア事業、集客支援事業 ほか
    東京、福岡

    View Slide

  5. ● 背景
    ● Terraformを使ったIaC開発課題
    ● Terraform Registryの紹介
    ● 使用例紹介
    ● まとめ
    目次

    View Slide

  6. 背景
    似たようなAWSリソースを毎回手作業
    で作るのはしんどいよな。。。
    新規プロダクト作るからAWSリ
    ソース準備よろしく!!
    SRE

    View Slide

  7. Terraformを使ったIaC開発課題
    ● Terraform自体書ける人が社内に少
    ない
    ● 抽象化できずリソース数が多くなる
    (後述)

    View Slide

  8. Terraformを使ったIaC開発課題

    View Slide

  9. Terraformを使ったIaC開発課題
    これらもまとめて作成
    ● パブリックサブネット
    ● プライベートサブネット
    ● NAT
    ● インターネットゲートウェイ

    View Slide

  10. Terraformを使ったIaC開発課題
    同様の構成をTerraformで記述する場合
    ● aws_vpc
    ● aws_subnet
    ● aws_internet_gateway
    ● aws_nat_gateway
    ● aws_route_table
    ● aws_route_table_association
    ● aws_eip
    サブネットに関しては
    CIDRの差分が面倒

    View Slide

  11. Terraformを使ったIaC開発課題
    モジュールを内製化?
    結局最初の構築が大変
    VPCモジュール
    ● aws_vpc
    ● aws_subnet
    ● aws_internet_gateway
    ● aws_nat_gateway
    ● aws_route_table
    ● aws_route_table_association
    ● aws_eip

    View Slide

  12. Terraformを使ったIaC開発課題
    Terraformを教える余裕がな
    いから抽象的な表現でイイ感
    じに構築したい
    SRE
    AWS CDKはL2コンストラクトでイイ
    感じに書いてくれます

    View Slide

  13. Terraform Registryの紹介
    !!
    SRE
    Terraform Registryにイイ感じに
    抽象化されたモジュールがあります

    View Slide

  14. module "vpc" {
    source = "terraform-aws-modules/vpc/aws"
    name = "my-vpc"
    cidr = "10.0.0.0/16"
    azs = ["ap-northeast-1a", "ap-northeast-1c", "ap-northeast-1d"]
    private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"]
    public_subnets = ["10.0.10.0/24", "10.0.20.0/24", "10.0.30.0/24"]
    database_subnets = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"]
    enable_nat_gateway = true
    one_nat_gateway_per_az = true
    tags = {
    Terraform = "true"
    Environment = "dev"
    }
    }
    使用例紹介

    View Slide

  15. 使用例紹介
    DBサブネット
    プライベートサブネット
    パブリックサブネット

    View Slide

  16. まとめ ● ゼロイチでリソースを作るときにまずはレジスト
    リのモジュールをチェックしてみる
    ● 少ない記述量で抽象的にイイ感じに作ってくれ

    Terraform Registryで公開され
    ているTerraform Modulesが便
    利だった件
    https://cuebic.hatenablog.co
    m/entry/2023/06/08/160631

    View Slide

  17. 17
    ご清聴、ありがとうございました

    View Slide