コンソールを使用した Amazon ECS サービスの作成 - Amazon Elastic Container Service

コンソールを使用した Amazon ECS サービスの作成

タスク定義の指定された数のインスタンスをクラスター内で同時に実行して維持するサービスを作成します。タスクの 1 つが失敗または停止した場合、Amazon ECS サービススケジューラはタスク定義の別のインスタンスを起動してそれを置き換えます。これは、サービスで必要な数のタスクを維持するのに役立ちます。

サービスを作成する前に、次の設定パラメータを決定します。

  • タスクを分散するコンピューティングオプションが 2 つあります。

    • [capacity provider strategy] (キャパシティープロバイダー戦略) により、Amazon ECS がタスクを 1 つまたは複数のキャパシティプロバイダーに分散させます。

    • [起動タイプ] により、Amazon ECS は Fargate またはクラスターに登録された EC2 インスタンスのいずれかでタスクを直接起動します。

  • awsvpc ネットワークモードを使用するタスク定義、またはロードバランサーを使用するように設定されたサービスには、ネットワーク設定が必要です。デフォルトでは、コンソールは、デフォルトAmazon VPC 内のすべてのサブネットおよびデフォルトセキュリティグループとともにデフォルトのAmazon VPC を選択します。

  • 配置戦略、デフォルトのタスク配置戦略は、アベイラビリティーゾーン間でタスクを均等に分散します。

    サービスの高可用性を確保するために、アベイラビリティーゾーンの再調整を使用することをお勧めします。詳細については、「アベイラビリティーゾーン間での Amazon ECS サービスのバランシング」を参照してください。

  • サービスデプロイに [Launch Type] (起動タイプ) を使用するバージョン、デフォルトではクラスター VPC のサブネットでサービスが開始されます。

  • [capacity provider strategy] (キャパシティープロバイダー戦略) では、コンソールはデフォルトでコンピューティングオプションを選択します。次に、コンソールがデフォルトを選択するときに使用する順序について説明します。

    • クラスターにデフォルトのキャパシティープロバイダー戦略が定義されている場合は、その戦略が選択されます。

    • クラスターにデフォルトのキャパシティープロバイダー戦略が定義されていないが、Fargate キャパシティープロバイダーをクラスターに追加している場合は、キャパシティープロバイダーを使用するカスタム FARGATE キャパシティープロバイダー戦略が選択されます。

    • クラスターにデフォルトのキャパシティープロバイダー戦略が定義されていないが、クラスターに 1 つ以上の Auto Scaling グループキャパシティープロバイダーが追加されている場合は、[Use custom (アドバンスト)] オプションが選択され、戦略を手動で定義する必要があります。

    • クラスターにデフォルトのキャパシティープロバイダー戦略が定義されておらず、クラスターにキャパシティープロバイダーが追加されていない場合は、Fargate起動タイプが選択されます。

  • デプロイの失敗が検出された場合のデフォルトのオプションでは、[Amazon ECS デプロイサーキットブレーカー] オプションと [失敗時のロールバック] オプションを使用します。

    詳細については、「 Amazon ECS デプロイサーキットブレーカーが障害を検出する方法」を参照してください。

  • ブルー/グリーンデプロイオプションを使用する場合は、CodeDeploy でアプリケーションをどのように移動させるかを決めてください。以下のオプションが利用できます。

    • [CodeDeployDefault.ECSAllAtOnce]: すべてのトラフィックを同時に更新済みの Amazon ECS コンテナに移行します。

    • CodeDeployDefault.ECSLinear10PercentEvery1Minutes: すべてのトラフィックがシフトされるまで、1 分ごとにトラフィックの 10 パーセントをシフトします。

    • CodeDeployDefault.ECSLinear10PercentEvery3Minutes: すべてのトラフィックがシフトされるまで、3 分ごとにトラフィックの 10 パーセントをシフトします。

    • [CodeDeployDefault.ECSCanary10Percent5Minutes]: 最初の増分で 10 パーセントのトラフィックをシフトします。残りの 90 パーセントは 5 分後にデプロイされます。

    • [CodeDeployDefault.ECSCanary10percent15Minutes]: 最初の増分で 10 パーセントのトラフィックをシフトします。残りの 90 パーセントは 15 分後にデプロイされます。

  • Amazon ECS でサービス内の必要なタスク数を自動的に増減するかどうかを決定します。詳細については、「Amazon ECS サービスを自動的にスケールする」を参照してください。

  • Amazon ECS 内で実行される他のアプリケーションにアプリケーションを接続する必要がある場合、アーキテクチャに適したオプションを決定してください。詳細については、「Amazon ECS サービスを相互接続する」を参照してください。

  • Amazon ECS サーキットブレーカーを使用するサービスを作成すると、Amazon ECS はサービスデプロイとサービスリビジョンを作成します。これらのリソースを使用すると、サービス履歴に関する詳細情報を表示できます。詳細については、「Amazon ECS サービスデプロイを使用してサービス履歴を表示する」を参照してください。

    AWS CLI を使用してサービスを作成する方法については、「AWS Command Line Interface リファレンス」の「create-service」を参照してください。

    AWS CloudFormation を使用してサービスを作成する方法については、「AWS CloudFormation ユーザーガイド」の「AWS::ECS::Service」を参照してください。

デフォルトのオプションを使用してサービスを作成する

コンソールを使用すると、サービスをすばやく作成してデプロイできます。サービスには次の設定があります。

  • クラスターに関連する VPC およびサブネットにデプロイします

  • タスクを 1 つ展開します

  • ローリングデプロイを使用します

  • デフォルトのキャパシティプロバイダーでキャパシティプロバイダー戦略を使用します

  • デプロイサーキットブレーカーを使用して障害を検出し、障害時にデプロイを自動的にロールバックするオプションを設定します。

デフォルトパラメータを使用してサービスをデプロイするには、次の手順に従います。

サービスを作成するには (Amazon ECS コンソール)
  1. コンソール (https://console.aws.amazon.com/ecs/v2) を開きます。

  2. ナビゲーションページで、[クラスター] を選択します。

  3. [クラスター] ページで、サービスを作成するクラスターを選択します。

  4. [Services] (サービス) タブから、[Create] (作成) を選択します。

  5. [Deployment configure] (デプロイ設定) で、アプリケーションのデプロイ方法を指定します。

    1. [Application type] (アプリケーションの種類) で、[Service] (サービス) を選択します。

    2. [Task definition] (タスク定義) の場合、使用するタスク定義ファミリーとリビジョンを選択します。

    3. [Service name] (サービス名) でサービスの名前を入力します。

    4. [Desired tasks] (必要なタスク) で、サービス内で起動および維持するタスクの数を入力します。

  6. (オプション)サービスとタスクを識別しやすくするには、[Tags] (タグ) セクションを展開し、タグを設定します。

    Amazon ECS で、新しく起動されたすべてのタスクに、クラスター名とタスク定義のタグで自動でタグ付けするには、[Turn on Amazon ECS managed tags] (Amazon ECS で管理されたタグを有効にする) を選択し、[Task definition] (タスク定義) を選択します。

    Amazon ECS で、新しく起動されたすべてのタスクに、クラスター名とサービスタグを自動でタグ付けするには、[Turn on Amazon ECS managed tags] (Amazon ECS で管理されたタグを有効にする) を選択し、[Service] (サービス) を選択します。

    タグを追加または削除します。

    • [タグを追加] [Add tag] (タグを追加) を選択し、以下を実行します。

      • [キー] にはキー名を入力します。

      • [] にキー値を入力します。

    • [タグの削除] タグの横にある [タグの削除] を選択します。

定義済みのパラメータを使用したサービスの作成

定義済みのパラメータを使用してサービスを作成するには、次の手順に従います。

サービスを作成するには (Amazon ECS コンソール)
  1. コンソール (https://console.aws.amazon.com/ecs/v2) を開きます。

  2. サービスを起動するリソースを決定します。

    サービスの起動元 ステップ

    クラスター

    1. [Clusters] ページで、サービスを作成するクラスターを選択します。

    2. [Services] (サービス) タブから、[Create] (作成) を選択します。

    起動タイプ
    1. [タスク定義] ページで、タスク定義の横にあるオプションボタンを選択します。

    2. [デプロイ] メニューで [サービスを作成] を選択します。

  3. (オプション) クラスターのインフラストラクチャ全体にタスクを分散する方法を選択します。[Compute configuration] (コンピュート設定) を展開し、オプションを選択します。

    ディストリビューションの方法 ステップ

    キャパシティープロバイダー戦略

    1. [コンピューティングオプション] で、[キャパシティプロバイダー戦略] を選択します。

    2. 戦略を選択:

      • デフォルトのキャパシティープロバイダー戦略を使用するには、[Use cluster default] (デフォルトのクラスターを使用) を選択します。

      • クラスターにデフォルトのキャパシティプロバイダー戦略がない場合、またはカスタム戦略を使用する場合は、[カスタムを使用][キャパシティプロバイダー戦略を追加] を選択し、[ベース][キャパシティプロバイダー][重み] を指定して、カスタムキャパシティプロバイダー戦略を定義します。

    注記

    戦略でキャパシティープロバイダーを使用するには、キャパシティープロバイダーをクラスターに関連付ける必要があります。

    起動タイプ
    1. [Compute options] (コンピューティングオプション) セクションで、[Launch type] (起動タイプ) を選択します。

    2. [Launch type] (起動タイプ) で、起動タイプを選択します。

    3. (オプション) Fargate 起動タイプが指定されている場合、Platform version(プラットフォームのバージョン)で、使用するプラットフォームのバージョンを指定します。プラットフォームバージョンが指定されない場合、LATEST プラットフォームバージョンが使用されます。

  4. サービスのデプロイ方法を指定するには、[デプロイ設定] に移動してから、オプションを選択します。

    1. [アプリケーションタイプ] では、[サービス] が選択されたままにします。

    2. [Task definition] (タスク定義) と [Revision] (リビジョン) の場合、使用するタスク定義ファミリーとリビジョンを選択します。

    3. [Service name] (サービス名) でサービスの名前を入力します。

    4. [Service type] (サービスタイプ) で、サービススケジューリング戦略を選択します。

      • タスク配置の制約をすべて満たすアクティブなコンテナインスタンスに、スケジューラが正確に 1 つのタスクをデプロイするには、[Daemon] (デーモン) を選択します。

      • スケジューラがクラスターに必要数のタスクを配置して維持するためには、[Replica] (レプリカ) を選択します。

    5. [Replica] (レプリカ) を使用した場合、[Desired tasks] (必要なタスク) に、サービス内で起動および維持するタスクの数を入力します。

    6. [レプリカ] を選択した場合、Amazon ECS がアベイラビリティーゾーン間のタスクの分散をモニタリングし、不均衡が発生したときにタスクを再分散させるには、[アベイラビリティーゾーンのサービス再調整] で、[アベイラビリティーゾーンのサービス再調整] を選択します。

    7. サービスのデプロイタイプを決定してください。[デプロイオプション] を展開し、次のパラメータを指定します。

      デプロイタイプ ステップ
      ローリング更新
      1. [Min running tasks] (実行中のタスクの最小化) の場合、デプロイ時に RUNNING の状態に保つ必要のあるサービス内のタスクの下限数をタスクの必要数のパーセント値 (最も近い整数に切り上げ) で入力します。詳細については、[Deployment configuration] (デプロイ設定) を参照してください。

      2. [Max running tasks] (実行中のタスクの最大化)) には、デプロイ時に RUNNING または PENDING 状態にできるサービスのタスクの上限数を必要数のタスクのパーセント値 (最も近い整数に切り下げ) で入力します。

      ブルー/グリーンデプロイ
      1. デプロイ構成 には、CodeDeployがデプロイ中に本番トラフィックを置き換えタスクセットにルーティングする方法を選択します。

      2. [CodeDeploy のサービスロール] では、承認された AWS のサービス に API リクエストを行うためにサービスが使用する IAM ロールを選択します。

    8. Amazon ECS がデプロイの障害を検出して処理する方法を設定するには、[Deployment failure detection] (デプロイ障害検出) を展開し、オプションを選択します。

      1. タスクを開始できない場合にデプロイを停止するには、[Use the Amazon ECS deployment circuit breaker] (Amazon ECS デプロイサーキットブレーカーを使用する) を選択します。

        デプロイサーキットブレーカーによってデプロイが失敗状態に設定されたときに、ソフトウェアがデプロイを最後に完了したデプロイ状態に自動的にロールバックするようにするには、[失敗時のロールバック] を選択します。

      2. アプリケーションメトリクスに基づいてデプロイを停止するには、[CloudWatch アラームを使用する] を選択します。次に、[CloudWatch アラーム名] からアラームを選択します。新しいアラームを作成するには、CloudWatch コンソールに移動します。

        CloudWatch アラームによってデプロイが失敗状態に設定されたときに、ソフトウェアがデプロイを最後に完了したデプロイ状態に自動的にロールバックするようにするには、[失敗時のロールバック] を選択します。

  5. (オプション) Service Connect を使用するには、[Turn on Service Connect] (Service Connect をオンにする) を選択し、以下を指定します。

    1. [Service Connect configuration] (Service Connect 設定) で、クライアントモードを指定します。

      • サービスが名前空間内の他のサービスへの接続のみを必要とするネットワーククライアントアプリケーションを実行している場合は、[クライアント側のみ] を選択します。

      • サービスがネットワークまたは Web サービスアプリケーションを実行していて、このサービスにエンドポイントを提供し、名前空間内の他のサービスに接続する必要がある場合は、[Client and server] (クライアントとサーバー) を選択します。

    2. デフォルトのクラスター名前空間ではない名前空間を使用するには、[Namespace] (名前空間) でサービス名前空間を選択します。

    3. (オプション) [Use log collection] (ログコレクションを使用) を選択し、ログ構成を指定します。使用可能なログドライバーごとに、指定するログドライバーオプションがあります。デフォルトのオプションでは、コンテナログを CloudWatch Logs に送信します。その他のログドライバオプションは、AWS FireLens を使用して構成されます。詳細については、「Amazon ECS ログを AWS サービスまたは AWS Partner に送信する」を参照してください。

      以下では、各コンテナログの送信先について詳しく説明します。

      • Amazon CloudWatch — コンテナログを CloudWatch Logs に送信するようにタスクを設定します。デフォルトのログドライバーオプションが提供され、ユーザーに代わり CloudWatch ロググループを作成します。別のロググループ名を指定するには、ドライバーオプションの値を変更します。

      • [Amazon Data Firehose] — Firehose にコンテナログを送信するようタスクを設定します。Firehose 配信ストリームにログを送信するデフォルトのログドライバーオプションが提供されています。別の配信ストリーム名を指定するには、ドライバーオプションの値を変更します。

      • Amazon Kinesis Data Streams — Kinesis Data Streams にコンテナログを送信するようタスクを設定します。Kinesis Data Streams のストリームにログを送信するデフォルトのログドライバーオプションが提供されています。別のストリーム名を指定するには、ドライバーオプションの値を変更します。

      • Amazon OpenSearch Service — コンテナログを OpenSearch Service ドメインに送信するようタスクを設定します。ログドライバーオプションを提供する必要があります。

      • Amazon S3 — Amazon S3 バケットにコンテナログを送信するようタスクを設定します。デフォルトのログドライバーオプションが提供されていますが、有効な Amazon S3 バケット名を指定する必要があります。

  6. (オプション) サービス検出を使用するには、[サービス検出を使用] を選択し、以下を指定します。

    1. 新しい名前空間を使用するには、[名前空間の設定][新しい名前空間の作成] を選択し、名前空間の名前と説明を入力します。既存の名前空間を使用するには、[既存の名前空間を選択] を選択し、使用する名前空間を選択します。

    2. サービスの名前や説明などのサービス検出サービス情報を入力します。

    3. Amazon ECS にコンテナレベルのヘルスチェックを定期的に実行させるには、[Amazon ECS タスク状態の伝達の有効化] を選択します。

    4. [DNS record type (DNS レコード型)] で、サービスに作成する DNS レコード型を選択します。Amazon ECS サービス検出は、タスク定義で指定されたネットワークモードに応じて、[A] レコードおよび [SRV] レコードのみをサポートします。これらのレコードタイプの詳細については、Amazon Route 53 デベロッパーガイドサポートされているDNSレコードタイプを参照してください。

      • サービスタスクで指定されたタスク定義が bridge または host ネットワークモードを使用する場合、SRV タイプのレコードのみがサポートされます。レコードに関連付けるコンテナ名とポートの組み合わせを選択します。

      • サービスタスクで指定されたタスク定義が awsvpc ネットワークモードを使用する場合、A または SRV レコードタイプのいずれかを選択します。[A] を選択した場合は、次の手順をスキップします。[SRV] を選択する場合は、サービスを検出できるポートまたはレコードに関連付けるコンテナ名とポートの組み合わせを指定します。

      TTL には、レコードセットが DNS リゾルバーおよびウェブブラウザによってキャッシュされる時間を秒単位で入力します。

  7. (オプション) サービスのロードバランサーを設定するには、[Load Balancing] (負荷分散) セクションを展開します。

    ロードバランサーを選択します。

    このロードバランサーを使用するには この操作を行います

    Application Load Balancer

    1. [Load balancer type] で、[Application Load Balancer] を選択します。

    2. 選択新しいロードバランサーを作成するをクリックして新しいApplication Load Balancer を作成するか、既存のロードバランサーを使用する既存のApplication Load Balancer を選択します。

    3. [Load balancer name] (ロードバランサー名) では、一意な名前を入力します。

    4. [Choose container to load balance] (負荷分散するコンテナを選択) で、サービスをホストするコンテナを選択します。

    5. [Listener] (リスナー) で、Application Load Balancer が接続リクエストをリッスンするポートとプロトコルを入力します。デフォルトでは、ロードバランサーはポート 80 と HTTP を使用するように設定されます。

    6. [Target group name] (ターゲットグループ名) では、Application Load Balancer がリクエストをルーティングするターゲットグループの名前とプロトコルを入力します。デフォルトでは、ターゲットグループは、タスク定義で定義されている最初のコンテナにリクエストをルーティングします。

    7. [登録の遅延] には、ロードバランサーがターゲットの状態を UNUSED に変更するまでの秒数を入力します。デフォルトは 300 秒です。

    8. [Health check path] (ヘルスチェックパス) では、Application Load Balancer とコンテナ間の接続の正常性を検証するために、Application Load Balancer が定期的にリクエストを送信するコンテナ内に存在するパスを入力します。デフォルトはルートディレクトリ (/)。

    9. [Health check grace period] (ヘルスチェックの猶予期間) では、サービススケジューラが不健全な Elastic Load Balancing ターゲットヘルスチェックを無視する時間 (秒単位) を入力します。

    Network Load Balancer
    1. [Load balancer type] (ロードバランサータイプ) では、[Network Load Balancer] を選択します。

    2. [Load Balancer] (ロードバランサー) では、既存の Network Load Balancer を選択します。

    3. [Choose container to load balance] (負荷分散するコンテナを選択) で、サービスをホストするコンテナを選択します。

    4. [Target group name] (ターゲットグループ名) では、Network Load Balancer がリクエストをルーティングするターゲットグループの名前とプロトコルを入力します。デフォルトでは、ターゲットグループは、タスク定義で定義されている最初のコンテナにリクエストをルーティングします。

    5. [登録の遅延] には、ロードバランサーがターゲットの状態を UNUSED に変更するまでの秒数を入力します。デフォルトは 300 秒です。

    6. [Health check path] (ヘルスチェックパス) では、Application Load Balancer とコンテナ間の接続の正常性を検証するために、Network Load Balancer が定期的にリクエストを送信するコンテナ内に存在するパスを入力します。デフォルトはルートディレクトリ (/)。

    7. [Health check grace period] (ヘルスチェックの猶予期間) では、サービススケジューラが不健全な Elastic Load Balancing ターゲットヘルスチェックを無視する時間 (秒単位) を入力します。

  8. (オプション) サービスの Auto Scaling を設定するには、[サービスの自動スケーリング] を展開し、次のパラメータを指定します。

    1. サービスの自動スケーリングを使用するには、[Service auto scaling] (サービスの自動スケーリング) を選択します。

    2. [タスクの最小数] に、サービスの自動スケーリングで使用するタスクの下限数を入力します。必要な数がこの数を下回ることはありません。

    3. [タスクの最大数] に、サービスの自動スケーリングで使用するタスクの上限数を入力します。必要な数がこの数を超えることはありません。

    4. ポリシータイプを選択します。[スケーリングポリシータイプ] で、次のいずれかのオプションを選択します。

      使用するポリシータイプ この操作を行います

      ターゲット追跡

      1. [スケーリングポリシータイプ] で [ターゲットの追跡] を選択します。

      2. [Policy Name] (ポリシー名) にこのポリシーの名前を入力します。

      3. [ECS サービスメトリクス] で次のいずれかのメトリクスを選択します。

        • [ECSServiceAverageCPUUtilization] — サービスの平均 CPU 使用率。

        • [ECSServiceAverageMemoryUtilization] — サービスのメモリ平均使用率。

        • [ALBRequestCountPerTarget] - Application Load Balancer ターゲットグループ内のターゲットごとに完了したリクエストの数。

      4. [Target value] (ターゲット値) には、選択したメトリックに対してサービスが保持する値を入力します。

      5. [スケールアウトのクールダウン期間] には、スケールインアクティビティが完了してから別のスケールアウトアクティビティが開始されるまでの時間 (秒) を入力します。

      6. [スケールインのクールダウン期間] には、スケールインアクティビティが完了してから別のスケールインアクティビティが開始されるまでの時間 (秒) を入力します。

      7. ポリシーがスケールインアクティビティを実行しないようにするには、[Turn off scale-in] (スケールインをオフにする) を選択します。

      8. • (オプション) トラフィックの増加に合わせてスケーリングポリシーをスケールアウトさせたいが、トラフィックが減少してもスケールインする必要がない場合は、[スケールインをオフにする] を選択します。

      ステップスケーリング
      1. [スケーリングポリシータイプ] で [ステップスケーリング] を選択します。

      2. [ポリシー名] で、このポリシー名を入力します。

      3. [アラーム名] に、アラームの一意の名前を入力します。

      4. [Amazon ECS サービスメトリクス] で、アラームに使用するサービスメトリクスを選択します。

      5. [統計] で、アラーム統計を選択します。

      6. [期間] で、アラームの期間を選択します。

      7. [アラーム条件] で、選択したメトリクスを定義されたしきい値と比較する方法を選択します。

      8. [メトリクスを比較するためのしきい値][アラームを開始する評価期間] に、アラームに使用するしきい値としきい値を評価する期間を入力します。

      9. [スケーリングアクション]で、次の手順を実行します。

        • [アクション] には、サービスに対してタスクを追加する、削除する、または特定の必要数を設定するかを選択します。

        • タスクの追加または削除を選択した場合は、スケーリングアクションの開始時に追加または削除するタスクの数 (または既存のタスクの割合) を [値] に入力します。希望の数を設定することを選択した場合は、タスクの数を入力します。[タイプ] で、[値] が整数であるか、既存の必要なカウントのパーセント値であるかを選択します。

        • [下限] と [上限] に、ステップスケーリング調整の下限と上限を入力します。デフォルトでは、[ポリシーを追加] の下限はアラームしきい値であり、上限は正 (+) の無限大です。デフォルトでは、[ポリシーを削除] の上限はアラームしきい値であり、下限は負 (-) の無限大です。

        • (オプション) さらにスケーリングオプションを追加します。[新しいスケーリングアクションの追加] を選択し、[アクションのスケーリング] の手順を繰り返します。

        • [クールダウン期間] には、前回のスケーリングアクティビティが有効になるまで待機する時間を秒単位で入力します。追加ポリシーの場合、スケールアウトアクティビティの終了後、スケーリングポリシーによってスケールインアクティビティがブロックされ、一度にスケールアウトできるタスクの数が制限されます。削除ポリシーの場合、これはスケールインアクティビティの後、別のスケールインアクティビティが開始されるまでに経過する必要がある時間です。

  9. (オプション) デフォルト以外のタスク配置戦略を使用するには、[Task Placement] (タスクの配置) を展開し、以下のオプションから選択します。

    詳細については、「Amazon ECS がタスクをコンテナインスタンスに配置する方法」を参照してください。

    • [AZ バランススプレッド] - アベイラビリティーゾーン間およびアベイラビリティーゾーン内のコンテナインスタンス間でタスクを分散します。

    • [AZ Balanced BinPack] - 利用可能な最小メモリでアベイラビリティーゾーン間およびコンテナインスタンス間でタスクを分散します。

    • [ビンパック] - CPU またはメモリの最小利用可能量に基づいてタスクを配置します。

    • [ホストごとに 1 つのタスク] - 各コンテナインスタンスのサービスから最大 1 タスクを配置します。

    • [カスタム] - 独自のタスク配置戦略を定義します。

    [Custom] (カスタム) を選択した場合、タスクを配置するアルゴリズムと、タスク配置時に考慮されるルールを定義します。

    • [Strategy] (方針) にとって [Type] (タイプ) そして [Field] (フィールド) で、アルゴリズムとアルゴリズムに使用するエンティティを選択します。

      最大 5 個の戦略を入力できます。

    • [制約][タイプ] および [式] で、制約のルールと属性を選択します。

      例えば、T2 インスタンスにタスクを配置する制約を設定するには、[Expression] (表現) で、[attribute:ecs.instance-type =~ t2.*] と入力します。

      最大 10 個の制約を入力できます。

  10. タスク定義で awsvpc ネットワークモードを使用している場合、[Networking] (ネットワーク) を展開します。カスタム設定を指定するには、次のステップを実行します。

    1. VPC の場合、使用する VPC を選択します。

    2. [Subnets] (サブネット) で、タスクスケジューラがタスクを配置するときに考慮する VPC 内のサブネットを 1 つ以上選択します。

      重要

      awsvpc ネットワークモードではプライベートサブネットだけがサポートされます。タスクはパブリック IP アドレスを受信しません。したがって、アウトバウンドのインターネットアクセスには NAT ゲートウェイが必要であり、またインバウンドのインターネットトラフィックは、ロードバランサーを経由します。

    3. [Security groups] (セキュリティグループ) で、既存のセキュリティグループを選択することも、新しいセキュリティグループを作成することもできます。既存のセキュリティグループを使用するには、セキュリティグループを選択し、次のステップに進みます。新しいセキュリティグループを作成するには、[Create a new security group (新しいセキュリティグループの作成)] を選択します。セキュリティグループの名前、説明を指定してから、セキュリティグループのインバウンドルールを 1 つ以上追加する必要があります。

    4. [Public IP] (パブリック IP) では、タスクの Elastic Network Interface (ENI) にパブリック IP アドレスを自動的に割り当てるかどうかを選択します。

      AWS Fargate タスクをパブリックサブネットで実行するときに、そのタスクにパブリック IP アドレスを割り当てて、インターネットへのルートを持つようにすることができます。このフィールドを使用して EC2 タスクにパブリック IP を割り当てることはできません。詳細については、「Fargate 起動タイプの Amazon ECS タスクネットワーキングオプション」および「Amazon ECS タスクへのネットワークインターフェイスの割り当て」を参照してください。

  11. デプロイ時の設定と互換性のあるデータボリュームをタスクで使用する場合は、[ボリューム] を拡張してボリュームを設定できます。

    ボリューム名とボリュームタイプはタスク定義リビジョンを作成するときに設定され、サービスの作成時には変更できません。ボリューム名とタイプを更新するには、新しいタスク定義リビジョンを作成し、その新しいリビジョンを使用してサービスを作成する必要があります。

    このボリュームタイプを設定するには この操作を行います

    Amazon EBS

    1. [EBS ボリュームタイプ] には、タスクにアタッチする EBS ボリュームのタイプを選択します。

    2. [サイズ (GiB)] には、ボリュームサイズの有効な値をギビバイト (GiB) 単位で入力します。最小で 1 GiB、最大で 16,384 GiB のボリュームサイズを指定できます。スナップショット ID を指定しない限り、この値は必須です。

    3. [IOPS] には、ボリュームが提供する入力/出力オペレーションの数 (IOPS) の最大数を入力します。この値は io1io2、および gp3 ボリュームタイプでのみ設定できます。

    4. [スループット (MiB/秒)] には、ボリュームが提供すべきスループットをメビバイト/秒 (MiBps または MiB/s) で入力します。この値は gp3 ボリュームタイプでのみ設定できます。

    5. [スナップショット ID] には、既存の Amazon EBS ボリュームスナップショットを選択するか、スナップショットからボリュームを作成する場合はスナップショットの ARN を入力します。新しい空のボリュームは、スナップショット ID を選択または入力しないで作成できます。

    6. [ファイルシステムのタイプ] では、ボリューム上のデータストレージおよび取得に使用するファイルシステムの種類を選択します。オペレーティングシステムのデフォルトまたは特定のファイルシステムタイプのいずれかを選択できます。Linux のデフォルトは XFS です。スナップショットから作成されたボリュームでは、スナップショットの作成時にボリュームが使用していたのと同じファイルシステムタイプを指定する必要があります。ファイルシステムのタイプが一致しない場合、タスクは開始できません。

    7. [インフラストラクチャロール] には、Amazon ECS がタスクの Amazon EBS ボリュームを管理できるようにするために必要な権限を持つ IAM ロールを選択します。AmazonECSInfrastructureRolePolicyForVolumes 管理ポリシーをロールにアタッチすることも、このポリシーをガイドとして使用して、特定のニーズを満たすアクセス権限を持つ独自のポリシーを作成してアタッチすることもできます。必要なアクセス権限の詳細については、「Amazon ECS インフラストラクチャ IAM ロール」を参照してください。

    8. デフォルト設定で Amazon EBS 暗号化を使用する場合は、[暗号化][デフォルト] を選択します。アカウントにデフォルトで暗号化が設定されている場合、ボリュームは設定で指定されている AWS Key Management Service (AWS KMS) キーで暗号化されます。[デフォルト] を選択し、Amazon EBS のデフォルト暗号化がオンになっていない場合、ボリュームは暗号化されません。

      [カスタム] を選択した場合は、ボリューム暗号化に任意の AWS KMS key を指定できます。

      [なし] を選択すると、デフォルトで暗号化が設定されている場合や、暗号化されたスナップショットからボリュームを作成した場合を除き、ボリュームは暗号化されません。

    9. [暗号化][カスタム] を選択した場合は、使用する AWS KMS key を指定する必要があります。[KMS キー] には、AWS KMS key を選択するか、キーの ARN を入力します。対称型のカスタマー管理キーを使用してボリュームを暗号化する場合は、AWS KMS key ポリシーに適切な権限が定義されていることを確認してください。詳細については、「Amazon EBS ボリュームのデータ暗号化」を参照してください。

    10. (オプション) [タグ] では、タスク定義またはサービスからタグを伝達するか、独自のタグを指定することで、Amazon EBS ボリュームにタグを追加できます。

      タスク定義からタグを伝達する場合は、[タグの伝播元][タスク定義] を選択します。サービスからタグを伝達する場合は、[タグの伝播元][サービス] を選択します。[伝播しない] を選択した場合、または値を選択しなかった場合、タグは伝播されません。

      独自のタグを指定する場合は、[タグの追加] を選択し、追加する各タグのキーと値を指定します。

      Amazon EBS ボリュームのタグ付けの詳細については、「Amazon EBS ボリュームのタグ付け」を参照してください。

  12. (オプション)サービスとタスクを識別しやすくするには、[Tags] (タグ) セクションを展開し、タグを設定します。

    新しく起動したすべてのタスクに対して、Amazon ECS がクラスター名とタスク定義タグで自動的にタグ付けするようにするには、[Amazon ECS マネージドタグを有効にする] を選択し、[タグの伝播元] で [タスク定義] を選択します。

    新しく起動したすべてのタスクに対して、Amazon ECS がクラスター名とサービスタグで自動的にタグ付けするようにするには、[Amazon ECS マネージドタグを有効にする] を選択し、[タグの伝播元] で [サービス] を選択します。

    タグを追加または削除します。

    • [タグを追加] [Add tag] (タグを追加) を選択し、以下を実行します。

      • [キー] にはキー名を入力します。

      • [] にキー値を入力します。

    • [タグの削除] タグの横にある [タグの削除] を選択します。

  13. [Create] (作成) を選択します。

次のステップ

Amazon ECS サーキットブレーカーのサービスのデプロイを追跡し、サービス履歴を表示します。詳細については、「Amazon ECS サービスデプロイを使用してサービス履歴を表示する」を参照してください。