外部インスタンス(Amazon ECS Anywhere) - Amazon Elastic Container Service

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

外部インスタンス(Amazon ECS Anywhere)

Amazon ECS Anywhere は、オンプレミスサーバーや仮想マシン (VM) などの外部インスタンスを Amazon ECS クラスターに登録するためのサポートを提供します。外部インスタンスは、アウトバウンドトラフィックを生成したり、データを処理したりするアプリケーションを実行するために最適化されています。アプリケーションがインバウンドトラフィックを必要とする場合、Elastic Load Balancing のサポートがないため、これらのワークロードの実行効率が低下します。Amazon ECS は、新しいEXTERNAL起動タイプで、サービスを作成したり、外部インスタンスでタスクを実行したりできます。

以下に、Amazon ECS Anywhere の高レベルのシステムアーキテクチャの概要を示します。


            Amazon ECS Anywhere のアーキテクチャを示す図

サポートされるオペレーティングシステムとシステムアーキテクチャ

以下は、サポートされるオペレーティングシステムとシステムアーキテクチャのリストです。

  • Amazon Linux 2

  • CentOS 7

  • CentOS Stream 8

  • RHEL 7、RHEL 8 - DockerとRHELのオープンパッケージリポジトリはどっちも、RHELへのDockerのネイティブなインストールに対応していません。このドキュメントで説明されているインストールスクリプトを実行する前に、Docker がインストールされていることを確認する必要があります。

  • Fedora 32、Fedora 33

  • openSUSE タンブルウィード

  • Ubuntu 18、Ubuntu 20、Ubuntu 22

  • Debian 10

    重要

    Debian 9 の長期 Support (LTS) は 2022 年 6 月 30 日にサポート期間が終了となり、Amazon ECS Anywhere によるサポート対象外となります。

  • SUSE Enterprise Server 15

  • x86_64およびARM64CPU アーキテクチャがサポートされています。

  • 次の Windows オペレーティングシステムのバージョンがサポートされています。

    • Windows Server 2022

    • Windows Server 2019

    • Windows Server 2016

    • Windows Server 20H2

考慮事項

外部インスタンスの使用を開始する前に、以下の考慮事項に注意してください。

  • 外部インスタンスは、一度に 1 つずつクラスターに登録できます。外部インスタンスを別のクラスターに登録する方法については、「外部インスタンスの登録を解除する」を参照してください。

  • 外部インスタンスには、 AWS APIs との通信を許可する IAM ロールが必要です。詳細については、「ECS Anywhere IAM ロール」を参照してください。

  • 外部インスタンスには、事前設定されたインスタンス認証情報チェーンをローカルに定義しないでください。これは、登録スクリプトに干渉するためです。

  • コンテナログを CloudWatch Logs に送信するには、タスク定義でタスク実行 IAM ロールを作成して指定していることを確認してください。

  • 外部インスタンスがクラスターに登録されると、ecs.capability.external属性がインスタンスに関連付けられています。この属性は、インスタンスを外部インスタンスとして識別します。カスタム属性を外部インスタンスに追加して、タスクの配置制約として使用できます。詳細については、「カスタム属性」を参照してください。

  • 外部インスタンスにリソースタグを追加できます。詳細については、「外部コンテナインスタンスのタグ付け」を参照してください。

  • ECS Exec は、外部インスタンスでサポートされています。詳細については、「ECS Exec による Amazon ECS コンテナのモニタリング」を参照してください。

  • 外部インスタンスとのネットワーキングに固有の追加の考慮事項を次に示します。詳細については、「ECS Anywhereを使用したネットワーク」を参照してください。

    • サービスの負荷分散はサポートされていません。

    • サービス検出はサポートされていません。

    • 外部インスタンスで実行されるタスクは、bridge,host, またはnone ネットワークモードを使用する必要があります。awsvpc ネットワークモードはサポートされていません。

    • 各 AWS リージョンには Amazon ECS サービスドメインがあります。これらのサービスドメインは、外部インスタンスへのトラフィックの送信を許可する必要があります。

    • 外部インスタンスにインストールされた SSM Agent は、ハードウェアフィンガープリントを使用して 30 分ごとにローテーションされる IAM 認証情報を保持します。外部インスタンスが への接続を失った場合 AWS、SSM エージェントは接続が再確立された後に認証情報を自動的に更新します。詳細については、AWS Systems Manager ユーザーガイドの「ハードウェアフィンガープリントを使用したオンプレミスサーバーと仮想マシンの検証」を参照してください。

  • UpdateContainerAgent API はサポートされません。外部インスタンスで SSM Agent または Amazon ECS エージェントを更新する方法については、「外部インスタンスでの AWS Systems Manager エージェントと Amazon ECS コンテナエージェントの更新」を参照してください。

  • Amazon ECS キャパシティープロバイダーはサポートされていません。外部インスタンスでサービスを作成したり、スタンドアロンタスクを実行するには、EXTERNAL起動タイプを使用するタスクにのみ使用されます。

  • SELinux はサポートされません。

  • Amazon EFS ボリュームの使用、または EFSVolumeConfiguration はサポートされていません。

  • App Mesh との統合はサポートされていません。

  • コンソールを使用して外部インスタンスタスク定義を作成する場合は、コンソール JSON エディタでタスク定義を作成する必要があります。

  • Windows で ECS Anywhere を実行する場合は、オンプレミスのインフラストラクチャで独自の Windows ライセンスを使用する必要があります。

  • Amazon ECS に最適化されていない AMI を使用する場合は、外部コンテナインスタンスで次のコマンドを実行して、タスクに IAM ロールを使用するルールを設定します。詳細については、「Amazon EC2 または外部インスタンスでタスク IAM ロールを使用する」を参照してください。

    $ sysctl -w net.ipv4.conf.all.route_localnet=1 $ iptables -t nat -A PREROUTING -p tcp -d 169.254.170.2 --dport 80 -j DNAT --to-destination 127.0.0.1:51679 $ iptables -t nat -A OUTPUT -d 169.254.170.2 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 51679

ECS Anywhereを使用したネットワーク

Amazon ECS 外部インスタンスは、アウトバウンドトラフィックを生成したり、データを処理したりするアプリケーションを実行するために最適化されています。アプリケーションがウェブサービスなどのインバウンドトラフィックを必要とする場合、Elastic Load Balancing のサポートがないため、これらのワークロードをロードバランサーの背後に配置するためのサポートがないため、これらのワークロードの実行効率が低下します。

外部インスタンスとのネットワークに固有の追加の考慮事項を次に示します。

  • サービスの負荷分散はサポートされていません。

  • サービス検出はサポートされていません。

  • 外部インスタンスで実行される Linux タスクは、bridgehost、またはnone ネットワークモードを使用する必要があります。awsvpc ネットワークモードはサポートされていません。

    各ネットワークモードの詳細については、のAmazon ECS ベストプラクティスガイドの「ネットワークモードの選択」を参照してください。

  • 外部インスタンスで実行される Windows タスクは、default ネットワークモードを使用する必要があります。

  • 各リージョンには Amazon ECS サービスドメインがあり、外部インスタンスへのトラフィックの送信を許可する必要があります。

  • 外部インスタンスにインストールされた SSM Agent は、ハードウェアフィンガープリントを使用して 30 分ごとにローテーションされる IAM 認証情報を保持します。外部インスタンスが への接続を失った場合 AWS、SSM エージェントは接続が再確立された後に認証情報を自動的に更新します。詳細については、AWS Systems Manager ユーザーガイドの「ハードウェアフィンガープリントを使用したオンプレミスサーバーと仮想マシンの検証」を参照してください。

次のドメインは、Amazon ECS サービスと外部インスタンスにインストールされている Amazon ECS エージェント間の通信に使用されます。トラフィックが許可されていることと、DNS 解決が機能していることを確認します。各エンドポイントでは、リージョンは、米国東部 (オハイオ) リージョンの us-east-2 のように、Amazon ECS でサポートされている AWS リージョンのリージョン識別子を表します。使用するすべてのリージョンのエンドポイントを許可する必要があります。ecs-aおよびecs-tエンドポイントを使用する場合は、アスタリスク (例えば、ecs-a-*) を含める必要があります。

  • ecs-a-*.region.amazonaws.com— このエンドポイントは、タスクを管理するときに使用されます。

  • ecs-t-*.region.amazonaws.com— このエンドポイントは、タスクとコンテナのメトリクスを管理するために使用されます。

  • ecs.region.amazonaws.com— これは Amazon ECS のサービスエンドポイントです。

  • ssm.region.amazonaws.com — これは のサービスエンドポイントです AWS Systems Manager。

  • ec2messages.region.amazonaws.com — これは、 がクラウド内の Systems Manager エージェントと Systems Manager サービス間の通信 AWS Systems Manager に使用するサービスエンドポイントです。

  • ssmmessages.region.amazonaws.com — これは、クラウド内の Session Manager サービスでセッションチャネルを作成および削除するために必要なサービスエンドポイントです。

  • タスクで他の AWS サービスと通信する必要がある場合は、それらのサービスエンドポイントが許可されていることを確認してください。アプリケーションの例には、Amazon ECR を使用してコンテナイメージをプルしたり、 CloudWatch for Logs を使用したり CloudWatch することが含まれます。詳細については、AWS 全般のリファレンスガイドの「サービスエンドポイント」を参照してください。

Amazon FSx for Windows File Server ECS Anywhere を使用した

Amazon ECS 外部インスタンス Amazon FSx for Windows File Server で を使用するには、オンプレミスデータセンターと 間の接続を確立する必要があります AWS クラウド。ネットワークを VPC に接続するオプションについては、「Amazon Virtual Private Cloud 接続オプション」を参照してください。

ECS Anywhere を使用した gMSA

ECS Anywhere は、次のユースケースをサポートしています。

  • Active Directory は AWS クラウド にあります。この設定では、 接続を使用して、オンプレミスネットワークと AWS クラウド 間の AWS Direct Connect 接続を作成します。接続を作成する方法については、「Amazon 仮想プライベートクラウド接続オプション」を参照してください。 AWS クラウドにアクティブディレクトリを作成します。の使用を開始する方法については AWS Directory Service、「 AWS Directory Service 管理ガイド」の「 のセットアップ AWS Directory Service」を参照してください。その後、 AWS Direct Connect 接続を使用して外部インスタンスをドメインに参加させることができます。Amazon ECS での gMSA の操作方法については、「Amazon EC2 での Windows コンテナの gMSAs の使用」を参照してください。

  • アクティブディレクトリは、オンプレミスデータセンターで管理されています。-この設定では、外部インスタンスをオンプレミスのアクティブディレクトリに参加させます。その後、Amazon ECS タスクを実行する際に、ローカルで使用可能な認証情報を使用します。