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
860
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
320
TC3紹介資料_v202303(候補者向け)
tc3jp
0
16k
TC3 社内勉強会 Content Security Policy
tc3jp
1
510
Workload Identity Federationとは_TC3_IDaaS勉強会_revised
tc3jp
0
820
Workload Identity Federationとは_TC3_IDaaS勉強会
tc3jp
0
78
TC3会社紹介資料_short_v202203.pdf
tc3jp
0
5.3k
Other Decks in Technology
See All in Technology
AIに目を奪われすぎて、周りの困っている人間が見えなくなっていませんか?
cap120
1
620
バクラクによるコーポレート業務の自動運転 #BetAIDay
layerx
PRO
1
950
MCP認可の現在地と自律型エージェント対応に向けた課題 / MCP Authorization Today and Challenges to Support Autonomous Agents
yokawasa
5
2.3k
Google Agentspaceを実際に導入した効果と今後の展望
mixi_engineers
PRO
3
700
「Roblox」の開発環境とその効率化 ~DAU9700万人超の巨大プラットフォームの開発 事始め~
keitatanji
0
120
【OptimizationNight】数理最適化のラストワンマイルとしてのUIUX
brainpadpr
2
480
【新卒研修資料】数理最適化 / Mathematical Optimization
brainpadpr
27
13k
Eval-Centric AI: Agent 開発におけるベストプラクティスの探求
asei
0
120
家族の思い出を形にする 〜 1秒動画の生成を支えるインフラアーキテクチャ
ojima_h
3
1.1k
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
6.3k
Backlog AI アシスタントが切り開く未来
vvatanabe
1
130
LLMをツールからプラットフォームへ〜Ai Workforceの戦略〜 #BetAIDay
layerx
PRO
1
980
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
524
40k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
760
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Become a Pro
speakerdeck
PRO
29
5.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
RailsConf 2023
tenderlove
30
1.2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
440
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
The World Runs on Bad Software
bkeepers
PRO
70
11k
It's Worth the Effort
3n
185
28k
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 ワークスペースを切り替えることで環境を分けることができる