

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

# 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)、または Amazon EKS with [Fargate](https://aws.amazon.com/fargate/)

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 にすばやく移植できます。 | + [詳細](https://aws.amazon.com/porting-assistant-dotnet/)<br />+ [ドキュメント](https://docs.aws.amazon.com/portingassistant/latest/userguide/what-is-porting-assistant.html) | 
| AWS App2Container (A2C) | A2C は、最小限の労力でコンテナ化されたアプリケーションに変換することで、.NET および Java アプリケーションをモダナイズするためのコマンドラインツールです。 | + [詳細](https://aws.amazon.com/app2container/)<br />+ [ドキュメント](https://docs.aws.amazon.com/app2container/latest/UserGuide/what-is-a2c.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) 