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
330
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
450
TerraformでS3バケット削除後、再作成するとApplyが終わらない!
harukotanabe
0
140
エンジニア歴1年未満の初心者が3か月でAWS認定試験を全冠した話
harukotanabe
1
7.7k
クラウド未経験者が3か月でAWS認定試験を全冠した話
harukotanabe
0
330
エンジニア歴1年未満の初心者が3か月でAWS認定試験を全冠した話
harukotanabe
0
190
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
The SEO identity crisis: Don't let AI make you average
varn
0
530
A Tale of Four Properties
chriscoyier
163
24k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
530
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
Making Projects Easy
brettharned
120
6.7k
Navigating Weather and Climate Data
rabernat
0
480
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
470
WENDY [Excerpt]
tessaabrams
11
39k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
240
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!