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
TC3_Terraform勉強会資料_part1
Search
TC3株式会社
July 01, 2022
Technology
0
770
TC3_Terraform勉強会資料_part1
TC3にて実施したTerraform勉強会の資料Part1です。
TC3株式会社
July 01, 2022
Tweet
Share
More Decks by TC3株式会社
See All by TC3株式会社
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
120
TC3紹介資料_v202303(候補者向け)
tc3jp
0
13k
TC3 社内勉強会 Content Security Policy
tc3jp
1
440
Workload Identity Federationとは_TC3_IDaaS勉強会_revised
tc3jp
0
720
Workload Identity Federationとは_TC3_IDaaS勉強会
tc3jp
0
67
TC3会社紹介資料_short_v202203.pdf
tc3jp
0
4.4k
Other Decks in Technology
See All in Technology
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
8
780
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.6k
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
1.6k
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
4
200
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.6k
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
9
4.1k
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
550
フォーイット_エンジニア向け会社紹介資料_Forit_Company_Profile.pdf
forit_tech
1
1.7k
アジリティを高めるテストマネジメント #QiitaQualityForward
makky_tyuyan
1
260
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
non97
1
240
手を動かしてレベルアップしよう!
maruto
0
250
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.8k
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
244
12k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Docker and Python
trallard
44
3.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Navigating Team Friction
lara
183
15k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
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 ワークスペースを切り替えることで環境を分けることができる