BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース HashiCorp Consul on Amazon ECSに開発キットと高トラフィック負荷に対するサポートが新たに加わる

HashiCorp Consul on Amazon ECSに開発キットと高トラフィック負荷に対するサポートが新たに加わる

原文(投稿日:2022/02/11へのリンク

HashiCorpは、Amazon ECSサービスでConsulのバージョン0.3のリリースを発表した。このリリースには、構成オプションの追加、Terraformを使わないデプロイ、高トラフィック負荷に対するサポートが含まれている。また、AWSと提携して、Amazon ECSでのConsulの使用をサポートするAWSクラウド開発キット(CDK)をリリースした。

HashiCorp Consulは、サービスディスカバリ、安全なサービス間通信、トラフィック管理、ヘルスモニタリングを提供するマルチプラットフォームサービスメッシュである。Amazon ECSのConsul Service Meshでは、Amazon ECSでサービスメッシュを有効にするために必要なConsulクライアントとEnvoyプロキシがインストールされる。そしてAWS FargateのAmazon ECSEC2のAmazon ECSの両方の起動タイプをサポートする。このサービスでは、サービスメッシュで実行されているタスクに関して必要に応じてACLトークンが自動プロビジョニングされる。

Consul on Amazon ECS service architecture

Amazon ECSサービスアーキテクチャのConsul(クレジット:HashiCorp

ECSクラスターで実行されるタスクは、mesh-taskモジュールを介して作成される。このモジュールでは、Consulのサービスを有効にするために、タスク定義にサイドカーコンテナが追加される。ここには、起動時にConsulとEnvoyの両方を構成するために実行されるmesh-initも含まれる。consul-clientコンテナはConsulクライアントを実行する。このクライアントは、Consulサーバに接続される。また、サイドカープロキシの構成も実行する。このコンテナ(sidecar-proxy)では、実行中のアプリケーションとの間のすべてのリクエストを処理するEnvoyhealth-syncコンテナは、ヘルスチェックステータスをECSからConsulに同期する。

ヘルスチェックの同期は、アプリコンテナーがessentialとしてマークされ、ECS healthChecksmesh-initコンテナーはTTLヘルスチェックを作成する。

CDKにより、ECSタスクをサービスメッシュに追加するプロセスがシンプルになる。たとえば、Dockerイメージからサービスを宣言するには、次のようにする。

const greetingDescription = new ecs_extensions.ServiceDescription();

greetingDescription.add(new ecs_extensions.Container({
  cpu: 512,
  memoryMiB: 1024,
  trafficPort: 3000,
  image: ecs.ContainerImage.fromAsset(path.resolve(__dirname, '../../../services/greeting/src/'), {file: 'Dockerfile'}),
}));

greetingDescription.add(new consul_ecs.ECSConsulMeshExtension({
  ...baseProps,
  serviceDiscoveryName: 'greeting',
}));      

const greeting = new ecs_extensions.Service(this, 'greeting', {
  environment: envProps.ecsEnvironment,
  serviceDescription: greetingDescription,
});

CDKを使ってConsulをAmazon ECSにデプロイすることに加えて、Terraformレジストリで使用できるTerraformモジュールのconsul-ecsがある。0.3リリースで新たに構成オプションが拡張されたことにより、Terraformを使わずに構成し、デプロイすることもシンプルになった。

このリリースでは、アクセス制御リスト(ACL)コントローラの効率も改善している。この改善により、Hashicorpは、このサービスが「一度に数千のタスクを安全に取り扱える」ことを示している

リリースの詳細については、HashiCorpブログをご覧ください。HashiCorp Cloud Platform(HCP)Amazon EC2へのデプロイをウォークスルーする2つの新しいチュートリアルを利用できる。Amazon ECSのConsul向けのCDKはGitHubから入手できる。

作者について

この記事に星をつける

おすすめ度
スタイル

BT