マイクロサービスアーキテクチャ@AWS¶
はじめに¶
本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。
01. Amazon EKSによるリクエスト駆動型マイクロサービスアーキテクチャ¶
自著『クラウドネイティブ技術とマイクロサービスアーキテクチャーのつながり』を確認する。
02. Amazon ECSによるリクエスト駆動型マイクロサービスアーキテクチャ¶
Amazon ECSによるマイクロサービスアーキテクチャ¶
記入中...
Amazon VPC内のマイクロサービス領域¶
▼ マルチECSサービス¶
Amazon ECSクラスターに複数のAmazon ECSサービスを作成する。
Amazon ECSサービスをマイクロサービス単位で稼働させる。
ただ、Amazon ECSによるマイクロサービスアーキテクチャはアプリとインフラの責務を分離できないため、非推奨である。
Kubernetes Cluster上でこれを稼働させることが推奨である。

▼ Amazon Route 53とAWS Cloud Mapによるサービス検出¶
AWS CloudMapを使用して、Amazon ECSタスクの宛先情報を動的にAmazon Route 53に追加削除する。
これにより、Amazon ECSタスクが他のECSタスクと通信可能にする。

▼ Amazon ECS Service Connectによるサービス検出¶

03. AWS Lambdaによるイベント駆動型マイクロサービスアーキテクチャ¶
AWS Lambdaによるイベント駆動型マイクロサービスアーキテクチャ¶
AWS Lambdaをマイクロサービス単位で稼働させる。
ただ、AWS Lambdaによるマイクロサービスアーキテクチャはアプリとインフラの責務を分離できないため、非推奨である。
Kubernetes Cluster上でこれを稼働させることが推奨である。
Amazon VPC外のAPIゲートウェイ領域¶
RESTful-APIをAmazon API Gatewayで構築する。
Amazon VPC内のマイクロサービス領域¶
▼ ドメインサービス¶
マイクロサービスのドメインロジックを持つ。
▼ レイヤーサービス¶
マイクロサービスの横断的な共有ロジックを持つ。
Lambda Layerを使用し、サービスコンポーネントがレイヤーコンポーネントを読み込めるようにする。
▼ 認証マイクロサービス¶
マイクロサービスの認証ロジックを持つ。
AWS Cognitoユーザープールを使用する。

▼ 認可マイクロサービス¶
マイクロサービスの認可ロジックを持つ。
AWS Cognitoオーソライザーを使用する。

Amazon VPC内のデータベース領域¶
▼ 永続データの場合¶
永続データを管理する。
リクエスト駆動型アプリケーションの場合、複数のリクエストに対して単一のDB接続を再利用できる。
一方で、イベント駆動型アプリケーションの場合、単一リクエストに対して単一のDB接続を使用する。
Amazon RDSにはDB接続の上限数があり、前段にAmazon RDSプロキシーがないとすぐに上限数に達してしまう。

Amazon VPC内のL3管理¶
▼ publicサブネット¶
AWS NAT Gatewayを配置し、ネットワークを作成する。
▼ protectedサブネット¶
AWS Lambdaを配置し、ネットワークを作成する。
▼ privateサブネット¶
Amazon RDSプロキシーとAmazon RDSを配置し、ネットワークを作成する。