Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWSでTerraform超入門
Search
hr0hr57
October 21, 2023
Technology
1
260
AWSでTerraform超入門
2023/10/26の「めぐろLT大会#8」で発表した資料です。
hr0hr57
October 21, 2023
Tweet
Share
More Decks by hr0hr57
See All by hr0hr57
リソースのテレメトリも管理したい!〜CloudWatch Telemetry管理のご紹介〜
nnydtmg
0
180
宇宙最速のランチRecap LT会(開発者ツール&運用監視編)
nnydtmg
2
390
AWS All Certが伝える 新AWS認定試験取得のコツ (Machine Learning Engineer - Associate)
nnydtmg
1
900
AWS認定試験 DEA受験記
nnydtmg
1
580
インフラ担当者がLambdaの設定値を今一度整理してみた
nnydtmg
0
330
金融系・JTCエンジニアこそコミュニティに行け!
nnydtmg
0
210
Terraform v1.6.0で始めるインフラ単体テスト
nnydtmg
2
1.3k
祝初選出!! AWS Community Builderになるには
nnydtmg
0
780
Other Decks in Technology
See All in Technology
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
550
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
36
24k
DeepSeekとは?何がいいの? - Databricksと学ぶDeepSeek! 〜これからのLLMに備えよ!〜
taka_aki
2
210
マルチアカウント環境における組織ポリシーについて まとめてみる
nrinetcom
PRO
2
110
OCI IAM Identity Domains Entra IDとの認証連携設定手順 / Identity Domain Federation settings with Entra ID
oracle4engineer
PRO
1
1.3k
User Story Mapping + Inclusive Team
kawaguti
PRO
3
620
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
190
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
社内でKaggle部を作って初学者育成した話
daikon99
1
180
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
250
早くて強い「リアルタイム解析基盤」から広げるマルチドメイン&プロダクト開発
plaidtech
PRO
1
120
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
5
6.9k
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
The Invisible Side of Design
smashingmag
299
50k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Designing for Performance
lara
605
68k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
11
560
Designing Experiences People Love
moore
140
23k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
28
1.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Transcript
AWSでTerraform超入門 2023/10/26(木) めぐろLT会#8 1
自己紹介 • ryosaan (@hr0hr57) • 某金融系SIerでインフラ設計・構築を担当 • 業務ではAWSを利用中 • 所属コミュニティ
◦ AWS Community Builder(Cloud Operations) ◦ Ops-JAWS運営 ◦ CNDT2023運営 ◦ この他クラウド系コミュニティによく出没 • 2022-23 APN ALL AWS Certifications Engineers 2
お断り • 2023/10/1にステマ規制が施行されたため、念の為製品情報が強く出ているページ には下記のアイコンを表示しています。 • 私自身は一切HashiCorp社との繋がりはございません。 PR 3
Terraformとは • HashiCorp社が開発 • マルチクラウドに対応したIaC (Infrastructure as Code) ツール ◦
AWS CDK , AWS CloudFormation , Pulumi , Bicep , Ansible , etc.. • 作成したいリソースをコードとして管理し、数コマンドで環境が構築できる • 宣言型モデルで作りたい環境のあるべき姿を定義 ◦ cf. 命令実行モデル:作成する手順をコード化 • 独自のHCL言語でコードを記述する • 内部的にはGo言語で構成され、内部で各プロバイダのSDKを呼び出すことでリソー スを作成する PR 4
必要な準備 • 実行環境 ◦ コードを実行する環境にインストール https://developer.hashicorp.com/terraform/downloads • 実行コード ◦ .tfファイル
構成情報、プロバイダー情報、変数などを定義する ◦ .tfstateファイル(実行時に自動的に作成される) 作成されたリソース情報が定義されている ◦ (オプション).tfvarsファイル 変数を外出しして管理する ◦ (オプション).outputファイル 他リソースで参照するための値を定義する 5
実際のコード例 • 構成 6
実際のコード例 • 各リソース毎のresourceブロック • 各パラメータはリファレンスを参照 (Terraform AWS Provider) • コメントの記載も可能
• モジュール化やWorkspaceの利用 など、チーム開発にも適応できる • 最短3コマンドで作成できる ◦ terraform init (初回のみ) ◦ terraform plan ◦ terraform apply https://github.com/nnydtmg/terraform-ec2-sample 7
みなさんもぜひIaCに入門してみてください! ご清聴ありがとうございました! 8