Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Terraform-hands-on-20250322
Search
shinya
March 24, 2025
Programming
72
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Terraform-hands-on-20250322
This material is from the Terraform hands-on session held on March 22, 2025.
shinya
March 24, 2025
Other Decks in Programming
See All in Programming
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
150
RSSとCodexを使ってX投稿自動化してみた
ochtum
0
110
新卒PdEのリアル
ryu1013
1
480
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
230
App Intentsのビルドプロセスを支える技術
kntkymt
0
180
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
140
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
190
Press start. Python's next generation.
willingc
PRO
3
330
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
500
XHTMLが残したもの
yosuke_furukawa
PRO
2
640
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
170
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
330
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
How to Talk to Developers About Accessibility
jct
2
540
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Are puppies a ranking factor?
jonoalderson
2
3.9k
The Pragmatic Product Professional
lauravandoore
37
7.4k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
Skip the Path - Find Your Career Trail
mkilby
1
220
Transcript
Terraform ハンズオン
目次 1. IaC とは 2. Terraform とは 3. Terraformの使い方 4.
コードの書き方 5. 変数 6. ディレクトリ構成 7. moduleとは 8. tfstateとは 9. まとめ
1.IaCとは IaC(Infrastructure as Code) プログラミングのようにコードを使って インフラを構築・管理する方法 【メリット】 ★ 再利用可能 ★
変更管理可能 ★ 設定値の確認が容易 【デメリット】 ★ 学習コストが高い
HashiCorp社が開発するIaCツール 2.Terraformとは 【特徴】 • プロバイダー対応: AWS、GCなど • 宣言的アプローチ: 自動で状態管理 •
プラン機能: 変更内容を事前確認 【さまざまなIaCツールたち…】 【メリット】 • 効率化: インフラの構築・管理 • 共有性: チームでのコード再利用 運用管理の効率化を実現!!
Terraform コマンド実行 3.Terraformの使い方① 設定ファイル 作成 Terraformを使用する基本フロー 一連のフローでTerraformを用いたインフラ構築が可能! AWSとの 接続設定 Terraform
インストール
コマンド 内容 terraform init 現在のディレクトリでTerraformを使う準備 terraform plan 構築するインフラを確認 terraform apply
インフラを構築 terraform destroy 構築したインフラを削除 基本的には以下の4つのコマンド 3.Terraformの使い方②
1. プロバイダーやリソースの作成 • インフラ情報をブロック単位で記述 • プロバイダーブロックでクラウドサービスを指定 • リソースブロックで詳細なインフラを定義 【イメージ】 4.コードの書き方
【書き方のポイント】 2. ブロック内の構成 • 中身はパラメータで指定 • 設定情報を具体化 4. 変数でバリューを変更可能 • 動的な値設定で柔軟性アップ • 変数による再利用性向上 3. パラメータはキーバリュー形式で記述 • キー = "バリュー" の形式で設定 • シンプルで明確な記述
変数の種類 入力変数 ローカル変数 使い方 variable ブロックで定義 locals ブロックで定義 有効範囲 定義したモジュール内
定義したファイル内だけ 目的 環境や条件の設定を変える 一時的なデータを持たせる 【変数の記述方法】 • 変数の型…データ型の指定 • 説明ラベル…変数の説明 • デフォルト値…初期値の設定 5.変数 【Terraformで使用する基本的な変数】
各リソース名 内容 main.tf 作りたいリソースの定義するファイル modules 各設定を再利用可能な単位にまとめたディレクトリ variables.tf 変数を定義するファイル outputs.tf 作ったサーバーの情報を出力するファイル
【主なリソースの役割】 6.ディレクトリ構成 【特長】 自由なファイルパターン! • ディレクトリ構成の自由 • ファイルの分割 • 柔軟なファイル命名 (今回のディレクトリ構成)
7.moduleとは① 再利用可能な Terraform構成の単位 インフラを構成するための部品 単位なの??部品なの?? 車に例える!! かっこいい車 (作りたいリソースB) タイヤQ(module) かわいい車
(作りたいリソースA) 設計書(main.tf) タイヤを2つの車に使う タイヤQを付ける タイヤQを付ける
7.moduleとは② 【特長】 • 再利用性: 複数のインフラ構成に再利用 • 環境ごとの適応: 環境を柔軟に変更 • 効率的なコード管理:
コードの削減 【ルート直下のmain.tfとmoduleの関係】 • ルート直下のmain.tfの役割 必要なmoduleの呼び出し moduleへ入力する値の指定 • moduleの役割 main.tfからの呼び出しを受けて動作 (ルート直下のmain.tf) (ルート直下のmain.tf) (module)
8.tfstateとは 【特徴】 • デフォルトはローカル保存 • リモートバックエンド(例: S3)での共有を推奨 Terraformが管理する作成したインフラの 状態情報を保存したファイル 【役割】
• 対応関係の管理: インフラとコードの一致を確認 • 履歴の記録: リソースの作成・変更履歴 • 差分検出: planやapplyで使用 ローカル環境 Terraform tfstate リソース AWS環境 terraform apply
9.まとめ 【今日のハンズオンで使う大事なポイント】 ①Terraformのコマンドを理解しておこう! ②本日のTerraformのディレクトリ構造を理解しておこう! ③Terraformのコードの書き方を理解しておこう!
それではハンズオンを始めましょう