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
ELB vs API Gateway vs CloudFront / 結局何を選べばいいの?
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
haruko_tanabe
January 28, 2025
300
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ELB vs API Gateway vs CloudFront / 結局何を選べばいいの?
haruko_tanabe
January 28, 2025
More Decks by haruko_tanabe
See All by haruko_tanabe
ELB vs API Gateway vs CloudFront / 結局何を選べばいいの?
harukotanabe
1
420
TerraformでS3バケット削除後、再作成するとApplyが終わらない!
harukotanabe
0
130
エンジニア歴1年未満の初心者が3か月でAWS認定試験を全冠した話
harukotanabe
1
7.7k
クラウド未経験者が3か月でAWS認定試験を全冠した話
harukotanabe
0
310
エンジニア歴1年未満の初心者が3か月でAWS認定試験を全冠した話
harukotanabe
0
180
Featured
See All Featured
Chasing Engaging Ingredients in Design
codingconduct
0
230
Making Projects Easy
brettharned
120
6.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
How STYLIGHT went responsive
nonsquared
100
6.2k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
400
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
200
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
400
A Modern Web Designer's Workflow
chriscoyier
698
190k
Skip the Path - Find Your Career Trail
mkilby
1
150
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
250
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
330
Transcript
ELB vs API Gateway vs CloudFront 結局何を選べばいいの? 2025/1/28 tanabe haruko
• アクセンチュア株式会社のエンジニア • 2024 Japan AWS All Certifications Engineers •
Google Cloud認定資格 11種保有 tanabe haruko https://zenn.dev/haruko_tanabe @hrsaaaam
アジェンダ 1. はじめに 2. 各サービスの利用目的 3. 各構成パターンとユースケース 4. まとめ
1 はじめに
はじめに • エンジニア経験が浅いと、インフラアーキテクチャの検討は難易度が高い。 ➢ どのようなケースで、どのサービスを採用すればよいのか判断するための 指針がほしい! • Elastic Load BalancingやAmazon
API Gateway、Amazon CloudFrontは、「アプリケーションのフロントに置き、ユーザーからのアクセ スを受け付ける」という点は共通しているが、それぞれ本質的な目的は異な る。
2 各サービスの利用目的
各サービスの利用目的(1/3) 1. Elastic Load Balancing(ELB) ➢ 1つまたは複数のAZ内の複数のターゲット の ヘルスチェックを行い、受信したトラフィックを 正常なターゲットにのみ自動的に分散させる
ことが目的。 https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html
各サービスの利用目的(2/3) 2. Amazon API Gateway ➢ あらゆる規模のREST、HTTP、およびWebSocket APIを作成、公開、維持、 モニタリング、およびセキュア化することが目的。 https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/getting-started.html
各サービスの利用目的(3/3) 3. Amazon CloudFront ➢ エッジロケーションを経由し、コンテンツを キャッシュ・圧縮することによって、世界中の ユーザーへ低レイテンシーなコンテンツの配 信を実現することが目的。 https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/Introduction.html
3 各構成パターンとユースケース
各構成パターンとユースケース(1/2) Public AWS Cloud Region VPC Private ア プ リ
ALB Cloud Front Public AWS Cloud Region VPC Private ア プ リ ALB ELB(ALB) ELB(ALB) + CloudFront 構成図 ユースケース パフォーマンス コスト ✓ 複数のEC2インスタンスやコンテナベースのWebアプリケーションを バックエンドとして、ヘルスチェックを行いながらリクエストを均一に ルーティングしたい場合。 ✓ ALBの機能に加え、世界中のユーザーに対して低レイテンシーな コンテンツ配信を行いたい場合。 ✓ キャッシュの有効期限や、Invalidation機能を細かく設定したい 場合。 ✓ 実行利用時間に応じた課金体系であるため、アクセス数には影 響されない。 ✓ リクエスト数、及びエッジロケーションからのデータ転送量に応じた課 金体系。 ✓ キャッシュ機能が無いため、CloudFrontと比較するとレイテンシー は高い。 ✓ エッジロケーションでキャッシュを作成できるため、低レイテンシーを 実現可能。
各構成パターンとユースケース(2/2) ELB(NLB) + API Gateway ELB(NLB) + API Gateway +
CloudFront 構成図 ユースケース パフォーマンス コスト ✓ 受信したAPIコール数に応じた課金体系のため、アクセス数に影 響される。 ✓ CloudFrontには及ばないが、キャッシュやペイロード圧縮により最 適化が可能。 AWS Cloud Region VPC Private Public ア プ リ NLB API Gateway Cloud Front AWS Cloud Region VPC Private Public ア プ リ NLB API Gateway ✓ モニタリングや変換、アクセスの上限数のコントロール、バージョニン グ等の機能と併せてAPIを構築・統合管理したい場合。 ✓ API課金や、 AWS Cognitoと連携した認証/認可の仕組みを 利用したい場合。 ✓ API Gatewayの機能に加え、世界中のユーザーに対して低レ イテンシーなコンテンツ配信を行いたい場合。 ✓ キャッシュの有効期限や、Invalidation機能を細かく設定したい 場合。 ✓ キャッシング効果により、アクセス数が多いほど、コスト削減につなが りやすい。 ✓ エッジロケーションでキャッシュを作成できるため、低レイテンシーを実 現可能。
4 まとめ
まとめ • アプリケーションに求められる要件(ルーティング、セ キュリティレベル、レスポンス速度、等)によって、適し たサービスが存在する。 • その他詳細は以下記事参照。 https://zenn.dev/acntechjp/articles/8bde90d02ff2ef
Thank you!