Amazon ECS 向け Fargate Linux プラットフォームのバージョン - Amazon Elastic Container Service

Amazon ECS 向け Fargate Linux プラットフォームのバージョン

AWS Fargate プラットフォームのバージョンを使って、Fargate タスクインフラストラクチャの特定のランタイム環境を参照できます。これは、カーネルとコンテナのランタイムバージョンの組み合わせです。同一のタスクを多数管理するためのタスク実行時、またはそのためのサービス作成時には、プラットフォームバージョンを選択します。

ランタイム環境の進化に合わせて、新しいプラットフォームバージョンがリリースされます。例えば、カーネルやオペレーティングシステムの更新、新機能の追加、バグ修正、セキュリティの更新があった場合が当てはまります。Fargate プラットフォームのバージョンは、新しいプラットフォームバージョンのリビジョンを行うことで更新されます。各タスクは、そのライフサイクルを通じて、単一のプラットフォームバージョンのリビジョンで実行されます。最新のプラットフォームバージョンのリビジョンを使用する場合は、新たにタスクを開始する必要があります。Fargate で実行される新しいタスクは、常にプラットフォームバージョンの最新リビジョンで実行されます。これにより、タスクは必ず、安全でパッチ適用済みのインフラストラクチャで開始されることが保証されます。

既存のプラットフォームのバージョンに影響を与えるセキュリティ上の問題が見つかった場合、AWS は、そのプラットフォームバージョンのパッチ済みリビジョンを新たに作成します。また、脆弱性のあるリビジョンで実行しているタスクは廃止されます。場合によっては、Fargate で使用しているタスクについて、廃止の予定が通知されることがあります。詳細については、「Amazon ECS での AWS Fargate タスクのメンテナンスに関するよくある質問」を参照してください。

考慮事項

プラットフォームのバージョンを指定する際には、次の点を検討してください。

  • プラットフォームのバージョンを指定するときは、1.4.0 などの特定のバージョン番号、あるいは LATEST のいずれかを使用できます。

    プラットフォームバージョンとして [LATEST] (最新) を選択すると、1.4.0 プラットフォームバージョンが使用されます。

  • サービスのプラットフォームバージョンを更新する場合は、デプロイを作成します。例えば、Linux のプラットフォームバージョン 1.3.0 で、タスクを実行しているサービスがあるとします。そのサービスが、Linux プラットフォームバージョン 1.4.0 でタスクを実行するように変更するには、サービスを更新し、新しいプラットフォームバージョンを指定します。タスクは、最新のプラットフォームバージョンと最新のプラットフォームバージョンのリビジョンで再デプロイされます。デプロイの詳細については、「Amazon ECS サービス」を参照してください。

  • サービスがプラットフォームバージョンを更新しないでスケールアップされた場合、これらのタスクには、サービスの最新のデプロイで指定されたプラットフォームのバージョンが提供されます。例えば、Linux のプラットフォームバージョン 1.3.0 で、タスクを実行しているサービスがあるとします。このサービスについて必要とされる数を増加した場合、サービススケジューラーは、プラットフォームバージョン 1.3.0 の最新のプラットフォームバージョンのリビジョンを使用して、新しいタスクを開始します。

  • 新しいタスクは、常にプラットフォームバージョンの最新リビジョンで実行されるため、タスクは必ず、安全でパッチ適用済みのインフラストラクチャで開始されることが保証されます。

  • Fargate の Linux コンテナと Windows コンテナのプラットフォームバージョンの番号は相互に独立しています。例えば、Fargate の Windows コンテナのプラットフォームバージョン 1.0.0 で使用される動作、機能、およびソフトウェアは、Fargate の Linux コンテナのプラットフォームバージョン 1.0.0 の動作、機能、およびソフトウェアとは比較できません。

使用できる Linux プラットフォームのバージョンは以下のとおりです。プラットフォームバージョンの廃止については、「AWS Fargate Linux プラットフォームバージョンの廃止」を参照してください。

1.4.0

以下は、プラットフォームバージョンの変更履歴です1.4.0

  • 2020 年 11 月 5 日以降、プラットフォームバージョン1.4.0を使用して Fargate で起動されたすべての新しい Amazon ECS タスクで次の機能を使用できるようになります:

    • Secrets Managerを使用して機密データを保存する場合、特定の JSON キーまたは特定のシークレットのバージョンを環境変数またはログ設定に挿入できます。詳細については、「Amazon ECS コンテナに機密データを渡す」を参照してください。

    • environmentFiles コンテナ定義パラメータを使用して、環境変数を一括で指定します。詳細については、「個々の環境変数を Amazon ECS コンテナに渡す」を参照してください。

    • VPC で実行されるタスクと IPv6 が有効になっているサブネットには、プライベート IPv4 アドレスと IPv6 アドレスの両方が割り当てられます。詳細については、Amazon Elastic Container Service ユーザーガイドAWS Fargate用のFargateタスクネットワーキングを参照してください。

    • タスクメタデータエンドポイントバージョン 4 には、タスク起動タイプ、コンテナの Amazon リソースネーム (ARN)、使用されるログドライバーとログドライバーオプションなど、タスクとコンテナに関する追加のメタデータが提供されます。/stats エンドポイントに対してクエリを実行すると、コンテナのネットワークレート統計も受け取ります。詳細については、「タスクメタデータエンドポイントバージョン 4」を参照してください。

  • 2020 年 7 月 30 日以降、プラットフォームバージョン 1.4.0 を使用して Fargate で起動されたすべての新しい Amazon ECS タスクは、Network Load Balancer を使用して、UDP トラフィックを Fargate タスク上の Amazon ECS にルーティングできるようになります。詳細については、「ロードバランサーを使用して Amazon ECS サービストラフィックを分散する」を参照してください。

  • 2020 年 5 月 28 日以降、プラットフォームバージョン1.4.0を使用してFargate で起動されたすべての新しい Amazon ECS タスクにはAWS 所有する暗号化キーを使用して AES-256 暗号化アルゴリズムで暗号化されたエフェメラルストレージが搭載されます。詳細については、Amazon ECS 向けの Fargate タスクエフェメラルストレージおよびAmazon ECS タスクのストレージオプションを参照してください。

  • 永続的なタスクストレージとして Amazon EFS ファイルシステムボリュームを使用するためにサポートを追加しました。詳細については、「Amazon ECS での Amazon EFS ボリュームの使用」を参照してください。

  • エフェメラルタスクストレージは、タスクごとに最低 20 GB に増加しました。詳細については、「Amazon ECS 向けの Fargate タスクエフェメラルストレージ」を参照してください。

  • タスクとの間のネットワークトラフィック動作を更新しました。プラットフォームバージョン 1.4.0 以降、すべての Fargate タスクは単一の Elastic Network Interface (タスク ENI と呼ばれる) を受け取り、すべてのネットワークトラフィックは VPC 内でこの ENI を通過し、VPC フローログを通じて表示されます。Amazon EC2 起動タイプのネットワークの詳細については、「Fargate タスクのネットワーク」を参照してください。Fargate 起動タイプのネットワークの詳細については、「Fargate 起動タイプの Amazon ECS タスクのネットワークオプション」を参照してください。

  • タスク ENI は、ジャンボフレームのサポートを追加しています。ネットワークインターフェイスは、最大転送単位 (MTU) で設定されます。MTU は、1 つのフレームに収まるペイロードの最大サイズです。MTU が大きいほど、1 つのフレーム内に収まるアプリケーションのペイロードが増えるため、フレームあたりのオーバーヘッドが減少し、効率が向上します。ジャンボフレームをサポートすると、オーバーヘッドが減ります。タスクと転送先とのネットワークパスでジャンボフレームをサポートすると、VPC 内に残っているすべてのトラフィックなどのオーバーヘッドが軽減されます。

  • CloudWatch Container Insights には、Fargate タスクのネットワークパフォーマンスメトリクスが含まれます。詳細については、「Container Insights を使用して Amazon ECS コンテナをモニタリングする」を参照してください。

  • タスクメタデータエンドポイントバージョン 4 のサポートを追加しました。これにより、タスクのネットワーク統計情報や、タスクが実行されているアベイラビリティーゾーンなど、Fargate タスクに関する追加情報が提供されます。詳細については、Amazon ECS タスクメタデータエンドポイントバージョン 4 および Fargate のタスク用の Amazon ECS タスクメタデータエンドポイントバージョン 4 を参照してください。

  • コンテナの定義に SYS_PTRACE Linux パラメータのサポートを追加しました。詳細については、「Linux パラメータ」を参照してください。

  • Fargateコンテナエージェントは、Amazon ECS コンテナエージェントの使用をすべての Fargate タスクに置き換えます。通常、この変更は、タスクの実行方法には影響しません。

  • コンテナランタイムは Docker の代わりに Containerd を使用するようになりました。ほとんどの場合、この変更はタスクの実行方法には影響しません。コンテナランタイムで発生するいくつかのエラーメッセージは、より一般的な内容になり、Docker には言及されなくなります。詳細については、Amazon Elastic Contain Service ユーザーガイドAWS Fargate停止したタスクのエラーコードを参照してください。

  • Amazon Linux 2 に基づく。

1.3.0

以下は、プラットフォームバージョンの変更履歴です1.3.0

  • 2019 年 9 月 30 日以降、起動されたすべての新しい Fargate タスクでは、awsfirelensログドライバーをサポートします。タスク定義パラメータを使用して、AWS のサービスまたは AWS パートナーネットワーク (APN) の送信先に、ログをルーティングし保存および分析を行うように、FireLens for Amazon ECS を設定します。詳細については、「Amazon ECS ログを AWS サービスまたは AWS Partner に送信する」を参照してください。

  • Fargateタスクのタスクリサイクルが追加されました。これは、Amazon ECS サービスの一部であるタスクを更新するプロセスです。詳細については、AWS Fargate 用 Amazon Elastic Container Service ユーザーガイドの「タスクの保守」を参照してください。

  • 2019 年 3 月 27 日以降、起動されたすべての新しい Fargate タスクでは、プロキシ設定、コンテナのスタートアップとシャットダウンの依存関係、コンテナ別の起動と停止のタイムアウト値を定義するための追加タスク定義パラメータを使用できます。詳細については、「プロキシ設定」、「コンテナの依存関係」、および「[コンテナのタイムアウト]」を参照してください。

  • 2019 年 4 月 2 日以降、起動されたすべての新しい Fargate タスクでは、機密データをAWS Secrets ManagerシークレットまたはAWS Systems Managerパラメーターストアのパラメーターのいずれかに保存し、コンテナ定義でそれらを参照することにより、コンテナへの機密データの挿入をサポートします。詳細については、「Amazon ECS コンテナに機密データを渡す」を参照してください。

  • 2019 年 5 月 1 日以降、起動された新しい Fargate タスクでは、secretOptions コンテナ定義パラメータを使用してコンテナのログ設定内の機密データを参照できます。詳細については、「Amazon ECS コンテナに機密データを渡す」を参照してください。

  • 2019 年 5 月 1 日以降、起動されるすべての新しいFargate タスクでは、splunkログドライバーに加えて awslogsログドライバーがサポートされます。詳細については、「ストレージとログ記録」を参照してください。

  • 2019 年 7 月 9 日以降に新しく起動された Fargate タスクでは、 CloudWatch Container Insights がサポートされています。詳細については、「Container Insights を使用して Amazon ECS コンテナをモニタリングする」を参照してください。

  • 2019 年 12 月 3 日より、Fargate Spot キャパシティープロバイダーがサポートされます。詳細については、「Fargate 起動タイプ用の Amazon ECS クラスター 」を参照してください。

  • Amazon Linux 2 に基づく。

Linux プラットフォームバージョン 1.4.0 への移行

FargateタスクのAmazon ECSをプラットフォームバージョン 1.0.01.1.01.2.0、または 1.3.0 からプラットフォームバージョン 1.4.0 に移行する場合は、次のことを考慮してください。タスクを移行する前に、タスクがプラットフォームバージョン1.4.0で正しく機能するのを確認することがベストプラクティスとされています。

  • タスクとの間のネットワークトラフィック動作を更新しました。プラットフォームバージョン 1.4.0 以降、Fargate タスクのすべての Amazon ECS は単一の Elastic Network Interface (タスク ENIと呼ばれる)を受け取り、すべてのネットワークトラフィックは VPC 内でこの ENI を通過し、VPC フローログを通じて表示されます。詳細については、「Fargate 起動タイプの Amazon ECS タスクのネットワークオプション」を参照してください。

  • インターフェイス VPC エンドポイントを使用している場合は、次の点を考慮してください。

    • Amazon ECR でホストされているコンテナイメージを使用する場合、com.amazonaws.region.ecr.dkrcom.amazonaws.region.ecr.apiの両方のAmazon ECR VPC エンドポイントおよび Amazon S3 ゲートウェイエンドポイントが必要です。詳細については、Amazon Elastic コンテナレジストリ ユーザーガイドAmazon ECR Interface VPC エンドポイント(AWS PrivateLink)を参照してください。

    • Secrets Managerのシークレットを参照するタスク定義を使用してコンテナの機密データを取得する場合は、 Secrets Managerのインターフェイス VPC エンドポイントを作成する必要があります。詳細については、AWS Secrets Manager ユーザーガイドVPC EndpointでSecrets Managerを使用するを参照してください。

    • Systems Managerパラメータストアのパラメータを参照するタスク定義を使用してコンテナの機密データを取得する場合は、SystemsManagerのインターフェイスVPCエンドポイントを作成する必要があります。詳細については、AWS Systems ManagerユーザーガイドVPCエンドポイントでSystemsManagerを使用するを参照してください。

    • タスクに関連付けられた Elastic Network Interface (ENI) のセキュリティグループに、タスクと使用している VPC エンドポイント間のトラフィックを許可するために作成されたセキュリティグループルールがあることを確認します。