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
色々なIaCツールを実際に触って比較してみる
Search
入井 啓太
October 30, 2024
Programming
0
190
色々なIaCツールを実際に触って比較してみる
入井 啓太
October 30, 2024
Tweet
Share
More Decks by 入井 啓太
See All by 入井 啓太
何故負荷試験が大切かを考える
iriikeita
0
140
Amazon GameLiftの 構成要素を整理する
iriikeita
0
170
AWSでゲームサーバーを運用! Amazon GameLiftのお話
iriikeita
0
380
Zendeskでコールセンター・ヘルプデスク業務に手軽に生成AIのパワーを取り入れる方法
iriikeita
0
690
SendGridと連携して顧客にマーケティングメールを送るZendeskアプリを作ってみた
iriikeita
0
760
Other Decks in Programming
See All in Programming
Synchronizationを支える技術
s_shimotori
1
140
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
1
170
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
140
Vitest Browser Mode への期待 / Vitest Browser Mode
odanado
PRO
2
1.6k
現場で役立つモデリング 超入門
masuda220
PRO
12
2.7k
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
870
約9000個の自動テストの 時間を50分->10分に短縮 Flakyテストを1%以下に抑えた話
hatsu38
21
9.9k
Nuxtベースの「WXT」でChrome拡張を作成する | Vue Fes 2024 ランチセッション
moshi1121
1
330
開発効率向上のためのリファクタリングの一歩目の選択肢 ~コード分割~ / JJUG CCC 2024 Fall
ryounasso
0
330
2万ページのSSG運用における工夫と注意点 / Vue Fes Japan 2024
chinen
3
1.3k
C#/.NETのこれまでのふりかえり
tomokusaba
1
140
Importmapを使ったJavaScriptの 読み込みとブラウザアドオンの影響
swamp09
3
1.2k
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
280
The Invisible Side of Design
smashingmag
297
50k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
41
9.2k
Embracing the Ebb and Flow
colly
84
4.4k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Making the Leap to Tech Lead
cromwellryan
132
8.9k
Thoughts on Productivity
jonyablonski
67
4.3k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
GitHub's CSS Performance
jonrohan
1030
460k
The Cult of Friendly URLs
andyhume
78
6k
Transcript
色々なIaCツールを実際に触って比較してみる 2024/10/28 JAWS-UG 名古屋 IaC運用のリアルを語りたい!LT大会 入井 啓太
2 自己紹介 名前:入井啓太(@iridon0920) 所属:クラスメソッド株式会社 ゲームソリューション部/業務効率化ソリューション部 肩書:サーバーサイドエンジニア 業務領域: ゲーム開発運用支援 SaaS導入支援(Zendesk等)
居住:名古屋 趣味:ゲーム、漫画、猫、筋トレなど
ぶっちゃけあんまり触っていないです 私のIaC利用状況 • クラウド系はAWS CDKを多少触ったことある程度 ◦ でかい環境の構築・運用はやったことがない • Dockerは開発環境構築とかで昔触っていた ◦
IaCの魅力はDockerで学んだ • IaCコードはプログラム言語の方がやりやすい 今回は初心者目線で各種 IaCツールを触った感想を話します。
クラウド系はいくつかあるけど何が違うんだろう?
実際に触ってみる
試作環境の構成図
実際に触ってみる 1. AWS CDK 2. Terraform 3. Pulumi
AWS CDKの概要 AWSによるAWSのためのIaCツール • 2018年公開 • 各種プログラミング言語でリソース定義を書ける ◦ TypeScript, Python,
Java, C#, Go • Cloudformationテンプレートを生成 ◦ 実際のリソース作成はこれを使う • Cloudformationより簡潔に書ける • AWS以外には対応していない
AWS CDKコード例(VPC、オートスケーリンググループ)
AWS CDKコード例(ACM証明書発行->Cloudfrontでの利用)
AWS CDKの感想 • 慣れ親しんだプログラミング言語を使って書けるのが良い • パラメータ指定が最低限で済むように抽象化されている ◦ 今回の3つのツールで記述量が一番少なかった ◦ 必要に応じて細かく設定することも可能
• AWS純正なので安心感がある。 • 今回はAWS環境のみなので何の問題も無かったが、もしマルチ クラウドや各種SaaSと連携した環境を構築する場合悩ましくなる
実際に触ってみる 1. AWS CDK 2. Terraform 3. Pulumi
Terraformの概要 Hashicorp社による様々な環境に対応した IaCツール • 2014年公開 • 各種パブリッククラウドだけでなくSaaS製品、仮想環境などのIaC 化に利用可能 • コードは独自のHCLという記法で書くのが基本
◦ CDK for Terraformではプログラミング言語を利用可能 • Terraform Cloudという管理環境をSaaSで提供
Terraformコード例(VPC、オートスケーリンググループ)
Terraformコード例(ACM証明書発行->Cloudfrontでの利用)
Terraformの感想 • 独自の記述方法なので学習コストがかかる ◦ CDK for Terraformである程度クリアできそう • AWS CDKと比べると記述量が多い
◦ 逆に言えばリソースの中身を細かく管理することができる • 今回の環境はAWSオンリーだが、マルチクラウド等複数環境を1 つのコードベースで管理できるのは非常に大きな強み
実際に触ってみる 1. AWS CDK 2. Terraform 3. Pulumi
Pulumiの概要 Pulumi社によるOSSのIaCツール • 2017年公開 • Terraform同様各種パブリッククラウドやSaaS製品に広く対応 ◦ Terraformで提供しているプロバイダもサポート • 各種プログラミング言語でリソース定義を書ける
◦ TypeScript, Python, Java, C#, Go, YAML • Pulumi CloudというSaaSの管理環境を標準で提供 • Pulumi AIという生成AI機能を使用可能
Pulumiコード例(VPC、オートスケーリンググループ)
Pulumiコード例(ACM証明書発行->Cloudfrontでの利用)
Pulumiの感想 • AWS CDK同様プログラミング言語を使って書ける ◦ ただし記述量は多くリソースの中身を細かく管理する形 • Pulumi Cloudは標準でLocalから利用可能 ◦
Terraform CloudはLocalで使う場合トークン設定が必要 • Terraform同様、幅広い環境に対応しているのは明確な強み • Pulumi AIはユニークだが、生成されたコードは細かい調整が必 要 • Local利用時、AWSのMFA認証に対応していないなど、細かい部 分で他ツールよりも機能が不足している印象
3つのツールを使った印象 • AWSしか使わないならAWS CDKが学習コスト含めて一番使いやす い気がする。 • マルチクラウド等が必須であればTerraformかPulumiが良い。 ◦ Terraformは学習コストの問題はあるが、Terraform CDKで解決
できそう。記述の抽象化も対応しているらしい。 ◦ TerraformとPulumiはどちらも必要な機能は整っており、後は細 かな機能の違いでどちらを選択するか決めることになりそう。 結論:何がベターなツールかは状況による
ありがとうございました