AWS Cloud Map とは? - AWS Cloud Map

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Cloud Map とは?

AWS Cloud Map は、アプリケーションで使用されるバックエンドサービスやリソースのマップを作成および維持することができる完全マネージド型のサービスです。AWS Cloud Map の仕組みを以下に示します。

  1. リソースの検索に使用する名前を識別し、リソースの検索方法を指定する名前空間を作成します。これを行うには、AWS Cloud Map DiscoverInstances API コール、VPC の DNS クエリ、またはパブリック DNS クエリを使用します。通常、1 つの名前空間には 1 つのアプリケーション (例: 請求アプリケーション) のサービスがすべて含まれています。

  2. AWS Cloud Map サービスは、AWS Cloud Map を使用してエンドポイントを検索するためのリソースのタイプごとに作成します。たとえば、ウェブサーバーおよびデータベースサーバーのサービスを作成します。

    サービスは、アプリケーションで別のリソース (例: 別のウェブサーバー) が作成される際に、AWS Cloud Map で使用されるテンプレートです。名前空間を作成したときに DNS を使用してリソースを検索することを選択した場合、サービスにはウェブサーバーの検索に使用するレコードの種類に関する情報が含まれています。また、サービスは、リソースの状態をチェックするかどうか、またチェックする場合は Amazon Route 53 ヘルスチェックを使用するか、サードパーティー製のヘルスチェッカーを使用するかを示します。

  3. アプリケーションでリソースが追加されると、AWS Cloud Map RegisterInstance API アクションが呼び出される場合があります。この場合、サービスインスタンスが作成されます。サービスインスタンスには、アプリケーションでリソースを検索する方法に関する情報が含まれます。この際、DNS、または AWS Cloud Map DiscoverInstances API アクションを使用するかどうかは関係ありません。

  4. リソースに接続する必要がある場合、アプリケーションは DiscoverInstances を呼び出し、そのリソースに関連付けられている名前空間およびサービスを指定します。その後、AWS Cloud Map によって、1 つ以上のリソースの検索方法に関する情報が返ります。サービスの作成時にヘルスチェックを指定した場合は、AWS Cloud Map よりヘルスインスタンスのみが返ります。

AWS Cloud Map は、Amazon Elastic Container Service (Amazon ECS) と緊密に統合されています。新しいコンテナのタスクはスピンアップまたはスピンダウンするため、自動的に AWS Cloud Map に登録されます。Amazon Elastic Kubernetes Service を AWS Cloud Map に統合するには、Kubernetes ExternalDNS コネクタを使用します。また、AWS Cloud Map を使用して、Amazon EC2 インスタンス、Amazon DynamoDB テーブル、Amazon S3 バケット、Amazon Simple Queue Service(Amazon SQS)キュー、Amazon API Gateway にデプロイされた API などのクラウドリソースを登録および検索することもできます。サービスインスタンスの属性値を指定することで、クライアントはこのような属性を使用して、AWS Cloud Map より返るリソースをフィルタリングすることができます。たとえば、アプリケーションから、BETA や PROD などの特定のデプロイステージでリソースをリクエストできます。