翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
分散システムコンポーネント
マイクロサービスアーキテクチャでは、サービス検出とは、分散システム内の個々のマイクロサービスのネットワークロケーション (IP アドレスとポート) を動的に特定するプロセスを指します。
アプローチを選択するときは AWS、次のような要素を考慮してください。
-
コード変更: コードを変更せずに利点が得られますか?
-
クロス VPC またはクロスアカウントトラフィック: 必要に応じて、システムは異なる VPCs 間の通信を効率的に管理する必要がありますか AWS アカウント?
-
デプロイ戦略: システムは Blue-Green や Canary デプロイなどの高度なデプロイ戦略を使用しているか、使用する予定がありますか?
-
パフォーマンスに関する考慮事項: アーキテクチャが外部サービスと頻繁に通信する場合、全体的なパフォーマンスにはどのような影響がありますか?
AWS には、マイクロサービスアーキテクチャにサービス検出を実装するための方法がいくつか用意されています。
-
Amazon ECS Service Discovery: Amazon ECS は、DNS ベースのメソッドを使用するか、 と統合してサービス検出をサポートします AWS Cloud Map (ECS Service discovery を参照)。 https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.htmlECS Service Connect は接続管理をさらに改善します。これは、複数のインタラクションサービスを持つ大規模なアプリケーションに特に役立ちます。
-
Amazon Route 53:Route 53 は、ECS や EKS などの他の AWS サービスと統合して、サービスの検出を容易にします。ECS コンテキストでは、Route 53 は ECS サービス検出機能を使用できます。この機能は、自動命名 API を活用して、サービスを自動的に登録および登録解除します。
-
AWS Cloud Map: このオプションは、動的な API ベースのサービス検出を提供し、サービス全体に変更を伝達します。
より高度な通信ニーズのために、Amazon VPC Lattice は、サービス間の通信を一貫して接続、監視、保護するアプリケーションネットワークサービスであり、生産性の向上に役立ち、デベロッパーがビジネスにとって重要な機能の構築に集中できるようにします。ネットワークトラフィック管理、アクセス、モニタリングのポリシーを定義して、インスタンス、コンテナ、サーバーレスアプリケーション間でコンピューティングサービスをシンプルで一貫した方法で接続できます。
HashiCorp Consul
これらのオプションの選択は、特定のニーズと一致する必要があります。より単純な要件では、Amazon ECS や などの DNS ベースのソリューションで十分 AWS Cloud Map かもしれません。より複雑なシステムや大規模なシステムでは、Amazon VPC Lattice などのサービスメッシュの方が適している場合があります。
結論として、 でマイクロサービスアーキテクチャを設計 AWS することは、特定のニーズを満たす適切なツールを選択することです。説明した考慮事項を念頭に置いて、システムのサービス検出とサービス間通信を最適化するために、十分な情報に基づいた意思決定を行うことができます。