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
みゃっちーLT資料.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
みゃっちー
September 28, 2023
0
49
みゃっちーLT資料.pdf
みゃっちー
September 28, 2023
Tweet
Share
More Decks by みゃっちー
See All by みゃっちー
JAWSUG-富山#1 LT 富山でAWSを学ぶ
fujiihiroki
0
22
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.7k
Context Engineering - Making Every Token Count
addyosmani
9
740
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
230
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
190
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Raft: Consensus for Rubyists
vanstee
141
7.3k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
170
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
300
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Transcript
[デベキャンプラクティスLT大会] Terraformを使ってみた! ~インストールからTerraform cloudと GitHubを連携したCI/CD環境の構築~ 藤井広輝 2023/09/25
自己紹介 名前 藤井 広輝(みゃっちー) 所属 北陸職業能力開発大学校 生産電子情報システム技術科4年生 開発 ベアリング画像処理外観検査システム 仮想ラインを使った無人搬送車
アジェンダ • IaCのメリットデメリット • 導入までの流れ • モジュールとは • ディレクトリ構造 •
Terrafrom cloud とは • Terrafrom cloudの機能
IaCとは? システムインフラ構築をコードを用いて行うこと。 どんないいことがある? ・ヒューマンエラーの防止 ・一貫性のある環境構築が可能 ・保守性の向上 ・環境構築の手間、時間の削減
デメリットは? ・学習コストが高い ・構成管理ツールの導入や構築に時間がかかる ・コード化に時間がかかる Terraform使い始めの僕→
使用ツール ・Windows11 Home ・Visual Studio Code 1.82.2 ・Terraform v1.5.4 ・git
version 2.39.2.windows.1
Terraform環境準備 1 . IaC用のIAMユーザを作成し、アクセスキーとシークレットア クセスキーを環境変数に設定。 2. windows用の無料オープンソースパッケージツールchocolateyを インストール ※公式サイトのコマンドを管理者権限のパワーシェルで実行してダウンロード https://chocolatey.org/install
・ダウンロード “choco install terraform” ・フォルダを作成してその中にmain.tfを作成 ・バイナリファイル準備 “terraform init” ・リソースの実行計画 “terraform
Plan” ・展開 “terraform apply” ・削除 “terraform destroy” Terraform環境準備 これだけで展開削除はできる!簡単!
モジュールとは!? • 設定値を渡すと構築を行ってくれる関数みたいなもの! VPCモジュール ・リージョン ・名前 ・CIDR ・PublicSubnetの数 ・PublicSubnetの名前 ・PrivateSubnetの数
・PrivateSubnetの名前 ・AZ …etc ・vpcID ・PublicSubnetID ・PrivateSubnetID …etc 入力! 構築! 出力
モジュール自分でも作れるけど…
モジュールのフォルダ • variables.tf(入力) ・output.tf(出力)
VPCモジュール 複数のモジュールを組み合わせ RDSモジュール EC2モジュール サブネットIDなど SGモジュール サブネットモ ジュール VPCスタック データベーススタック
EC2スタック
・全スタックの展開状態が一目でわかる! ・スタックごとの変更履歴がGitHubと連携して一目でわかる! ・Githubのリポジトリのコードに変更があると、それぞれのス タックにどのような変更があるかを自動で検査する! ・スタックから構築した環境をマネジメントコンソールなどから 変更した場合に差分をチェックしてすぐ元の環境に戻せる! ・スタックごとに環境を削除することができる! Terraform cloud
全スタックの展開状態が一目でわかる!
スタックごとの変更履歴がGitHubと 連携して一目でわかる!
GitHubのリポジトリのコードに変更があると、それぞれの スタックにどのような変更があるかを自動で検査する!
スタックから構築した環境をマネジメントコンソール などから変更した場合に差分をチェックしてすぐ元の 環境に戻せる! ※スタックでt2.microのEC2インスタンスを構築した後に マネジメントコンソールからt3.microに変更
スタックごとに環境を 削除することができる!
Terraformまとめ •学習コストが高い!!!!! • 独自言語をデメリットに挙げているが自分はデメリットに感じ なかった • ディレクトリ構造が人によってバラバラ! • 積極的に使っていきたい
ご清聴ありがとうございました!