

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

# Linux コンテナでのマイクロサービスとしての再構築
<a name="refactor-linux-micro"></a>

マイクロサービスアーキテクチャは、小規模なサービスのスイートとして単一のアプリケーションを開発するアプローチです。各サービスは独自のプロセスで実行され、軽量メカニズムを通じて他のサービスと通信します。このアプローチでは、モノリシックアプリケーションを小さなサービスに分割します。各サービスは単一の目的を果たし、コンテナとしてデプロイされます。

## ユースケース
<a name="refactor-linux-micro-use-case"></a>

この移行戦略は、次の場合に便利です。
+ モノリシックシステムをマイクロサービスに分割したい。
+ リファクタリングに使用できるリソースと時間があります。
+ .NET Framework のすべての依存関係を解決できます。
+ 実行時間が長いアプリケーションがある。

## 利点
<a name="refactor-linux-micro-advantages"></a>

この移行アプローチは、オンプレミスの .NET アプリケーションと比較して、次の利点があります。
+ マイクロサービスアーキテクチャに新機能を簡単に追加できるため、イノベーションが迅速化
+ 高可用性と信頼性
+ 俊敏性とオンデマンドスケーラビリティの向上
+ 独立したデプロイと最新の継続的インテグレーションと継続的デプロイ (CI/CD) パイプライン
+ 強力なモジュールの境界と技術的な多様性

## 欠点
<a name="refactor-linux-micro-disadvantages"></a>
+ リファクタリングの労力とコスト
+ 運用の複雑さの可能性

## AWS サービス
<a name="refactor-linux-micro-services"></a>

次の AWS サービスを使用して、マイクロサービスベースのシステムを開発できます。
+ [Amazon API Gateway](https://aws.amazon.com/api-gateway)
+ [Amazon Simple Notification Service (Amazon SNS)](https://aws.amazon.com/sns)
+ [Amazon Simple Queue Service](https://aws.amazon.com/sqs) (Amazon SQS)
+ [Amazon ECS](https://aws.amazon.com/ecs)
+ [Amazon EKS](https://aws.amazon.com/eks)
+ [AWS Lambda](https://aws.amazon.com/lambda)
+ [AWS Fargate](https://aws.amazon.com/fargate)
+ [CloudFormation](https://aws.amazon.com/cloudformation)、または [AWS Cloud Development Kit (AWS CDK)](https://aws.amazon.com/cdk)
+ [AWS Identity and Access Management](https://aws.amazon.com/iam) (IAM)
+ [Amazon Simple Storage Service (Amazon S3)](https://aws.amazon.com/s3)
+ [Amazon ECR](https://aws.amazon.com/ecr)

## ツール
<a name="refactor-linux-micro-tools"></a>

AWS プロフェッショナルサービスは、モノリシックアプリケーションをマイクロサービスにリファクタリングするのに役立つカスタムツールとサービスを提供します。

## デプロイの決定
<a name="refactor-linux-micro-deploy"></a>

5 つのデプロイオプションから選択できます。
+ メモリやストレージの設定など、コンピューティング環境の設定を完全に制御し、オペレーティングシステムのパッチを制御する場合は、アプリケーションを Linux コンテナとして EC2 インスタンスにデプロイします。
+ コンテナを Kubernetes で管理し、サーバーレスコンテナとして実行する場合は、Fargate を使用してアプリケーションを Linux コンテナとして Amazon EKS にデプロイします。
+ コンテナを Amazon ECS で管理し、サーバーレスコンテナとして実行する場合は、Fargate を使用してアプリケーションを Linux コンテナとして Amazon ECS にデプロイします。
+ コンテナを Kubernetes で管理したいが、コンテナのコンピューティングリソースを自分で管理する場合は、アプリケーションを Linux コンテナとして Amazon EKS にデプロイします。
+ コンテナを Amazon ECS で管理したいが、コンテナのコンピューティングリソースを自分で管理する場合は、アプリケーションを Linux コンテナとして Amazon ECS にデプロイします。

 ![Refactoring .NET applications as microservices in Linux containers on AWS](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/modernization-net-applications/images/rearchitect-linux.png) 