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
200
AWSでTerraform超入門
2023/10/26の「めぐろLT大会#8」で発表した資料です。
hr0hr57
October 21, 2023
Tweet
Share
More Decks by hr0hr57
See All by hr0hr57
AWS All Certが伝える 新AWS認定試験取得のコツ (Machine Learning Engineer - Associate)
nnydtmg
1
580
AWS認定試験 DEA受験記
nnydtmg
1
480
インフラ担当者がLambdaの設定値を今一度整理してみた
nnydtmg
0
250
金融系・JTCエンジニアこそコミュニティに行け!
nnydtmg
0
180
Terraform v1.6.0で始めるインフラ単体テスト
nnydtmg
2
1.2k
祝初選出!! AWS Community Builderになるには
nnydtmg
0
630
Other Decks in Technology
See All in Technology
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
390
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
120
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
440
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
200
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
210
Terraform Stacks入門 #HashiTalks
msato
0
360
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
電話を切らさない技術 電話自動応答サービスを支える フロントエンド
barometrica
1
120
The Rise of LLMOps
asei
9
1.8k
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
270
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Docker and Python
trallard
40
3.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
Producing Creativity
orderedlist
PRO
341
39k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Designing the Hi-DPI Web
ddemaree
280
34k
It's Worth the Effort
3n
183
27k
Optimizing for Happiness
mojombo
376
70k
Music & Morning Musume
bryan
46
6.2k
A Philosophy of Restraint
colly
203
16k
For a Future-Friendly Web
brad_frost
175
9.4k
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