$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TC3_Terraform勉強会資料_part1
Search
TC3株式会社
July 01, 2022
Technology
0
890
TC3_Terraform勉強会資料_part1
TC3にて実施したTerraform勉強会の資料Part1です。
TC3株式会社
July 01, 2022
Tweet
Share
More Decks by TC3株式会社
See All by TC3株式会社
Auth0 dev_night Tokyo 202507 登壇スライド ― 人とAGIを束ねる、安全なチームワーク基盤
tc3jp
0
7
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
500
TC3紹介資料_v202303(候補者向け)
tc3jp
0
18k
TC3 社内勉強会 Content Security Policy
tc3jp
1
550
Workload Identity Federationとは_TC3_IDaaS勉強会_revised
tc3jp
0
910
Workload Identity Federationとは_TC3_IDaaS勉強会
tc3jp
0
87
TC3会社紹介資料_short_v202203.pdf
tc3jp
0
5.8k
Other Decks in Technology
See All in Technology
ChatGPTで論⽂は読めるのか
spatial_ai_network
0
750
AWS Bedrock AgentCoreで作る 1on1支援AIエージェント 〜Memory × Evaluationsによる実践開発〜
yusukeshimizu
6
370
5分で知るMicrosoft Ignite
taiponrock
PRO
0
240
モダンデータスタック (MDS) の話とデータ分析が起こすビジネス変革
sutotakeshi
0
440
[CMU-DB-2025FALL] Apache Fluss - A Streaming Storage for Real-Time Lakehouse
jark
0
110
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
13
5.1k
意外とあった SQL Server 関連アップデート + Database Savings Plans
stknohg
PRO
0
300
計算機科学をRubyと歩む 〜DFA型正規表現エンジンをつくる~
ydah
3
210
小さな判断で育つ、大きな意思決定力 / 20251204 Takahiro Kinjo
shift_evolve
PRO
1
580
pmconf2025 - データを活用し「価値」へ繋げる
glorypulse
0
710
モバイルゲーム開発におけるエージェント技術活用への試行錯誤 ~開発効率化へのアプローチの紹介と未来に向けた展望~
qualiarts
0
660
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
220
Featured
See All Featured
Visualization
eitanlees
150
16k
GraphQLとの向き合い方2022年版
quramy
50
14k
Designing Experiences People Love
moore
143
24k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
What's in a price? How to price your products and services
michaelherold
246
12k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
KATA
mclloyd
PRO
32
15k
Context Engineering - Making Every Token Count
addyosmani
9
490
Transcript
©2022 TC3株式会社 www. tc3.co.jp ©2022 TC3株式会社 Terraform勉強会 2022/07/01
©2022 TC3株式会社 www. tc3.co.jp • Terraformって何? • Terraform実行の流れ • TerraformCLI
agenda
©2022 TC3株式会社 www. tc3.co.jp • Terraformって何? • ただなの? • Cloudformationと何が違うの?
• 前提知識は? • どうやって勉強すると早いの? • ローカルPCに何か入れるの? Terraformって何?
©2022 TC3株式会社 www. tc3.co.jp • いわゆるIacツール • ネットワーク上にある様々なリソースをコードで作成/管理できる ◦ クラウドサービス各種(AWS,GCP,Azure)
◦ SaaS(Auth0,Okta,Githubなど) ▪ ただしクラウドサービスと比べると機能が少ない場合あり Terraformって何? Terraformって何?
©2022 TC3株式会社 www. tc3.co.jp Terraformって何? Terraformって何?(例) resource “auth0_client” “myapp”{ …
} resource “aws_secretsmanager_secret” “auth0” { secure_string = <<-EOF { client_id = auth0_client.myapp.client_id … } } 作成 パラメーター返却 (client_id, client_secret, …) 作成 パラメーター返却 (arn) 更にarn情報をecs_taskに紐づけることも可能
©2022 TC3株式会社 www. tc3.co.jp • CLI版は無料 ◦ いつも利用してるのはこっち • CLoud版は有料
◦ IDE ◦ stateやsecretの管理ができたり、CI/CDを簡単に組んだりできるらしい Terraformって何? ただなの?
©2022 TC3株式会社 www. tc3.co.jp • Cloudformation ◦ よいところ ▪ AWSのサービスとの連携が豊富(SAM,StackSets等)
▪ AWSサポートに対応 ◦ わるいところ ▪ yaml ▪ 抽象化できない(設定値を全部かく必要がある) ▪ AWSのみ対応 Terraformって何? Cloudformationと何が違うの?
©2022 TC3株式会社 www. tc3.co.jp • Terraform ◦ よいところ ▪ マルチプロバイダ対応
▪ コードの抽象化が可能 ◦ わるいところ ▪ これといったベストプラクティスがない ▪ 未対応のリソースがある Terraformって何? Cloudformationと何が違うの?
©2022 TC3株式会社 www. tc3.co.jp • Must ◦ 代表的なサービス名とそれが何をするためのものかがわかる ▪ サーバーを建てたい ->
EC2 などがわかればOK • Want ◦ サービスの依存関係 ▪ 知らなくてもなんとかなる。エラーになるのでそこから調べればよい • Needn’t ◦ 各サービスの細かいパラメータ(docをみればわかる) Terraformって何? 前提知識は?
©2022 TC3株式会社 www. tc3.co.jp • 実践で学ぶ ◦ GUIでのリソース生成を今すぐにやめる ◦ Iacを徹底するならGUIは禁止(仮に検証だとしても)
◦ terraform <サービス名> でぐぐったら大抵ヒットする • Udemy(構文とかまとまってるけど有料) ◦ 超Terraform完全入門 https://www.udemy.com/course/hashicorp-terraform-aws-devops-iac/ • certificateもあるみたいなので公式トレーニング的なのもあるかも Terraformって何? どうやって勉強すると早いの?
©2022 TC3株式会社 www. tc3.co.jp • AWSCLI (Profileの作成・管理に必要) • tfenv (pyenv的なアレ)
• Terraform インストール方法など https://qiita.com/sasshi_i/items/b5117d51fed800fa6b09 Terraformって何? ローカルPCに何か入れるの?
©2022 TC3株式会社 www. tc3.co.jp 1. 作成したいリソースを検索 https://registry.terraform.io/providers/hashicorp/aws/latest/docs 2. コーディング 3.
terraform init 4. terraform plan 5. terraform apply 6. terraform destroy Terraform実行の流れ
©2022 TC3株式会社 www. tc3.co.jp https://registry.terraform.io/providers/hashicorp/aws/latest/docs Terraform実行の流れ 1. 作成したいリソースを検索
©2022 TC3株式会社 www. tc3.co.jp Terraform実行の流れ 2. コーディング
©2022 TC3株式会社 www. tc3.co.jp Terraform実行の流れ 2. コーディング docsから作成したリソース名を調べて入力 terraform上の識別子(任 意の名前)
リソースのパラメーター (これもdocs参照) つまり我々にできることは docsを見ることだけ・・!
©2022 TC3株式会社 www. tc3.co.jp Terraform実行の流れ 3. terraform init
©2022 TC3株式会社 www. tc3.co.jp Terraform実行の流れ 4. terraform plan 指定しなかったパラメータはデフォルトの値が 入力される(Optionalと書いてある箇所は省略
可能)
©2022 TC3株式会社 www. tc3.co.jp 追加、変更、削除の内訳が表示される。 意図していないものが無いかどうか要チェック! Terraform実行の流れ 4. terraform plan
©2022 TC3株式会社 www. tc3.co.jp 最終確認にyesと入力すると処理が開始する Terraform実行の流れ 5. terraform apply
©2022 TC3株式会社 www. tc3.co.jp AWSコンソールから作成されていることを確認 Terraform実行の流れ 5. terraform apply
©2022 TC3株式会社 www. tc3.co.jp 利用料もかかるので満足したら削除しよう Terraform実行の流れ 6. terraform destroy
©2022 TC3株式会社 www. tc3.co.jp StatusがTerminatedになっていることを確認 Terraform実行の流れ 6. terraform destroy
©2022 TC3株式会社 www. tc3.co.jp • terraform console • terraform fmt
• terraform graph • terraform import • terraform output • terraform workspace TerraformCLI 便利コマンド
©2022 TC3株式会社 www. tc3.co.jp 関数のテストやresourceの内容の確認に使える TerraformCLI terraform console
©2022 TC3株式会社 www. tc3.co.jp 汚いコードがきれいに TerraformCLI terraform fmt
©2022 TC3株式会社 www. tc3.co.jp vscodeならextensionを導入すると自動補完可能 settings.json TerraformCLI terraform fmt
©2022 TC3株式会社 www. tc3.co.jp resource間の依存関係を表示できる(これはpngで出力してみた結果) なるほどわからん TerraformCLI terraform graph
©2022 TC3株式会社 www. tc3.co.jp 作成済のリソースをterrafrom管理下における 1. 適当なバケットを作成 2. 空のリソースを作成 TerraformCLI
terraform import
©2022 TC3株式会社 www. tc3.co.jp 4. state list & show ->
main.tfに内容をコピーして管理下に。 TerraformCLI terraform import 3. import -> stateがインポートされる
©2022 TC3株式会社 www. tc3.co.jp https://www.terraform.io/language/state https://www.terraform.io/language/state/remote TerraformCLI terraform import
©2022 TC3株式会社 www. tc3.co.jp TerraformCLI terraform output リソース内の値を取得できる
©2022 TC3株式会社 www. tc3.co.jp TerraformCLI terraform workspace ワークスペースを切り替えることで環境を分けることができる