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
850
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
6
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
310
TC3紹介資料_v202303(候補者向け)
tc3jp
0
16k
TC3 社内勉強会 Content Security Policy
tc3jp
1
510
Workload Identity Federationとは_TC3_IDaaS勉強会_revised
tc3jp
0
810
Workload Identity Federationとは_TC3_IDaaS勉強会
tc3jp
0
77
TC3会社紹介資料_short_v202203.pdf
tc3jp
0
5.2k
Other Decks in Technology
See All in Technology
ファインディにおける Dataform ブランチ戦略
hiracky16
0
220
ecspressoの設計思想に至る道 / sekkeinight2025
fujiwara3
12
2.1k
Snowflake のアーキテクチャは本当に筋がよかったのか / Data Engineering Study #30
indigo13love
0
290
【CEDEC2025】LLMを活用したゲーム開発支援と、生成AIの利活用を進める組織的な取り組み
cygames
PRO
1
1.8k
大規模組織にAIエージェントを迅速に導入するためのセキュリティの勘所 / AI agents for large-scale organizations
i35_267
6
340
サイバー攻撃のシミュレーション:攻撃者の視点からみる防御のむずかしさ!AWSで試してみよう / 20250423 Kumiko Hemmi
shift_evolve
PRO
1
120
AI時代の知識創造 ─GeminiとSECIモデルで読み解く “暗黙知”と創造の境界線
nyagasan
0
170
Vision Language Modelと自動運転AIの最前線_20250730
yuyamaguchi
2
770
AI によるドキュメント処理を加速するためのOCR 結果の永続化と再利用戦略
tomoaki25
0
160
メモ整理が苦手な者による頑張らないObsidian活用術
optim
0
150
AIに全任せしないコーディングとマネジメント思考
kikuchikakeru
0
280
2025/07/22_家族アルバム みてねのCRE における生成AI活用事例
masartz
2
150
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
1.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
720
Side Projects
sachag
455
43k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Writing Fast Ruby
sferik
628
62k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
760
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
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 ワークスペースを切り替えることで環境を分けることができる