REL 7: 需要の変化に適応するようにワークロードを設計するには、どうすればよいですか?

スケーラブルなワークロードには、リソースを自動で追加または削除する伸縮性があるので、リソースは常に、現行の需要に厳密に適合します。

リソース

AWS Auto Scaling: How Scaling Plans Work
What Is Amazon EC2 Auto Scaling?
Managing Throughput Capacity Automatically with DynamoDB Auto Scaling
What is Amazon CloudFront?
Distributed Load Testing on AWS: simulate thousands of connected users
Telling Stories About Little's Law
AWS Marketplace: products that can be used with auto scaling
APN Partner: partners that can help you create automated compute solutions

ベストプラクティス:

改善計画

リソースの取得またはスケーリング時に自動化を使用する

  • AWS Auto Scaling を設定して使用する: これにより、アプリケーションをモニタリングし、安定した予測可能なパフォーマンスを可能な限り低いコストで維持するためのキャパシティーを自動的に調整します。AWS Auto Scaling を使用すると、複数のサービスにまたがる複数のリソースに対してアプリケーションのスケーリングをセットアップできます。
    What is AWS Auto Scaling?
  • Elastic Load Balancing を使用する: ロードバランサーは、パスまたはネットワーク接続ごとに負荷を分散することができます。
    What is Elastic Load Balancing?
  • どのような状況下でも使用可能な DNS プロバイダーを使用する: DNS 名によりユーザーは、IP アドレスの代わりに DNS 名を入力してワークロードにアクセスすることができます。この情報は、通常はワークロードのユーザーに対してグローバルに定義されたスコープに配信されます。
  • AWS グローバルネットワークを使用して、ユーザーからアプリケーションへのパスを最適化します。: AWS Global Accelerator は、アプリケーションエンドポイントの状態を継続的にモニタリングし、トラフィックを 30 秒未満で正常なエンドポイントにリダイレクトします
  • Amazon CloudFront または信頼できるコンテンツ配信ネットワークを設定して使用する: コンテンツ配信ネットワーク (CDN) は、エンドユーザーの応答時間を短縮し、ワークロードの不要なスケーリングを引き起こす原因となるコンテンツのリクエストを出すことができます。
    What is Amazon CloudFront?
  • ワークロードの障害を検出したときにリソースを取得する

  • ワークロードの障害を検出したときにリソースを取得する: 可用性が影響を受ける場合、必要に応じてリソースをリアクティブにスケールし、ワークロードの可用性を復元します。
  • ワークロードにより多くのリソースが必要であることを検出した時点でリソースを取得する

  • ワークロードにより多くのリソースが必要であることを検出した時点でリソースを取得する: 需要に合わせてリソースをプロアクティブにスケールし、可用性への影響を回避します。
  • ワークロードの負荷テストを実施する

  • 負荷テストを実行して、ワークロードのどの側面がキャパシティーを追加または削除する必要があるかを特定する: 負荷テストには、本稼働環境で受け取るものと同様の代表的なトラフィックを用いる必要があります。設けたメトリクスを監視しながら負荷を増やし、リソースを追加または削除する必要があるタイミングをどのメトリクスが示唆しているのかを判断します。
    Distributed Load Testing on AWS: simulate thousands of connected users