

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

# Linux コンテナとしての再構築
<a name="refactor-linux"></a>

.NET Framework アプリケーションを .NET Core または .NET 6 に移植することで、アプリケーションを複数のプラットフォームで実行し、ライセンスコストを削減し、パフォーマンスを向上させ、スケーラビリティを向上させることができます。

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

この移行戦略は、次のいずれかのシナリオで役立ちます。
+ アプリケーションのリファクタリングに使用できるリソースと時間があります。
+ .NET Framework のすべての依存関係を解決できます。
+ 実行時間が長いアプリケーションがある。

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

この移行アプローチには、オンプレミスの .NET アプリケーションと比較して、次の利点があります。
+ 総所有コスト (TCO) の削減
+ セキュリティとパフォーマンスの向上
+ イノベーションの加速
+ クラウドネイティブアプリケーションに変換するメリット
+ オープンソース

## 欠点
<a name="refactor-linux-disadvantages"></a>
+ リファクタリングの労力とコスト

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

コンテナイメージを保存する場合：
+ [Amazon ECR](https://aws.amazon.com/ecr)

コンテナをオーケストレーションする場合：
+ [Amazon ECS](https://aws.amazon.com/ecs)、または を使用した Amazon ECS [AWS Fargate](https://aws.amazon.com/fargate/)
+ [Amazon EKS](https://aws.amazon.com/eks)、または [Fargate](https://aws.amazon.com/fargate/) を使用した Amazon EKS

AWS Fargate はサーバーレスで従pay-as-you-goのコンピューティングエンジンで、サーバーを管理することなくアプリケーションの構築に集中できます。Fargate は、Amazon ECS と Amazon EKS の両方と互換性があります。

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


****  

| ツール | **目的** | **リソース** | 
| --- | --- | --- | 
| Porting Assistant for .NET | この分析ツールは、.NET Framework アプリケーションをスキャンして、.NET Core の互換性評価を生成します。この評価により、アプリケーションを Linux にすばやく移植できます。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/modernization-net-applications/refactor-linux.html) | 
| AWS App2Container (A2C) | A2C は、.NET および Java アプリケーションをコンテナ化されたアプリケーションに変換することで、最小限の労力で最新化するためのコマンドラインツールです。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/modernization-net-applications/refactor-linux.html) | 

## デプロイの決定
<a name="refactor-linux-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 Linux containers on AWS\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/modernization-net-applications/images/rearchitect-linux.png) 