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
480
色々なIaCツールを実際に触って比較してみる
入井 啓太
October 30, 2024
Tweet
Share
More Decks by 入井 啓太
See All by 入井 啓太
色々なAWSサービス名の由来を調べてみた
iriikeita
0
230
何故負荷試験が大切かを考える
iriikeita
0
220
Amazon GameLiftの 構成要素を整理する
iriikeita
0
380
AWSでゲームサーバーを運用! Amazon GameLiftのお話
iriikeita
0
640
Zendeskでコールセンター・ヘルプデスク業務に手軽に生成AIのパワーを取り入れる方法
iriikeita
0
940
SendGridと連携して顧客にマーケティングメールを送るZendeskアプリを作ってみた
iriikeita
0
920
Other Decks in Programming
See All in Programming
Devin入門と最近のアップデートから見るDevinの進化 / Introduction to Devin and the Evolution of Devin as Seen in Recent Update
rkaga
7
3.6k
ローコードサービスの進化のためのモノレポ移行
taro28
1
330
remix + cloudflare workers (DO) docker上でいい感じに開発する
yoshidatomoaki
0
120
Modern Angular:Renovation for Your Applications @angularDays 2025 Munich
manfredsteyer
PRO
0
120
アーキテクトと美学 / Architecture and Aesthetics
nrslib
12
2.9k
Devinのメモリ活用の学びを自社サービスにどう組み込むか?
itarutomy
0
1.6k
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
150
パスキーのすべて / 20250324 iddance Lesson.5
kuralab
0
120
NestJSのコードからOpenAPIを自動生成する際の最適解を探す
astatsuya
0
180
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
830
20250326_生成AIによる_レビュー承認システムの実現.pdf
takahiromatsui
17
5.2k
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
6
3k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Building Adaptive Systems
keathley
41
2.5k
RailsConf 2023
tenderlove
29
1k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Speed Design
sergeychernyshev
28
860
Rails Girls Zürich Keynote
gr2m
94
13k
Into the Great Unknown - MozCon
thekraken
36
1.7k
We Have a Design System, Now What?
morganepeng
51
7.5k
A Tale of Four Properties
chriscoyier
158
23k
Typedesign – Prime Four
hannesfritz
41
2.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
490
Build your cross-platform service in a week with App Engine
jlugia
229
18k
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はどちらも必要な機能は整っており、後は細 かな機能の違いでどちらを選択するか決めることになりそう。 結論:何がベターなツールかは状況による
ありがとうございました