【レポート】How Amazon.com uses AWS Regions to improve customer experience #AWSreInvent #ARC328
セッション概要(公式サイトより日本語訳)
Amazon.comがどのように、そしてなぜより多くのAWSリージョンに拡大し、サービスを簡単に展開および移動できるように構築しているのかを学びましょう。このセッションでは、複数のAWSリージョンを使用する利点と、Amazon.comが地域的に柔軟なサービスを構築および管理するために得た知見やベストプラクティスを紹介します。特定のリージョンからサービスを切り離すアプローチ、アプリケーションのレイテンシや依存関係を管理する方法、そしてリージョンの多様性、顧客への近接性、コスト最適化といった利点を活用するためのアーキテクチャ設計について学ぶことができます。
こちらのセッションはYoutubeで公開されています。
セッション内容
はじめに
多くの企業がリージョンを複数もつことで、可用性を高め、新たなビジネスチャンスにチャレンジしようとしています。
Amazon.comが複数リージョンを展開してきた実例と、展開する上での考慮すべき事項の紹介がありました。
AWSリージョンの活用の背景と目的
- AmazonはAWSリージョンを活用して可用性を向上させ、顧客体験を改善している。
- リージョンを増やす動機としては以下が挙げられる。
- 可用性の向上: 障害発生時のフェイルオーバーを容易にする。
- レイテンシーの削減: 顧客に近いリージョンを利用することで、応答速度を向上されることが可能である。
- データ規制に対応する: 各国のデータローカリゼーション規制への対応。
- 新たなビジネスチャンス: 地域拡大により新しい市場やアイデアを開拓することができる。
成功事例 としてプライムビデオがあげられることができる
- ライブイベント(スポーツなど)のストリーミングで、回復力と低レイテンシーが重要である。
- マルチリージョン化を採用し、上記を満たしながら、顧客体験を向上。
- DynamoDBのグローバルテーブルを活用し、データの最終的な一貫性を確保した。
移行プロセスとツール
- インフラストラクチャの準備をする。
- インフラストラクチャ・アズ・コード(IaC)の採用を推奨。手動設定のミスを防ぎ、効率的な管理を実現する。
- データ移行に最適なサービスを利用する。
- S3: クロスリージョンレプリケーション(CRR)やバッチレプリケーションを使用する。
- DynamoDB: グローバルテーブルを活用し、データの複製を効率化する。
- Aurora/RDS: 読み取りレプリカを作成し、データベースの移行を段階的に実施する。
- ネットワークを考慮する。
- VPCピアリングやトランジットゲートウェイを利用して、リージョン間の接続を確保する
- プライベートリンクを活用し、セキュリティを強化する。
移行時に注意すべきこと
- 技術的負債を放置しない。
- 古い構成や非効率的な設定が、新しいリージョンへの移行を妨げる。構成の標準化やモダン化常に実施する。
- 一貫性モデルを意識する
- 強い一貫性が求められる場合、アプリケーションロジックで補完を行う
- 終的な一貫性を採用することで、運用を簡素化。
- 依存関係を管理する
- アプリケーション間の依存関係を明確化し、移行時の遅延や障害を最小化する。
リージョンの選択に関する注意すべきこと
- リージョン間の違いを理解する
- 新リージョン(オプトインリージョン)は、IAMやインスタンスタイプの動作が異なることがある
- リソースの割り当て
- 各リージョンでのリソース割り当てを事前に確認し、必要に応じて調整する。
- サービスの可用性
- 新リージョンではすべてのAWSサービスが利用可能ではない場合があるため、事前に確認が必要である
顧客中心のアプローチを取ることが最も重要である
- Amazonのリーダーシップ原則に基づき、常に顧客体験を最優先する。
- レイテンシやコスト削減、データ規制対応を通じて、顧客満足度を向上する。
結論
- AWSリージョンの活用は、Amazonが顧客体験を向上させるための重要な戦略である。
- レイテンシ削減、可用性向上、コスト削減、新たなビジネスチャンスの開拓が実現できる。
- 技術的課題を克服するため、インフラストラクチャのモダン化やツールの活用は不可欠である。
印象に残ったセッションの資料
- アジェンダ
- プライムビデオはマルチリージョンの成功例である
- 2023年時のコンセプト
- マルチリージョン化するプロセスの中で、モダン化は常に必要!と 赤枠 で括られてました。
- トレードオフの考慮項目
- 新リージョンに対する考慮項目
- データ移行に関して、DynamoDB Global Tableのサービスを紹介
- データ移行方法と、マルチリージョンにおけるDBサービス、アーキテクト構成の紹介
Q&Aをしてみた
- Q:複数リージョンを展開する上で、コスト面で特に考慮することは何か?
- A(Lisaさん回答):並行して複数のスタックを維持することが可能かどうかの考慮が必要。また並行スタックをどのくらいの期間維持できるかを検討する必要があると思います。
- A(Frankさん回答):地域によっては、運用コストや保険料が異なる点の考慮が必要。コストにこだわる場合、インフラをどこで稼働させるか拘らないのであれば、より安価なリージョンを選択することが可能です。リージョンへの移行にはいくらかのコストがかかりますが、個々のリージョンに独立したスタックをセットアップすれば、コストは短期的なコストだけで、長期的な増分コストははありません。
- Q:複数リージョンの展開で最もチャレンジングなところはどこでしたか?
- A(Lisaさん):優先順位付けの難しさと、メンタルモデルの変革だったと思います。人々の既存の考え方や「こうやるべきだ」という固定観念を壊すことが大きな課題でした。新しい手法やコンフィギュレーションの導入に対して、多くの反発がありました。関係者の考え方を変えること自体が、興味深い挑戦でした。
- Q:リージョンを増やしていくことはAWS戦略としてあると思うが、チャレンジングな点はどんなところにあるか?
- A(Frankさん回答):AWSがリージョンを増やす背景には、ビジネスグループごとの特定のニーズ、データ・プライバシーや規制への対応、スケーラビリティと信頼性の向上といった複数の要因が存在します。これらの要件に対応するための計画と実行を考慮する必要があります。例えば荷物の配送では、1つのリージョンで障害が発生した場合に配送能力に影響が出る可能性を排除するため、複数のリージョンを使用し配送ドライバーをリアルタイムでルーティングしたい要件があります。プライム・ビデオでは、ピーク時のイベントや小規模なイベントのために、複数のリージョンでストリーミングのキャパシティを活用できるようにしたいと考えていて、スケーラビリティが重要です。
最近各国は自国民の情報をどこに保存するかについて、より慎重になっています。そのためデータ・プライバシーの観点からその先を見据えた準備が必要だと捉えています。
所感
マルチリージョン展開について、新サービスと共に進行し易くしていることが分かりました。リサさんの『モダン化は常に必要だ!』というメッセージが強く印象に残っています。リファイメント、EOL対応、新サービス適用は重要ですね。また質疑応答の中で、AWSの中でにもメンタルモデルの変革が必要だったというのも印象的でした。
- Q&Aの後に、くらにゃんステッカーをお渡ししました!