【AWS新機能】ECS Service Connectが「Zone-Aware(ゾーン認識)ルーティング」に対応!AZ間転送コストとレイテンシーを自動で削減可能に

はじめに

AWSコンテナ運用のデファクトスタンダードであるAmazon Elastic Container Service(Amazon ECS)。その強力なサービスメッシュ機能である「ECS Service Connect」において、非常に嬉しいアップデートが発表されました!

なんと、ECS Service Connectが「Zone-Aware(ゾーン認識)ルーティング」をサポートしました。これにより、マルチAZ環境でのサービス間通信において、パフォーマンスの向上と通信コストの削減を、追加料金なし&ほぼ自動で享受できるようになります。

本記事では、この注目の新機能の概要、メリット、実務におけるユースケースや移行時の注意点について、アーキテクトの視点から分かりやすく解説します。

この機能の概要とメリット

ECS Service Connectは、ECSタスク間でのサービス発見(Service Discovery)と通信を簡単にする機能です。これまでは、宛先となるタスクがどのアベイラビリティゾーン(AZ)に存在するかを意識せず、ラウンドロビンなどで均等にトラフィックを分散していました。

今回のアップデートにより導入された「Zone-Awareルーティング」は、リクエストの送信元タスクと同じAZにある宛先エンドポイント(タスク)を自動的に検出し、優先的にトラフィックをルーティングする機能です。

主なメリット

  • データ転送コスト(Cross-AZコスト)の大幅な削減: AWSでは、異なるAZ間での通信(クロスAZ通信)に対してデータ転送課金が発生します。Zone-Awareルーティングにより通信が同一AZ内で完結しやすくなるため、転送コストを劇的に抑えられます。
  • ネットワークレイテンシーの低減: 物理的に距離の近い同一AZ内で通信が処理されるため、マイクロサービス間のレスポンスタイムが向上します。
  • 自動的な負荷分散と高可用性: 同一AZ内の宛先タスクがスケールアウト・インするのに伴い、トラフィックの重みを動的に調整します。また、同一AZ内のタスクが不健全(Unhealthy)になったり、キャパシティが不足したりした場合は、他の健全なAZへと自動的にトラフィックを再配分(フェイルオーバー)するため、システムの可用性を損なうことはありません。

想定されるユースケース

この機能は、特に以下のような環境で大きな威力を発揮します。

  • マルチAZ構成を採用している大規模マイクロサービス: サービスA → サービスB → サービスC のように何段もサービス間通信が発生するアーキテクチャでは、これまでAZをまたぐたびにレイテンシーとコストが蓄積されていました。Zone-Awareルーティングを適用することで、これらを劇的に改善できます。
  • 高スループット・低遅延が求められるAPIサーバ: 決済処理やリアルタイム配信など、1ミリ秒の遅延がビジネスに影響するシステムにおいて、同一AZ内通信の最適化は極めて有効です。
  • クラウドコストの最適化(FinOps)を推進中のプロジェクト: インフラ構成を変更することなく、有効化するだけでデータ転送コストを削減できるため、コスト削減の「ローハンギングフルーツ(すぐに実行できる施策)」として最適です。

注意点や従来の機能との違い

本機能は非常に強力ですが、実務で導入する際には以下のポイントを押さえておきましょう。

1. 基本的に「設定不要(デフォルト有効)」

新規に作成されるECS Service Connect対応サービス、および既存のサービスにおいて、Zone-Awareルーティングはデフォルトで有効になります。特別なパラメータ設定や、アプリケーションコードの変更は一切不要です。

ECS Service Connectを有効化する際の標準的なサービス定義(JSON)の例を以下に示します。特別な追加記述は必要ありません。

{
  "serviceConnectConfiguration": {
    "enabled": true,
    "namespace": "my-service-mesh",
    "services": [
      {
        "portName": "http-port",
        "discoveryName": "backend-service"
      }
    ]
  }
}

2. 既存サービスには「再デプロイ」が必要

既に稼働している既存のECSサービスに対してこの新しいルーティング動作を適用するには、1回限りの再デプロイ(サービスの更新)が必要になります。自動で即座に適用されるわけではないため、計画的なデプロイをスケジュールしてください。

3. 効果の測定方法

Zone-Awareルーティングが実際に効いているかどうか、どれくらいクロスAZ通信が削減されたかを検証するには、Amazon VPC Flow Logsを活用します。VPC Flow LogsにAZメタデータを追加することで、同一AZ内通信とクロスAZ通信の比率をモニタリングすることが可能です。

まとめ

Amazon ECS Service ConnectのZone-Awareルーティングは、これまでトレードオフの関係になりがちだった「マルチAZによる可用性の担保」と「コスト・レイテンシーの削減」を両立させる素晴らしいアップデートです。

追加のインフラコストも不要なため、ECS Service Connectを利用中の開発者は、ぜひ既存のサービスを再デプロイしてこの恩恵を受けましょう。これから新規にECSでマイクロサービスを立ち上げる場合も、Service Connectの採用を強く後押しする強力な動機となるでしょう。

上部へスクロール