- 製品›
- コンピューティング›
- Amazon Elastic Container Service›
- Amazon ECS のよくある質問
Amazon ECS のよくある質問
全般
Amazon Elastic Container Service (ECS) とは何ですか?
Amazon ECS は、組織が AWS、従来の Amazon Elastic Compute Cloud (EC2) インスタンス、または AWS Fargate のサーバーレスコンピューティングプレーン上で、コンテナ化されたアプリケーションをあらゆる規模で構築、デプロイ、管理するための極めて簡単な方法を提供する、特定用途向けのフルマネージドコンテナオーケストレーションサービスです。Amazon ECS はフルマネージド型でバージョンレスであり、AWS でコンテナ化されたアプリケーションを簡単に構築して実行できるようにするツールと組み込みサポートを提供しています。たとえば、Amazon ECS Service Connect はサービス検出、接続、トラフィックのオブザーバビリティを簡素化し、Amazon CloudWatch Container Insights はメトリクスとログを収集、集約、要約します。Amazon ECS では、サーバーやクラスターをプロビジョニングまたはスケーリングしたり、コンテナを実行させるサーバーのタイプを選択したり、クラスターパッキングを最適化したりする必要はありません。CPU とメモリの要件、ネットワークと IAM のポリシー、起動タイプとデータボリュームを指定する機能によって、コンテナの動作プロパティを制御できます。簡単な API 呼び出しを使用して、コンテナ対応アプリケーションの起動と終了、クラスターの完了状態のクエリ、多くの使い慣れた機能 (セキュリティグループ、Elastic Load Balancing (ELB)、Amazon Elastic Block Store (EBS) ボリューム、Identity Access Management (IAM) ロールなど) へのアクセスを実行できます。Amazon ECS を使用することで、リソースニーズと可用性要件に基づいて、クラスター全体のコンテナの配置をスケジューリングできます。
Amazon ECS を使用する利点は何ですか?
Amazon ECS はフルマネージド型のコンテナオーケストレーションサービスです。これにより、独自のクラスター管理インフラストラクチャをインストール、運用、スケーリングしなくても、コンテナを使用して長時間実行されるアプリケーション、サービス、およびバッチプロセスを簡単にデプロイおよび管理できます。Amazon ECS は、アプリケーションの可用性を維持し、アプリケーションの容量要件を満たすようにコンテナをスケールアップまたはスケールダウンできます。Amazon ECS を AWS Fargate と併用すると、コンピューティングインフラストラクチャをプロビジョニング、管理、またはスケーリングしなくてもアプリケーションをデプロイできるため、コンテナ化されたアプリケーションを正常に構築、デプロイ、または移行するのにかかる時間を短縮できます。さらに、Amazon ECS は ELB、Amazon 仮想プライベートクラウド (VPC)、IAM、アプリケーション自動スケーリング、Amazon CloudWatch、Amazon Elastic File System (EFS) などの使い慣れた機能と統合されているため、一般的な抽象化を構築したり維持したりする必要がありません。
Amazon ECS は AWS 内でどのような役割を果たしていますか?
Amazon ECS は、コンテナ化されたアプリケーションを任意の規模で構築、デプロイ、管理するための最も簡単な方法を提供する、フルマネージド型の特定の用途向けのコンテナオーケストレーションサービスです。Amazon ECS はフルマネージド型でバージョンレスであり、AWS でコンテナ化されたアプリケーションを簡単に構築して実行できるようにするツールと組み込みサポートを提供しています。例えば、Amazon ECS では、サーバーやクラスターをプロビジョニングまたはスケーリングしたり、コンテナを実行させたいサーバーのタイプを選択したり、クラスターパッキングを最適化したりする必要はありません。CPU とメモリの要件、ネットワークと IAM のポリシー、コンピューティングプラットフォーム (AWS Fargate または Amazon EC2)、データボリュームを指定できるため、コンテナの動作プロパティを制御できます。
Amazon ECS を AWS Fargate と組み合わせて使用する場合、Amazon ECS はサーバーレスコンテナオーケストレーションをサポートしているため、コンテナ化されたワークロードのスケーリング、可用性の維持、保護に関して AWS の優れた運用性をさらに活かすことができます。リファクタリングをほとんどまたはまったく行わずにコンテナベースのアプリケーションを最新化しつつ、サーバーレスコンピューティングがもたらすスケール、俊敏性、コストの多くの利点を享受したい場合は、Amazon ECS with AWS Fargate が理想的なコンピューティングの選択肢です。
Amazon ECS Service Connect はサービス検出、接続、トラフィックのオブザーバビリティを簡素化し、Amazon ECS CloudWatch Container Insights はメトリクスとログを収集、集約、要約します。アプリケーションの実行方法の特性をより細かく制御したい場合は、Amazon EC2 上の Amazon ECS と、インフラストラクチャ上でコンテナワークロードを実行する場合に Amazon ECS Anywhere を利用できます。まとめると、AWS Fargate 上の Amazon ECS、Amazon EC2 上の Amazon ECS、Amazon ECS Anywhere を組み合わせると、さまざまなアプリケーションをすべて同じエクスペリエンスとツールで実行できるようになります。これを踏まえると、AWS コンテナの新規顧客の 65% 以上が Amazon ECS を使用しています。
AWS では、Amazon ECS with AWS Fargate や AWS Lambda など、さまざまなサーバーレスコンピューティングオプションを選択できます。AWS Lambda は、イベント駆動型アーキテクチャ (EDA) を使用してイベントに応じてコードを実行し、基盤となるコンピューティングリソースを自動的に管理するサーバーレスコンピューティングサービスです。ユースケースに応じて、これらのコンピューティングオプションを 1 つ以上使用できます。Amazon ECS と AWS Fargate か AWS Lambda かに関わらず、AWS のサーバーレスの選択肢は、サーバーレスコンピューティングがもたらすスケール、俊敏性、コストという利点をもたらします。
Amazon ECS の料金体系について教えてください。
Amazon ECS は追加料金なしで使用できます。アプリケーションの保存や実行のために作成した AWS リソース (Amazon EC2 インスタンス、AWS Fargate、Amazon EBS ボリュームなど) に対してのみ、料金が発生します。実際に使用した分に対してのみ料金が発生します。最低料金や前払いの義務はありません。Amazon ECS には 2 種類の料金モデルがあります。AWS Outposts の Amazon ECS は、Amazon EC2 Launch Type と同じモデルです。
- Amazon EC2 起動タイプモデル: Amazon EC2 起動タイプの場合、追加料金は発生しません。アプリケーションの保存や実行のために作成した AWS リソース (Amazon EC2 インスタンス、Amazon EBS ボリュームなど) に対してのみ、料金が発生します。実際に使用した分に対してのみ料金が発生します。最低料金や前払いの義務はありません。詳細な料金情報については、Amazon EC2 の料金ページをご覧ください。
- AWS Fargate 起動タイプモデル: AWS Fargate では、コンテナ化されたアプリケーションに必要な vCPU とメモリリソースに対する料金が発生します。vCPU とメモリリソースは、コンテナイメージを取得した時点から Amazon ECS タスク* が終了するまでを対象として計算され、最も近い秒に切り上げられます。1 分の最低料金が適用されます。詳細な料金情報については、AWS Fargate の料金ページをご覧ください。
Amazon ECS と AWS Lambda はどのように異なるのですか?
Amazon ECS は高いスケーラビリティを備えたコンテナオーケストレーションサービスで、コンテナで実行する分散型アプリケーションを実行および管理できます。AWS Lambda はイベント駆動型のタスクのコンピューティングサービスで、データの変更、ウェブサイトのクリック、AWS のその他のサービスからのメッセージといった "イベント" に対応して、お客様のコードが実行されます。お客様がコンピューティングインフラストラクチャを管理する必要はありません。 多くのアプリケーションは本番環境でこれらの構成の両方を使用していますが、顧客はそれぞれの利点を活用するために両方を使用することがよくあります。
Amazon ECS の使用
Amazon ECS の使用を開始するにはどのようにすればよいですか?
Amazon ECS の使用開始に関する詳細は、開始方法ページをご覧ください。 Amazon ECS を初めて使う人も、既にユースケースが決まっている人も、ご自身の道を選び、キュレートされた学習手順に沿って、開始してください。
Amazon ECS タスクとは何ですか?
最新のアプリケーション (マイクロサービスなど) のアーキテクチャでは、アプリケーションを個々のユニットに分割することが推奨されており、Amazon ECS はこのパターンに最適化されています。 タスクは Amazon ECS における最小のコンピューティング単位であり、同じ場所に配置したい一連のコンテナ、そのプロパティ、リンク方法を定義できます。タスクには Amazon ECS で配置を決定するために必要なすべての情報が含まれています。単一のコンテナを起動するには、タスクの定義に 1 つのコンテナの定義のみを含める必要があります。
Amazon ECS でアプリケーションとサービスを実行するにはどうすればよいですか?
はい。Amazon ECS サービススケジューラでは、実行時間の長いアプリケーションやサービスを管理できます。サービススケジューラを使用すると、アプリケーションの可用性を維持し、アプリケーションの容量要件を満たすようにコンテナをスケールアップまたはスケールダウンできます。サービススケジューラでは、ELB を使用して、各コンテナのトラフィックを分散させることができます。Amazon ECS は、関連付けられたロードバランサーに対して、自動的にコンテナの登録と登録解除を行います。また、サービススケジューラは、健全ではなくなった (ELB 健全性チェックに失敗するなど) コンテナや、実行を停止するコンテナを自動的に復旧することで、アプリケーションをサポートする、健全なコンテナの数が目的のレベルに維持されるようにします。
サービスで実行するコンテナの数を変更することで、アプリケーションをスケールアップまたはスケールダウンできます。アプリケーションを更新するには、その定義を変更するか、新規のイメージを使用します。スケジューラーは、新しい定義を使用して新しいコンテナを自動的に起動し、以前のバージョンを実行しているコンテナ (ELB を使用している場合は、ELB 接続が使い尽くされるのを待機しているコンテナ) を停止します。
Amazon ECS はアプリケーションの自動スケーリングをどのようにサポートしていますか?
Amazon ECS にデプロイされたアプリケーションとマイクロサービスは、Application Auto Scaling サービスを活用して、観測されたメトリクスデータに基づいて自動スケーリングします。Amazon ECS は、サービスに属するタスクによって消費される CPU とメモリリソースに基づいてサービスの使用率を測定し、このデータを使用して CloudWatch メトリクス、つまり ECSServiceAverageCPUUtilization と ECSServiceAverageMemoryUtilization を公開します。その後、アプリケーションの Auto Scaling は、これらの定義済みメトリクスをスケーリングポリシーと組み合わせて使用して、サービス内のタスク数を比例的にスケーリングできます。さらに、サービスの CPU とメモリの平均使用量だけでは、スケーリングアクションをいつ、どの程度実行すべきかを判断する信頼できる指標にならないユースケースもあります。このため、Application Auto Scaling では、選択した CloudWatch メトリクスを表すカスタムメトリクス仕様に基づくサービスのスケーリングもサポートしており、この方が適している場合があります。これには、受信した HTTP リクエストの数、キュー/トピックから取得されたメッセージの数、データベーストランザクションの数など、アプリケーションの他の側面を追跡するメトリックが含まれます。これで、選択した CloudWatch メトリクスまたは Prometheus メトリクスを使用できるようになりました。
詳細については、「CloudWatch と Prometheus のカスタムメトリクスに基づく Amazon ECS サービスの自動スケーリング」をご覧ください。
Amazon ECS ではどのようなコンピューティングオプションを利用できますか?
Amazon ECS を使用すると、さまざまなコンピューティングオプションで同じエクスペリエンスとツールで、さまざまなアプリケーションを実行できます。
- AWS Fargate: AWS Fargate はサーバーレスの従量制料金コンピューティングエンジンです。サーバーのプロビジョニング、クラスター管理、オーケストレーションの負担がなくなります。Amazon ECS は AWS Fargate によってプロビジョニングされたコンテナを使用して、スケーリング、負荷分散、コンテナ利用のためのスケジューリング管理を自動的に行い、コンテナ化されたアプリケーションの構築や運用を簡略化します。
- Amazon EC2: Amazon EC2 上での Amazon ECS では、EC2 インスタンスを所有し、インフラストラクチャ管理のあらゆる側面を完全に制御できます。例えば、特定の EC2 インスタンスタイプを選択したり、基盤となるオペレーティングシステムをカスタマイズできます。Auto Scaling グループキャパシティプロバイダーを使用して EC2 インスタンスのスケーリングを管理できます。
- オンプレミスの仮想マシン (VM) またはサーバー:
- Amazon ECS Anywhere は、オンプレミスサーバーや仮想マシン (VM) などの外部インスタンスを Amazon ECS クラスターに登録するためのサポートを提供します。
- キャパシティは、次の AWS リソースのいずれかに配置できます。
- アベイラビリティーゾーン
- ローカル ゾーン
- Wavelength Zones
- AWS リージョン
- AWS Outposts
Amazon ECS はコンピューティングインフラストラクチャの自動スケーリングをサポートしていますか?
はい。Amazon ECS は AWS Fargate と Amazon EC2 の両方でコンピューティングインフラストラクチャの自動スケーリングをサポートしているため、基盤となるインフラストラクチャではなく、アプリケーションの構築とスケーリングに集中できます。
AWS Fargate と Amazon ECS を組み合わせると、アプリケーションに必要なコンピューティングインフラストラクチャが自動的にプロビジョニング、スケーリング、更新されるため、サーバーレスエクスペリエンスが実現します。
Amazon EC2 のキャパシティーを必要とするアプリケーションのために、Amazon ECS は、アプリケーションのキャパシティー要件に応じて Amazon EC2 インスタンスを自動的にスケーリングする Auto Scaling グループキャパシティープロバイダーを提供しています。Amazon EC2 インスタンスタイプ、Amazon マシンイメージ (AMI)、ネットワーク設定などに必要な設定で Amazon EC2 Auto Scaling Group (ASG) を作成し、キャパシティープロバイダーを作成して、アプリケーションのスケジューリングのニーズと負荷に基づいてその ASG 内の Amazon EC2 インスタンスを自動的にスケーリングできます。タスクの負荷に基づいて ASG のスケールインおよびスケールアウトアクションを管理します。
Amazon ECS キャパシティープロバイダーとは何ですか?
Amazon ECS キャパシティープロバイダーは、アプリケーションに必要なキャパシティーを定義できるインターフェイスです。キャパシティープロバイダーは、アプリケーションをさまざまな種類のコンピューティングキャパシティーで実行する方法について柔軟なルールを定義し、キャパシティーのスケーリングを管理します。Capacity Providers は、Amazon EC2 と AWS Fargate のどちらでも動作します。Amazon ECS には、各クラスターの AWS Fargate および Fargate-Spot キャパシティー用の事前定義済みのキャパシティープロバイダーが用意されています。Amazon EC2 では、独自の ASG キャパシティープロバイダーを作成して Amazon EC2 Auto Scaling グループのスケーリングを管理できます。Amazon ECS のタスクとサービスの実行時に、それらを複数のキャパシティープロバイダーに分割できます。例えば、AWS Fargate と Fargate Spot のキャパシティー全体で、事前に定義した分割割合でサービスを実行できます。
Amazon ECS はバッチジョブをサポートしていますか?
はい。Amazon ECS Run タスクを使用すれば、1 度に 1 つ以上のタスクを実行できます。Run タスクは、CPU、メモリ、ポートなどのタスクの要件を満たすインスタンス上でタスクを開始します。 また、Amazon ECS では AWS Batch を使用してバッチコンピューティングワークロードを計画、スケジュール、実行できるため、結果の分析と問題の解決に集中できます。
自分の Amazon マシンイメージ (AMI) を使用できますか?
はい。Amazon ECS の AMI 規格を満たす、任意の AMI をご使用いただけます。最初は、Amazon ECS 対応の Amazon Linux AMI を使用することをお勧めします。Amazon ECS と互換性のあるパートナー AMI もご使用いただけます。ドキュメントの Amazon ECS AMI 仕様をご確認ください。
Amazon Elastic Container Registry (ECR) からプルするようコンテナインスタンスを設定するには、どうしたらよいですか?
Amazon ECR は Amazon ECS と統合されているので、Amazon ECS で実行中のアプリケーションのコンテナイメージの保存、実行、管理を簡単に行えます。必要な操作は、タスク定義で Amazon ECR リポジトリを指定して、インスタンスに AmazonEC2ContainerServiceforEC2Role をアタッチすることのみです。後は、Amazon ECS により、アプリケーションに適切なイメージが取得されます。
Amazon ECS を AWS Fargate と組み合わせて使用すべきなのはどのような場合ですか?
AWS Fargate は、Amazon ECS でコンテナを実行するためのサーバーレスコンピューティングを提供します。AWS Fargate を使用すると、お客様は Amazon EC2 インスタンスのプロビジョニングや管理をせずにコンテナを起動できます。AWS Fargate は、AWS でコンテナを起動して実行する最も簡単な方法です。コンプライアンスやガバナンスの要件をサポートするために EC2 インスタンスの制御性の向上が必要、またはより幅広いカスタマイズオプションが必要なお客様は、Amazon EC2 インスタンスを使用して Amazon ECS を使用することを選ぶことができます。
Amazon ECS はどのようなネットワーキングのオプションをサポートしていますか?
Amazon ECS では、Docker ネットワーキングをサポートしており、Amazon VPC と統合してコンテナを分離できます。これにより、コンテナをその他のサービスや外部トラフィックと接続する方法をコントロールできます。Amazon ECS を使用すると、さまざまなユースケースを対象としたコンテナ用の 4 種類のネットワーキングモードから選択できます。
- VPC モード: このモードでは、実行している各 Amazon ECS タスクに専用の伸縮自在なネットワーキングインターフェイスが割り当てられるため、VPC 内のコンテナで Amazon EC2 インスタンスのようなフルネットワーキング機能を利用できます。
- Bridge モード: このモードでは、ローカルの仮想ネットワーク内のホストで実行しているすべてのコンテナを接続する Linux ブリッジが作成されます。これには、ホストのデフォルトネットワーク接続でアクセスできます。
- Host モード: このモードでは、ホストのネットワークスタックにコンテナが直接追加され、分離せずにホストのネットワークにコンテナが公開されます。
- None: このモードでは、コンテナの外部ネットワーキングが無効になります。
Amazon ECS はサービス間通信をどのようにサポートしていますか?
- Service Connect: Amazon ECS Service Connect は、Amazon ECS のサービス検出、接続、およびトラフィックのオブザーバビリティを簡素化します。ネットワークインフラストラクチャではなく、アプリケーションコードに集中できるため、アプリケーションをより迅速に構築できます。Amazon ECS Service Connect を使用して、サービスエンドポイントの論理名を定義し、それらをクライアントアプリケーションで使用して依存関係に接続できます。Amazon ECS Service Connect は、正常なエンドポイントにトラフィックを送信するのに役立ち、Amazon ECS コンソールと Amazon CloudWatch で豊富なトラフィック テレメトリーを提供します。Amazon ECS ネイティブのデプロイは、Amazon ECS Service Connect を利用することでさらに堅牢になります。Amazon ECS Service Connect では自動 Connection Draining がサポートされており、クライアントアプリケーションではトラフィックエラーを発生させずに、サービスエンドポイントを新バージョンに切り替えることができるためです。Amazon ECS Service Connect を使用すると、以下のことができます。
- クライアントアプリケーションが依存関係に接続する方法をワンステップで設定する
- 論理的な名前付けを使用して回復力のある分散アプリケーションを作成および運用する
- ロードバランサーをデプロイおよび構成することなく、Amazon ECS タスク間のトラフィックを監視および分散します
- サービスをより迅速に展開し、アプリケーションを構成する Amazon ECS マイクロサービスのシームレスな統合を提供します
- Service Discovery: Amazon ECS は AWS Cloud Map と統合されているため、コンテナ化されたサービスを互いに簡単に検出して接続することができます。AWS Cloud Map は、アプリケーションリソースにカスタム名を定義付けるクラウドリソースの検出サービスです。ウェブサービスが、これらの動的に変化するリソースの最新ロケーションを常に検出するため、アプリケーションの可用性が向上します。
Amazon ECS はどのようにしてアプリケーションのオブザーバビリティを提供しますか?
- モニタリング
- Amazon CloudWatch で Amazon ECS リソースをモニタリングできます。Amazon CloudWatch は Amazon ECS から未加工データを収集し、読み取り可能な、ほぼリアルタイムのメトリックスに処理します。これらの統計は 2 週間記録されるため、履歴情報にアクセスして、クラスターやサービスのパフォーマンスをより正確に把握できます。これに対する追加料金は発生しません。詳細については、Amazon ECS CloudWatch メトリクスをご覧ください。
- メトリクスを強化するには、CloudWatch Container Insights を使用して、Amazon EC2 と AWS Fargate で実行されている Amazon ECS クラスターで利用できるコンテナ化されたアプリケーションとマイクロサービスからメトリクスとログを収集、集約、要約します。CloudWatch は、CPU、メモリ、ディスク、ネットワークなどの多くのリソースのメトリクスを自動的に収集します。Container Insights は、コンテナの再起動エラーなどの診断情報も提供するため、問題を特定して迅速に解決するのに役立ちます。Amazon ECS の場合、Container Insights は Linux と Windows Server インスタンスの両方で、クラスター、タスク、およびサービスレベルでメトリクスを収集します。Linux インスタンスでのみインスタンスレベルでメトリクスを収集できます。ネットワークメトリクスは、ブリッジネットワークモードと awsvpc ネットワークモードのコンテナでのみ使用できます。ホストネットワークモードのコンテナでは使用できません。詳細については、Container Insights の使用をご覧ください。
- ログ記録
- Amazon ECS では、すべての Amazon ECS API 呼び出しを記録し、そのログファイルが AWS CloudTrail を通じて配信されるよう設定できます。記録される情報には、API 呼び出し元の ID、API 呼び出しの時間、API 呼び出し元のソース IP アドレス、リクエストのパラメータ、および Amazon ECS から返された応答の要素が含まれます。CloudTrail により、AWS マネジメントコンソール、AWS SDK、AWS CLI から行われた API コールの履歴が提供されます。これにより、セキュリティ分析、リソース変更履歴、コンプライアンスの監査が可能になります。
- AWS Config
- AWS Config は Amazon ECS と統合し、AWS アカウントで AWS リソースの設定を可視化します。AWS Config により、ユーザーは、リソースがどのように設定されているのか、互いにどのように関連しているのか、継続的に設定や関係性はどのように変化するのかをモニタリングし、追跡することができます。AWS Config を使用することで、コンプライアンス、セキュリティ、運用上のトラブルシューティング、リソース管理を簡素化できます。
- サードパーティ
- Amazon ECS は、オープンコンテナ標準を採用することで、サードパーティのオブザーバビリティベンダーのエコシステム全体をサポートします。詳細については、Amazon ECS パートナーのページを参照してください。
Amazon ECS ではどのようなストレージオプションを使用できますか?
Amazon ECS は、次のストレージオプションを提供します。
Amazon Elastic File System (EFS): Amazon EFS は、Amazon ECS タスクで使用する、サーバーレスかつ完全に伸縮自在でスケーラブルなファイルストレージを提供します。永続ストレージを実現するために、共有 Amazon EFS ファイルシステムを ECS タスクにマウントできます。
Amazon Elastic Block Store (EBS): Amazon EBS は、Amazon ECS タスクのためにスケーラブルで高性能なストレージを提供します。必要な特性 (サイズ、パフォーマンス、暗号化など) を持つ EBS ボリュームをプロビジョニングし、Amazon ECS タスクにアタッチするように ECS を設定できます。
AWS Fargate で実行されている Amazon ECS タスクのコスト情報をモニタリングするにはどうすればよいですか?
AWS Fargate で実行されている Amazon ECS タスクのコストは、AWS のコストと使用状況レポート (CUR) と AWS Cost Explorer で自動的に確認できます。マネージドタグとユーザー追加タグを使用して、Amazon ECS タスクのコストを集計し、新規および既存のビジネスユニット、チーム、またはアプリケーションに割り当てることができます。
Amazon EC2 インスタンスで実行されている Amazon ECS タスクのコスト情報をモニタリングするにはどうすればよいですか?
Amazon ECS の分割コスト配分データを選択することで、AWS のコストと使用状況レポート (CUR) で Amazon EC2 インスタンスで実行されている Amazon ECS タスクのコストと使用状況に関する情報を確認できます。分割コスト配分データは、Amazon EC2 インスタンスで実行されている Amazon ECS タスクのタスクレベルのコストを生成します。これは、インスタンスの料金、およびインスタンス上で実行されているコンテナが消費した CPU およびメモリリソースの割合に基づいて各タスクのリソース消費を分析することによって行われます。分割コスト配分データは、Amazon ECS タスクのマネージドタグとユーザー追加タグを自動的に取り込み、コストを集約して新規および既存のビジネスユニット、チーム、またはアプリケーションに割り当てることができます。AWS コスト管理コンソールの設定から Amazon ECS の分割コスト配分データを選択できます。次に、AWS 請求コンソールの CUR レポート設定から、個々の CUR レポートの分割コスト配分データを選択できます。
分割コスト配分データの有効化の詳細については、こちらをご覧ください。
セキュリティとコンプライアンス
Amazon ECS は、異なる顧客が所有するコンテナをどのようにして分離するのですか?
Amazon ECS は、顧客によって管理されている Amazon EC2 インスタンスで、または AWS Fargate を使用して、コンテナを実行するスケジューリングを行い、Amazon EC2 利用者向けに用意されているのと同じ分離の管理とコンプライアンスの設定を基盤として構築されています。コンピュートインスタンスはお客様が指定した IP アドレス範囲で仮想プライベートクラウド (VPC) 内に配置されます。インターネットに公開されるインスタンスと、プライベートな状態のままにするインスタンスを決定します。
- Amazon EC2 インスタンスは IAM ロールを使用して Amazon ECS サービスにアクセスします。
- Amazon ECS タスクは、IAM ロールを使用してサービスおよびリソースにアクセスします。
- AWS Fargate で実行されている Amazon ECS タスクは、分離された仮想マシンで実行されます。
- セキュリティグループとネットワーク ACL により、インスタンスを出入りするインバウンドとアウトバウンドのネットワークアクセスを制御できます。
- 業界標準の暗号化 IPsec VPN 接続を使用して、既存の IT インフラストラクチャと VPC のリソースを結びつけることができます。
- Amazon EC2 リソースは専有インスタンスとしてプロビジョニングできます。ハードウェア専有インスタンスは特定の顧客専用のハードウェアで実行される Amazon EC2 インスタンスで、これにより分離が強化されます。
自分のコンテナインスタンスにセキュリティ設定や分離フレームワークを追加適用できますか?
はい。Amazon EC2 のお客様として、お客様はコンテナインスタンスのオペレーティングシステム (OS) へのルートアクセス権を持っています。OS のセキュリティ設定の所有権を取得することができ、モニタリング、パッチ管理、ログ管理、ホスト侵入検出などのセキュリティ機能のためのソフトウェアコンポーネントを追加で設定することができます。
Amazon ECS を AWS Fargate と併用すると、各タスクにきめ細かなアクセス権限を割り当てることができるため、高いレベルのセキュリティが実現します。これにより、アプリケーションを構築する際の高度な分離、ネットワークアクセス制御、IAM 制御が可能になります。AWS Fargate では、すべてのタスクが別々の仮想マシン (VM) で実行されるため、同じホストを共有する 2 つのタスクよりも分離性が高くなります。また、各タスクには独自のネットワークインターフェースがあり、セキュリティグループを各タスクに適用して、送受信トラフィックを制御できます。
Amazon ECS では、プライベートまたは内部ソースからコンテナイメージを取得できますか?
はい。お客様はご自分のコンテナインスタンスから、VPC 内のプライベートコンテナイメージレジストリ、または Amazon ECR のような VPC 外でアクセスできるレジストリにアクセスするよう設定できます。
ECS タスクに対して IAM ロールをどのように設定すればよいですか?
まず、Amazon EC2 Container Service Task Role サービスロールを使用し、必要なアクセス権限を使用するポリシーをアタッチして、タスク用の IAM ロールを作成する必要があります。新規のタスク定義またはタスク定義のリビジョンを作成するときには、[Task Role] ドロップダウンから選択するか、JSON 形式で保存された taskRoleArn を使用してロールを指定できます。
Amazon ECS はどのコンプライアンスプログラムに従っていますか?
Amazon ECS は、PCI DSS Level 1、ISO 9001、ISO 27001、ISO 27017、ISO 27018、SOC 1、SOC 2、SOC 3、HIPAA 適合の基準を満たしています。
詳細については、コンプライアンスのページを参照してください。
Amazon ECS は、保護医療情報 (PHI) やその他の HIPAA 規制対象ワークロードに使用できますか?
はい。Amazon ECS は HIPAA 対応サービスです。AWS と Business Associate Addendum (BAA) を締結している場合は、Amazon ECS を使用して、AWS Fargate 起動タイプあるいは Amazon EC2 コンピューティングインスタンス上にデプロイされているコンテナを使って、暗号化されている Protected Health Information (PHI) を処理することができます。
詳細については、HIPAA コンプライアンスのページを参照してください。PHI の処理、保存、転送を予定しているものの、AWS との BAA をまだ締結していない場合、詳細についてお問い合わせください。
Amazon ECS を使用して、米国政府の規制対象ワークロードを扱うことや、機密扱いの管理された非格付け情報 (CUI) を処理することはできますか?
はい。AWS GovCloud (米国) リージョンを使用すれば、Amazon ECS で管理されているコンテナとクラスタは、自身のコンテナを使って、機密扱いのデータおよび規制対象ワークロードの要件を満たすことができます。詳細については、AWS GovCloud のページを参照してください。
本日より、連邦情報処理規格 (FIPS) 140-2 に準拠した方法で、AWS Fargate での Amazon ECS にワークロードをデプロイすることもできます。FIPS は米国およびカナダ政府の規格であり、機密情報を保護する暗号化モジュールのセキュリティ要件を規定しています。
AWS は Amazon ECS ワークロードのために他にどのようなセキュリティ保証を提供していますか?
Amazon ECS はセキュリティバイデザインの原則に基づいて設計されており、セキュリティ、アイデンティティ、コンプライアンスのために AWS のネイティブセキュリティサービスとも統合されています。例えば、Amazon GuardDuty を利用して、AWS Fargate または Amazon EC2 で実行されている Amazon ECS ワークロードをモニタリングし、潜在的に悪意のある動作または不審な動作を検出できます。
サービスレベルアグリーメント
Amazon ECS の SLA は何を保証していますか?
Compute SLA は、Amazon ECS に最低 99.99% の月間稼働率を保証しています。 AWS は、Amazon ECS と AWS Fargate について以下の 2 つの SLA コミットメントを行っています。(1) マルチ AZ 配置された対象コンテナサービスを管理するマルチ AZ 対象コンテナサービス SLA、および (2) 対象コンテナサービスタスクとポッドを個別に管理する単一タスク/ポッド SLA。「AWS Fargate と Amazon エラスティックコンテナサービスの SLA」のページを参照してください。
SLA サービスクレジットの対象であるかどうかは、どのように確認できますか?
同じリージョン内でタスクを実行している複数のアベイラビリティーゾーンで、毎月の課金期間中の稼働率が 99.99% 未満なら、Compute SLA 対象の Amazon ECS に対する SLA クレジットの資格があります。
SLA の利用規約に関するすべての詳細、およびクレジット請求方法の詳細については、「Compute SLA の詳細ページ」を参照してください。