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
660
色々なIaCツールを実際に触って比較してみる
入井 啓太
October 30, 2024
Tweet
Share
More Decks by 入井 啓太
See All by 入井 啓太
Claude CodeによるAI駆動開発の実践 〜そこから見えてきたこれからのプログラミング〜
iriikeita
0
320
AWS発のAIエディタKiroを使ってみた
iriikeita
1
240
kiroでゲームを作ってみた
iriikeita
0
230
色々なAWSサービス名の由来を調べてみた
iriikeita
0
320
何故負荷試験が大切かを考える
iriikeita
0
350
Amazon GameLiftの 構成要素を整理する
iriikeita
0
580
AWSでゲームサーバーを運用! Amazon GameLiftのお話
iriikeita
0
850
Zendeskでコールセンター・ヘルプデスク業務に手軽に生成AIのパワーを取り入れる方法
iriikeita
0
1.1k
SendGridと連携して顧客にマーケティングメールを送るZendeskアプリを作ってみた
iriikeita
0
1.1k
Other Decks in Programming
See All in Programming
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
190
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
160
Pythonに漸進的に型をつける
nealle
1
110
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
300
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
200
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
150
CSC305 Lecture 09
javiergs
PRO
0
300
AI Agent 時代的開發者生存指南
eddie
4
2.1k
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
12
7.1k
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.5k
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
2
670
なぜGoのジェネリクスはこの形なのか? - Featherweight Goが明かす設計の核心
qualiarts
0
240
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
610
Visualization
eitanlees
149
16k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
A Tale of Four Properties
chriscoyier
161
23k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Why Our Code Smells
bkeepers
PRO
340
57k
RailsConf 2023
tenderlove
30
1.3k
We Have a Design System, Now What?
morganepeng
53
7.8k
KATA
mclloyd
PRO
32
15k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
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はどちらも必要な機能は整っており、後は細 かな機能の違いでどちらを選択するか決めることになりそう。 結論:何がベターなツールかは状況による
ありがとうございました