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
630
色々なIaCツールを実際に触って比較してみる
入井 啓太
October 30, 2024
Tweet
Share
More Decks by 入井 啓太
See All by 入井 啓太
AWS発のAIエディタKiroを使ってみた
iriikeita
1
160
kiroでゲームを作ってみた
iriikeita
0
190
色々なAWSサービス名の由来を調べてみた
iriikeita
0
290
何故負荷試験が大切かを考える
iriikeita
0
320
Amazon GameLiftの 構成要素を整理する
iriikeita
0
540
AWSでゲームサーバーを運用! Amazon GameLiftのお話
iriikeita
0
800
Zendeskでコールセンター・ヘルプデスク業務に手軽に生成AIのパワーを取り入れる方法
iriikeita
0
1.1k
SendGridと連携して顧客にマーケティングメールを送るZendeskアプリを作ってみた
iriikeita
0
1k
Other Decks in Programming
See All in Programming
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
240
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
150
ぬるぬる動かせ! Riveでアニメーション実装🐾
kno3a87
1
110
速いWebフレームワークを作る
yusukebe
5
1.7k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
210
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
260
Microsoft Orleans, Daprのアクターモデルを使い効率的に開発、デプロイを行うためのSekibanの試行錯誤 / Sekiban: Exploring Efficient Development and Deployment with Microsoft Orleans and Dapr Actor Models
tomohisa
0
240
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
5
1.8k
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
[FEConf 2025] 모노레포 절망편, 14개 레포로 부활하기까지 걸린 1년
mmmaxkim
0
1.4k
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
130
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
120
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
A designer walks into a library…
pauljervisheath
207
24k
Writing Fast Ruby
sferik
628
62k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Docker and Python
trallard
45
3.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Six Lessons from altMBA
skipperchong
28
4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
4 Signs Your Business is Dying
shpigford
184
22k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
800
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はどちらも必要な機能は整っており、後は細 かな機能の違いでどちらを選択するか決めることになりそう。 結論:何がベターなツールかは状況による
ありがとうございました