Slide 1

Slide 1 text

AWSでTerraform超入門 2023/10/26(木) めぐろLT会#8 1

Slide 2

Slide 2 text

自己紹介 ● ryosaan (@hr0hr57) ● 某金融系SIerでインフラ設計・構築を担当 ● 業務ではAWSを利用中 ● 所属コミュニティ ○ AWS Community Builder(Cloud Operations) ○ Ops-JAWS運営 ○ CNDT2023運営 ○ この他クラウド系コミュニティによく出没 ● 2022-23 APN ALL AWS Certifications Engineers 2

Slide 3

Slide 3 text

お断り ● 2023/10/1にステマ規制が施行されたため、念の為製品情報が強く出ているページ には下記のアイコンを表示しています。 ● 私自身は一切HashiCorp社との繋がりはございません。 PR 3

Slide 4

Slide 4 text

Terraformとは ● HashiCorp社が開発 ● マルチクラウドに対応したIaC (Infrastructure as Code) ツール ○ AWS CDK , AWS CloudFormation , Pulumi , Bicep , Ansible , etc.. ● 作成したいリソースをコードとして管理し、数コマンドで環境が構築できる ● 宣言型モデルで作りたい環境のあるべき姿を定義 ○ cf. 命令実行モデル:作成する手順をコード化 ● 独自のHCL言語でコードを記述する ● 内部的にはGo言語で構成され、内部で各プロバイダのSDKを呼び出すことでリソー スを作成する PR 4

Slide 5

Slide 5 text

必要な準備 ● 実行環境 ○ コードを実行する環境にインストール https://developer.hashicorp.com/terraform/downloads ● 実行コード ○ .tfファイル 構成情報、プロバイダー情報、変数などを定義する ○ .tfstateファイル(実行時に自動的に作成される) 作成されたリソース情報が定義されている ○ (オプション).tfvarsファイル 変数を外出しして管理する ○ (オプション).outputファイル 他リソースで参照するための値を定義する 5

Slide 6

Slide 6 text

実際のコード例 ● 構成 6

Slide 7

Slide 7 text

実際のコード例 ● 各リソース毎のresourceブロック ● 各パラメータはリファレンスを参照 (Terraform AWS Provider) ● コメントの記載も可能 ● モジュール化やWorkspaceの利用 など、チーム開発にも適応できる ● 最短3コマンドで作成できる ○ terraform init (初回のみ) ○ terraform plan ○ terraform apply https://github.com/nnydtmg/terraform-ec2-sample 7

Slide 8

Slide 8 text

みなさんもぜひIaCに入門してみてください! ご清聴ありがとうございました! 8