Terraformのノリを解説する資料となっています。
Terraformのノリを理解する2021/11/01 湯浅1
View Slide
Strictly Confiden/alCopyright©株式会社Acompany All rights reserved.⾃⼰紹介• 湯浅潤樹• 名古屋⼤学B4• Acompanyインターン⽣• セキュリティサークルを運営• 2時間前に親知らずを抜⻭し、喋りづらいですTwi$er: @junkitombobTwi$er: @nu_cybersec2
Strictly Confiden/alCopyright©株式会社Acompany All rights reserved.Terraformの概要• 正式名称 : 強奪者 テラフォーム• 種類 : クリーチャー• ⽂明 : ⽔、⾃然• 種族 : アウトレイジ• 「我こそが聖邪をあわせ持つ選ばれし...」[1] h'ps://www.ka-nabell.com/sp/?act=sp_sell_detail&genre=7&id=1000158133
Strictly Confiden/alCopyright©株式会社Acompany All rights reserved.Terraformの概要• IaC(Infrastructure as Code)を実現するツール• インフラ構成をコードで管理できる• 管理画⾯でポチポチする必要がなくなる︕• クラウドインフラ管理のHashiCorp社が提供• AWS、Azure、GCPに対応• .tf ファイルで構成を定義して、コマンドで簡単デプロイ4[2] h'ps://www.terraform.io/[3] h'ps://www.lac.co.jp/lacwatch/service/20200903_002270.html
Strictly Confiden/alCopyright©株式会社Acompany All rights reserved.Terraformのインストール• Linux• MacOS5[4] Install Terraform
Strictly Confiden/alCopyright©株式会社Acompany All rights reserved.Terraformのコード• クラウドのプロバイダーを指定• デプロイするリソースを指定6
Strictly Confiden/alCopyright©株式会社Acompany All rights reserved.Terraformの主なコマンド主に使うコマンドは5つだけ︕• terraform init• ワークスペースの初期化• プロバイダーのpluginをダウンロード• ダウンロードされたファイル群は .terraform ディレクトリ直下に配置• terraform fmt• インフラ構成ファイルのフォーマットを整える7[5] h'ps://www.terraform.io/docs/cli/commands/init.html[6] h'ps://www.terraform.io/docs/cli/commands/fmt.html
Strictly Confiden/alCopyright©株式会社Acompany All rights reserved.Terraformの主なコマンド• terraform validate• インフラ構成コードの構⽂チェックをする• 記述が間違っている部分を⽰してくれる• terraform plan• 実⾏計画を⽰す• どのようなリソースが作成、修正、削除されるかを参照できる• terraform apply• plan で⽰された実⾏計画を実⾏する• 実際に構成がデプロイされる8[7] h'ps://www.terraform.io/docs/cli/commands/validate.html[8] h'ps://www.terraform.io/docs/cli/commands/plan.html[9] h'ps://www.terraform.io/docs/cli/commands/apply.html
Strictly Confiden/alCopyright©株式会社Acompany All rights reserved.Azureの仮想マシンをデプロイしてみる9[11] Terraform を使⽤して Azure で Linux VM とインフラストラクチャを構成する
Strictly Confiden/alCopyright©株式会社Acompany All rights reserved.Azureの仮想マシンをデプロイしてみる101. Azureにログイン• az login コマンドで認証情報をワークスペースに提供できる2. Terraform コードを実装する• Azureのプロバイダーを指定• リソースグループの作成• 仮想ネットワークとサブネットの作成• セキュリティグループとルールの作成• ネットワークインターフェースの作成• SSHキーの作成• 仮想マシンの作成
Strictly Confiden/alCopyright©株式会社Acompany All rights reserved.Azureの仮想マシンをデプロイしてみる3. Terraform を初期化する4. Terraform 実⾏計画を作成する11
Strictly Confiden/alCopyright©株式会社Acompany All rights reserved.Azureの仮想マシンをデプロイしてみる5. Terraform 実⾏計画を適⽤する12Portal を確認するとデプロイされている SSHで仮想マシンにログインできる
Strictly Confiden/alCopyright©株式会社Acompany All rights reserved.CIへの組み込み• Github Actionsへの組み込みも簡単• hashicorp/setup-terraform action を使⽤する13[12] h'ps://github.com/marketplace/acVons/hashicorp-setup-terraform
Strictly Confiden/alCopyright©株式会社Acompany All rights reserved.まとめ強奪者 テラフォーム is 最強14