Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
IaC完全に理解した 話す人:ゆの @Yuno_nekoisland 2024/04/26 エンジニア作業飲み集会 LT会 #5-○○完全に理解した 1
Slide 2
Slide 2 text
0.何者???? 2024/04/26 エンジニア作業飲み集会 LT会 #5-○○完全に理解した 2 名前:ゆの(@Yuno_nekoisland) • SIerにいた人⇒転職活動中 • AWSよく触ってた • 最近はGCP触ってる
Slide 3
Slide 3 text
目次 2024/04/26 エンジニア作業飲み集会 LT会 #5-○○完全に理解した 3 1. IaCとは 2. 実践してみた
Slide 4
Slide 4 text
1.IaCとは 2024/04/26 エンジニア作業飲み集会 LT会 #5-○○完全に理解した 4 Infrastructure as Code 手動で設定していたインフラストラクチャを、コードによる管理・デプロイが可能 ■ツール AWS CloudFormation Azure Resource Manager
Slide 5
Slide 5 text
1.IaCとは 2024/04/26 エンジニア作業飲み集会 LT会 #5-○○完全に理解した 5 ■メリット • 複製可⇒複数環境への転用可 • ヒューマンエラーの抑制 • Git等でのバージョン管理
Slide 6
Slide 6 text
1.IaCとは 2024/04/26 エンジニア作業飲み集会 LT会 #5-○○完全に理解した 6 ・GUIでの設定 手動操作が必要 ⇒本番作業手順書作るのも大変……
Slide 7
Slide 7 text
1.IaCとは 2024/04/26 エンジニア作業飲み集会 LT会 #5-○○完全に理解した 7 ・IaCでの設定 明示的に各種項目の設定をコーディング GUIだと暗黙的に作成される設定も多いが、 IaCだと設定内容を意図的に設定できる。
Slide 8
Slide 8 text
1.IaCとは 2024/04/26 エンジニア作業飲み集会 LT会 #5-○○完全に理解した 8 ・IaCでの設定 明示的に各種項目の設定をコーディング terraform plan コマンドでdry-runできる
Slide 9
Slide 9 text
1.IaCとは 2024/04/26 エンジニア作業飲み集会 LT会 #5-○○完全に理解した 9 ・IaCでの設定 明示的に各種項目の設定をコーディング terraform apply コマンドでデプロイ
Slide 10
Slide 10 text
1.IaCとは 2024/04/26 エンジニア作業飲み集会 LT会 #5-○○完全に理解した 10 ・IaCでの設定 明示的に各種項目の設定をコーディング Cloud Storageのバケットが作成できている。
Slide 11
Slide 11 text
1.IaCとは 2024/04/26 エンジニア作業飲み集会 LT会 #5-○○完全に理解した 11 ■デメリット • 学習コストが高い • 導入するツールそれ自体/記法の理解が必要 • IaCツールを実行する環境を用意する必要がある • Terraformで言えば、CLIの実行が必要 • バージョン更新もあるため、管理コストもある
Slide 12
Slide 12 text
2.実践してみた 2024/04/26 エンジニア作業飲み集会 LT会 #5-○○完全に理解した 12 ■構成図 • 囲った範囲をTerraform化
Slide 13
Slide 13 text
2.実践してみた 2024/04/26 エンジニア作業飲み集会 LT会 #5-○○完全に理解した 13 ■構成図 ・Bucket内のフォルダも宣言的に指定 ・Schedulerでの時間起動により、 Pub/SubトピックからFunction実行 ・データソースに合わせて、FunctionのEventarcトリガーを指定
Slide 14
Slide 14 text
2.実践してみた 2024/04/26 エンジニア作業飲み集会 LT会 #5-○○完全に理解した 14 ■工夫 • 工夫中……! • main.tfにすべての定義をしている • ⇒サービスごとにmain.tfを分けるべきか? ・Cloud Storageのフォルダ ・Cloud Functions ・BigQueryのテーブル ⇒リソースが多いため、1ファイルにまとめずに サービスごとのディレクトリを切るべきか?
Slide 15
Slide 15 text
2.実践してみた 2024/04/26 エンジニア作業飲み集会 LT会 #5-○○完全に理解した 15 ■工夫 GCP └─main.tf GCP ├─Cloud Functions ├─Cloud Scheduler ├─Cloud Storage …… ・クラウド毎/環境毎等でのディレクトリ構成もできる。 ただ、今回の構成程度の規模なら分ける意味もあるのか……等とも考えたりする。
Slide 16
Slide 16 text
まとめ 2024/04/26 エンジニア作業飲み集会 LT会 #5-○○完全に理解した 16 インフラストラクチャをコード管理できる感動……! ブラウザ上の設定画面をぺちぺち貼り付けて本番リリース手順書作らなく てもよい感動……! 皆もIaCしよう!