🎉
AWS Global Acceleratorで海外からの接続を高速化した話
こんにちは!今回は、日本の東京リージョンで稼働しているALB(Application Load Balancer)から配信しているコンテンツへの海外からの接続速度を改善するために、AWS Global Acceleratorを導入例をご紹介します。
背景
とあるサービスで、日本(東京リージョン)のALBから配信しているコンテンツがあります。このコンテンツを海外(特定の国)からアクセスする場合、次のような問題が発生していました。
- 接続遅延が大きい:ユーザー体験が著しく損なわれるほど。
- 改善の要求:サービス利用者から「どうにか速度を上げてほしい」という声が。
調査の結果、原因はインターネット経路の長さや混雑にあると判明。解決方法として、AWSのサービスを活用することを検討しました。
解決策の検討
1. CloudFrontを使う方法
まず最初に考えたのがCloudFront。しかし、以下の理由から見送りました:
- 配信するコンテンツはキャッシュ可能な静的データではなく、動的なデータが多い。
- CloudFrontを利用する場合、キャッシュ設定やドメイン変更が必要になる。
- 構成を考え直す時間がなく、手間のかかる変更は避けたい。
2. Global Acceleratorの導入
AWS Global Acceleratorは以下の理由で最適と判断しました:
- キャッシュ不要の動的コンテンツにも対応。
- 既存のALB構成に大きな変更を加えずに導入可能。
- グローバルなAWS専用ネットワークで、遅延を低減。
Global Acceleratorの導入手順
実際に導入した手順は次の通りです。
1. アクセラレーターの作成
- AWS Management ConsoleのGlobal Acceleratorメニューから新規アクセラレーターを作成。
- 固定された2つのグローバルIPアドレスが自動で割り当てられました。
2. エンドポイントグループの設定
- 東京リージョンのALBをエンドポイントとして追加。
- 健全性チェック(ヘルスチェック)を有効化して、ALBが正常に稼働しているか確認。
3. DNS設定の変更
- DNSレコードにGlobal Acceleratorの提供するエイリアスレコード(AWSのエイリアスターゲット)を設定。これにより、アクセラレーターの管理するグローバルIPアドレスが自動的に解決されます。
結果と改善効果
導入後、海外(特定の国)からの接続速度は以下のように改善しました。
-
接続遅延が大幅に低減
AWSのグローバルネットワークを利用することで、インターネット経路の混雑を回避できました。 -
ユーザー体験が向上
動的コンテンツへのアクセスがスムーズになり、利用者からの評価も上昇。
また、設定変更後は特に手間なく運用が継続できており、管理負担の軽減にもつながっています。
導入時のポイント
-
最小限の構成変更で導入可能
CloudFrontのようにキャッシュ設定を変更する必要がなく、ALBのエンドポイント設定だけで対応可能でした。 -
動的コンテンツにも対応可能
キャッシュが不要なシナリオでは、Global Acceleratorが非常に効果的です。
まとめ
今回、AWS Global Acceleratorを導入したことで、海外からの接続遅延という問題を短期間で解決することができました。
特に、構成変更の余裕がない状況でも適用可能であったことが、選定理由として大きかったです。
もし同様の課題に直面している方がいれば、ぜひ一度Global Acceleratorの導入を検討してみてください!
Discussion