

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

# でのマイクロサービスの実装 AWS
<a name="microservices-on-aws"></a>

公開日: **2023 年 7 月 31** 日 ([ドキュメント履歴](document-revisions.md)）

 マイクロサービスは、デプロイの迅速化、イノベーションの促進、保守性の向上、スケーラビリティの向上を実現する、ソフトウェア開発への効率的なアプローチを提供します。この方法は、自律型チームによって管理される明確に定義された APIs を介して通信する、疎結合された小さなサービスに依存しています。マイクロサービスの導入には、スケーラビリティ、耐障害性、柔軟性の向上、開発サイクルの短縮などのメリットがあります。

 このホワイトペーパーでは、API 駆動型、イベント駆動型、データストリーミングの 3 つの一般的なマイクロサービスパターンについて説明します。各アプローチの概要、マイクロサービスの主な機能の概要、開発における課題への対処、アプリケーションチームがこれらの障害にどのように対処できるかを説明します (AWS）。

 データストア、非同期通信、サービス検出などのトピックの複雑な性質を考慮すると、アーキテクチャ上の意思決定を行う際に提供されるガイダンスとともに、アプリケーションの特定のニーズとユースケースを比較検討することをお勧めします。

## 序章
<a name="introduction"></a>

 [マイクロサービス](https://aws.amazon.com/microservices/)アーキテクチャは、次のようなさまざまな分野の成功した概念と実証済みの概念を組み合わせています。
+  アジャイルソフトウェア開発 
+  サービス指向アーキテクチャ 
+  API ファースト設計 
+  継続的インテグレーション/継続的デリバリー (CI/CD) 

 多くの場合、マイクロサービスには [12 要素アプリの設計パターンが組み込まれています。](https://12factor.net/)

 マイクロサービスには多くの利点がありますが、ユースケース固有の要件と関連するコストを評価することが重要です。モノリシックアーキテクチャや代替アプローチが適している場合もあります。マイクロサービスまたはモノリスは、規模、複雑さ、特定のユースケースなどの要因を考慮して、case-by-caseケースで決定する必要があります。

 まず、スケーラビリティと耐障害性に優れたマイクロサービスアーキテクチャ (ユーザーインターフェイス、マイクロサービス実装、データストア) について調べ、コンテナテクノロジー AWS を使用して で構築する方法を示します。次に、一般的なサーバーレスマイクロサービスアーキテクチャを実装し、運用の複雑さを軽減するための AWS サービスを提案します。

 サーバーレスは、次の原則によって特徴付けられます。
+  プロビジョニングまたは管理するインフラストラクチャがない 
+  消費単位による自動スケーリング 
+  「価値の支払い」請求モデル 
+  組み込みの可用性と耐障害性 
+  イベント駆動型アーキテクチャ (EDA) 

 最後に、システム全体を調べ、分散モニタリング、ログ記録、トレース、監査、データ整合性、非同期通信など、マイクロサービスアーキテクチャのクロスサービスの側面について説明します。

 このドキュメントでは AWS クラウド、ハイブリッドシナリオと移行戦略を除く、 で実行されているワークロードに焦点を当てています。移行戦略の詳細については、[「コンテナ移行方法」ホワイトペーパー](https://d1.awsstatic.com/whitepapers/container-migration-methodology.pdf)を参照してください。

## Well-Architected の実現状況の確認
<a name="are-you-well-architected"></a>

 [AWS Well-Architected フレームワーク](https://aws.amazon.com/architecture/well-architected/)は、クラウド内でのシステム構築に伴う意思決定の長所と短所を理解するのに役立ちます。このフレームワークの 6 つの柱により、信頼性、安全性、効率、費用対効果、持続可能性の高いシステムを設計および運用するための、アーキテクチャのベストプラクティスを確認できます。[AWS マネジメントコンソール](https://console.aws.amazon.com/wellarchitected) で無料で提供されている [AWS Well-Architected Tool](https://aws.amazon.com/well-architected-tool/) を使用すると、柱ごとに一連の質問に答えることで、これらのベストプラクティスに照らしてワークロードを評価できます。

 [サーバーレスアプリケーションレンズ](https://docs.aws.amazon.com/wellarchitected/latest/serverless-applications-lens/welcome.html)では、サーバーレスアプリケーションを設計するためのベストプラクティスに焦点を当てています AWS。

 クラウドアーキテクチャに関する専門的なガイダンスやベストプラクティス (リファレンスアーキテクチャのデプロイ、図、ホワイトペーパー) については、[AWS アーキテクチャセンター](https://aws.amazon.com/architecture/)を参照してください。

## マイクロサービスへのモダナイズ
<a name="modernizing-to-microservices"></a>

 マイクロサービスは基本的に、アプリケーションを構成する小さな独立したユニットです。従来のモノリシック構造からマイクロサービスへの移行は、[さまざまな戦略](https://docs.aws.amazon.com/prescriptive-guidance/latest/modernization-decomposing-monoliths/decomposing-patterns.html)に従うことができます。

 この移行は、組織の運営方法にも影響します。
+  これにより、チームがクイックサイクルで作業するアジャイル開発が促進されます。
+  チームは通常小規模で、2 *つのピザチーム*とも呼ばれます。2 つのピザがチーム全体に餌を与えるのに十分な大きさです。
+  チームは、作成からデプロイ、メンテナンスまで、サービスに対して全責任を負います。