

# AWS Fargate から Amazon ECS マネージドインスタンスへの移行
<a name="migrate-fargate-to-managed-instances"></a>

既存のワークロードを Fargate から Amazon ECS マネージドインスタンスに移行できます。この移行により、AWS マネージドインフラストラクチャを維持しながら、Amazon EC2 インスタンスタイプ、キャパシティ予約、および高度な機能のすべてにアクセスできます。

## 移行に関する考慮事項
<a name="migration-considerations"></a>

Fargate から Amazon ECS マネージドインスタンスに移行するときは、次の考慮事項に注意してください。

タスク互換性  
Fargate 用に設定された既存のタスク定義は、ほとんどが Amazon ECS マネージドインスタンスと互換性があります。タスク定義の違いについては、「[Amazon ECS マネージドインスタンスの Amazon ECS タスク定義の違い](managed-instances-tasks-services.md)」を参照してください。

セキュリティモデルの変更  
Amazon ECS マネージドインスタンスでは、デフォルトでインスタンスごとに複数のタスクが許可されます。ワークロードで、より強力な分離が必要な場合は、シングルタスクモードを有効にすることを検討してください。

インスタンスのライフサイクル  
Amazon ECS マネージドインスタンスの最大存続期間は 14 日間です。タスクの置き換えを計画し、Amazon ECS サービスを使用して自動タスク管理を行います。

料金の変更  
Amazon ECS マネージドインスタンスでは、Fargate のようにタスクごとのリソースではなく、インスタンス全体の料金および管理費が発生します。

メンテナンスウィンドウ  
Amazon EC2 イベントウィンドウを使用してメンテナンスウィンドウを設定し、Amazon ECS マネージドインスタンスをパッチ適用のために置き換えるタイミングを制御します。

## 前提条件
<a name="migration-prerequisites"></a>

Amazon ECS マネージドインスタンスに移行する前に、次の条件を確認してください。
+ プラットフォームバージョン 1.4.0 以降を使用した既存の Fargate タスク
+ Amazon ECS マネージドインスタンスに必要な IAM ロールがあること。これには、以下が含まれます。
  + **インフラストラクチャロール** – Amazon ECS がユーザーに代わって AWS サービスを呼び出し、Amazon ECS マネージドインスタンスインフラストラクチャを管理できるようにします。

    詳細については、「[Amazon ECS インフラストラクチャ IAM ロール](infrastructure_IAM_role.md)」を参照してください。
  + **インスタンスプロファイル** – マネージドインスタンスで実行されている Amazon ECS コンテナエージェントと Docker デーモンへのアクセス許可を提供します。

    詳細については、「[Amazon ECS マネージドインスタンスのインスタンスプロファイル](managed-instances-instance-profile.md)」を参照してください。
+ Fargate と Amazon ECS マネージドインスタンスのセキュリティモデルの違いを理解していること

**重要**  
Amazon ECS マネージドインスタンスは、Fargate とは異なるセキュリティモデルを使用しています。デフォルトでは、複数のタスクを同じインスタンスで実行できます。これにより、タスクが他のタスクの脆弱性にさらされる可能性があります。移行前にセキュリティ要件を確認してください。

## ステップ 1: Amazon ECS マネージドインスタンスを使用するようにクラスターを更新する
<a name="update-to-managed-instances"></a>

キャパシティプロバイダを作成します。Amazon ECS マネージドインスタンスでキャパシティプロバイダを作成すると、指定されたクラスター内だけで使用可能になります。

詳細については、「[Amazon ECS マネージドインスタンスのキャパシティプロバイダーを作成する](create-capacity-provider-managed-instances.md)」を参照してください。

## ステップ 2: Amazon ECS マネージドインスタンス機能に合わせてタスク定義を更新する
<a name="update-task-def"></a>

Amazon ECS マネージドインスタンス用に requiresCapabilities を追加してタスク定義を更新します。

詳細については、「[コンソールを使用した Amazon ECS タスク定義の更新](update-task-definition-console-v2.md)」を参照してください。

## ステップ 3: Amazon ECS マネージドインスタンスのキャパシティプロバイダを使用するようにサービスを更新する
<a name="migrate-service"></a>

Amazon ECS マネージドインスタンスのキャパシティプロバイダを使用するように既存の Amazon ECS サービスを更新します。

詳細については、「[キャパシティプロバイダーを使用するように Amazon ECS サービスを更新する](update-service-managed-instances.md)」を参照してください。

## ステップ 4: 独立型タスクを移行する
<a name="migrate-standalone-task"></a>

独立型タスクの場合は、タスク実行時に Amazon ECS マネージドインスタンスのキャパシティプロバイダを指定します。

詳細については、「[Amazon ECS タスクとしてのアプリケーションの実行](standalone-task-create.md)」を参照してください。