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
AWSのインフラ構築ツールを比較してみよう
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ohori97
June 30, 2023
Technology
0
390
AWSのインフラ構築ツールを比較してみよう
https://infra365.connpass.com/event/277147/
ohori97
June 30, 2023
Tweet
Share
Other Decks in Technology
See All in Technology
今日から始めるAmazon Bedrock AgentCore
har1101
4
420
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.6k
SchooでVue.js/Nuxtを技術選定している理由
yamanoku
3
210
Webhook best practices for rock solid and resilient deployments
glaforge
2
310
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
0
330
Tebiki Engineering Team Deck
tebiki
0
24k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
220
20260204_Midosuji_Tech
takuyay0ne
1
160
Agent Skils
dip_tech
PRO
0
140
AIエージェントに必要なのはデータではなく文脈だった/ai-agent-context-graph-mybest
jonnojun
1
250
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
130
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
Ethics towards AI in product and experience design
skipperchong
2
200
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
Deep Space Network (abreviated)
tonyrice
0
67
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.9k
Six Lessons from altMBA
skipperchong
29
4.2k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
160
Docker and Python
trallard
47
3.7k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Transcript
AWSのインフラ構築ツールを 比較してみよう おほり @ 6/24 インフラ技術基礎勉強会 #3 1
おしながき 1. 自己紹介 2. ツールの紹介 2.1. Rain 2.2. SAM /
SAM CLI 2.3. CDK / CDK Toolkit 2.4. Copilot CLI 3. まとめ 4. おわりに AWSが(発端や主体となって)開発しているインフラ構築ツール・フレームワークをご紹介 2
1. 自己紹介 おほり (Ayumu Horii) • 理工系出身 • クラウドアーキテクト歴 3年+
• IaC コンテナ技術が好き • 推し: こぎみゅん(サンリオキャラ) • 趣味: お散歩、バイク、VRChat … 3
2. ツールのご紹介 4
2.1 Rain aws cli の使いづらさを解消 5 https://github.com/aws-cloudformation/rain • CloudFormation を操作するためのCLIツール
• “aws cloudformation” コマンドの上位互換的な 存在 ◦ ひな形生成 ◦ テンプレート整形 ◦ イケてるログ表示 ◦ イケてるリソース一覧表示 • 巷の情報は少ない(が、シンプルなので別に困ら ない)
2.1 Rain (ひな型の生成) AWSTemplateFormatVersion: "2010-09-09" Description: Template generated by rain
Resources: MyInstance: Type: AWS::EC2::Instance Properties: AdditionalInfo: CHANGEME # Optional Affinity: CHANGEME # Optional AvailabilityZone: CHANGEME # Optional BlockDeviceMappings: - DeviceName: CHANGEME Ebs: # Optional DeleteOnTermination: false # Optional … 6 $ rain build AWS::EC2::Instance
2.2 SAM CFn + サーバレスアーキテクチャ特化 7 https://github.com/aws/aws-sam-cli • SAM (Serverless
Application Model) • サーバレスリソース用の短縮記法 ◦ 通常 CFn 記法の拡張 ◦ 短く読みやすい ◦ AWS がネイティブ対応 ◦ サーバレス系のみ(Lambda, DynamoDB, …) • テストツールが充実 ◦ コマンド一発でローカルLambdaをデプロイしてテ スト実行 ◦ CFn を介さずに Lambda を更新する SAM Acceralate • パイプライン構築もかんたん ◦ sam pipeline
2.2 SAM (記述量の削減) HelloWorldFunction: Type: AWS::Serverless::Function Properties: CodeUri: hello_world/ Handler:
app.lambda_handler Runtime: python3.9 Architectures: - x86_64 Events: HelloWorld: Type: Api Properties: Path: /hello Method: get Environment: Variables: TABLE_NAME: !Ref Table TABLE_ARN: !GetAtt Table.Arn Policies: - DynamoDBCrudPolicy: TableName: !Ref Table Table: Type: AWS::DynamoDB::Table Properties: AttributeDefinitions: - AttributeName: hello AttributeType: S BillingMode: PAY_PER_REQUEST KeySchema: - AttributeName: hello KeyType: HASH StreamSpecification: StreamViewType: NEW_AND_OLD_IMAGES 8
2.3 CDK 豊富なライブラリとコミュニティ 9 https://github.com/aws/aws-cdk • AWS CDK (Cloud Development
Kit) • インフラをプログラミング言語で記述 ◦ TypeScript, Python 等 ▪ TypeScriptなら型の恩恵を享受できる ◦ プログラミング言語と同じ開発体験 ◦ ライブラリを扱える ▪ 抽象化で記述量を大幅削減 ◦ 最終的に CFn テンプレートに変換 • 管理負荷は高め ◦ かなり頻繁な更新(良いこと) ◦ Node.js の管理 • 学習コストも高め ◦ CFnに加え、言語の知識が必要 • コミュニティが超活発 ◦ Construct Hub: 様々なライブラリが大量に公開 ◦ JAWS にも CDK 支部が存在
2.3 CDK (Construct Hub) 10
2.4 AWS Copilot CLI 誰でも簡単コンテナデプロイ 11 https://github.com/aws/copilot-cli • AppRunner と
ECS へのデプロイに特化したCLI ツール ◦ GitHub Copilot とは無関係 • インフラを意識せずコンテナをデプロイ ◦ 対話形式 ◦ ベストプラクティスな構成を自動適用 • 独自のリソース概念とテンプレート記法 ◦ AWSリソースを抽象化 ◦ 最終的には CFn でデプロイ • 拡張も可能(その気になれば) ◦ CFn テンプレートを追加してカスタムリソース を追加
2.4 Copilot CLI (対話形式) 12
3. まとめ 13
まとめ (むりやり比較表) Rain SAM CDK AWS Copilot こんな人向け CloudFormation を
もっと便利に使いたい サーバレス開発を 加速させたい プログラミング言語と コミュニティの恩恵を 受けたい コンテナを楽に デプロイ・運用したい 汎用性の高さ ★★★ ★★★ ★★★ ★★ 運用負荷の低さ ★★★ ★★★ ★★ ★★★ 難易度の低さ ★★ ★★ ★ ★★★ コミュニティの 活発さ(主観) ★★ ★★ ★★★ ★★ 14
4. おわりに 15
おわりに 16 • それぞれ用途が違うので、目的に合わせて選ぶと良い ◦ SAMとCDKを組み合わせる手法も存在 • 食わず嫌いは損!なんにせよ触ってみよう • 今回紹介できなかった方々
: Amplify CLI, CloudFormation CLI
弊社について 17 株式会社エーピーコミュニケーションズ(APC) • クラウドネイティブ環境の内製化・自動化支援 • 洒落たイベント会場(@神田本社) 貸し出してます • 最近
◦ カプセルトイを企画・発売(?) ◦ APN Certification Distinction 100 に認定