マイクロサービスアーキテクチャ@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 を配置し、ネットワークを作成する。