みなさん、こんにちは。サニービュー事業部の小寺です。
re:Inventで発表されたAmazon EC2 Service Connectについてお伝えします。
Amazon ECS Service Connectとは
Service ConnectとはAmazon ECSの中でもService Connectと呼ばれる新しいネットワーク系の新機能です。
位置づけとしては、Service ConnectはECSのサービスの中の設定項目の一つです。
・ECSクラスターやVPCを跨いだサービス間通信をエンドポイントによって可能にしてくれる
・サービス間通信のモニタリングが可能になる
・CloudWatchに対してより豊富なトラフィック関連情報を送信できる
・既存のアプリケーションの変更は不要
・自動 Connection Draining がサポートされているので、ECSのデプロイがさらに強固なものに。
クライアントアプリケーションではトラフィックエラーを発生させずに、サービスエンドポイントを新バージョンに切り替えることができる
Amazon ECS Service Connectのメリット
サービスエンドポイントのフレンドリ名を設定し、フレンドリ名をクライアントアプリケーションで使っ接続できるようになりました。
Amazon ECSで稼働するサービスのエンドポイントにフレンドリ名を定義し、クライアントからはフレンドリ名を使用して接続できるので、開発する側にとっての大きなメリットは、フレンドリ名さえわかっていれば接続できるので、ネットワークを意識する必要がなくなることです。よって、アプリケーション開発により注力できるようになっています。
さらに、大きなメリットの2つ目としては、Amazon ECSで固有にデプロイする際に、Service Connect を利用することでさらに堅牢性が高まります。
従来のService Discoveryで利用していたCloud Mapが名前空間を提供するので、ロードバランサーの設定は不要でサービス毎に、ヘルスチェック、自動でリトライさせてコネクションドレイン(処理終了までコネクション保持)、ネットワークに関する一通りの機能も提供されます。さらにECSコンソールからトラフィックを監視できるダッシュボードもみられるようです。
Amazon ECS Service Connectの設定を確認してみる
まずはテスト用にFargateでクラスターを作ってみます。
(1)クラスターを作る「設定とタスク」タブに「Service Connect」が見つかりました。
(2) Cloud Mapで名前空間を設定しておき、「設定」をクリックします。
このときはService Cinnectの設定はクライアント側のみとしました。
(3)詳細設定でCloudWatchのログ収集オプションが利用できます。
今回は実際のデプロイなどが試せなかったので、またの機会にチャレンジしたいと思います。