AWS コンテナサービスの選択 - AWS コンテナサービスの選択

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

AWS コンテナサービスの選択

最初のステップを実行する

目的

組織に最適な AWS コンテナサービスを決定します。

最終更新日

2025 年 5 月 16 日

対象サービス

序章

コンテナは、最新のアプリケーション開発の主要なコンポーネントです。コンピューティングリソースを整理し、アプリケーションデプロイのコンテンツを管理するための標準です。

コンテナは、クラウドにデプロイするソフトウェアを構築するための個別の再現可能なコンピューティング環境を提供します。また、パッケージングと依存関係の管理も簡素化されます。ウェブアプリケーションのオーケストレーションや非常に大規模なマルチクラスターエステートから、作業のテストやラップトップでの概念実証まで、あらゆる用途に使用できます。

この決定ガイドは、最新のアプリケーション開発に適した AWS コンテナサービスの開始と選択に役立ちます。

この 3 分半の抜粋は、 AWS シニアマネージャーおよびソリューションアーキテクトである Umar Saeed による re:Invent 2023 での 11 分間のプレゼンテーションからのものです。 AWS コンテナの選択について簡単に説明します。

を理解する

コンテナには、アプリケーションのパッケージ化、デプロイ、実行に多くの利点があります。

  • 移植性: コンテナランタイムをサポートする任意のプラットフォームで実行できる一貫したランタイム環境からメリットを得られます。

  • スケーラビリティ: 軽量で簡単にレプリケートできるコンテナを使用して、需要に応じてアプリケーションをスケールアップまたはスケールダウンします。

  • 整合性: アプリケーションが、一貫したランタイム環境を持つすべての環境で同じ方法で実行されていることを確認します。

  • 効率: 軽量コンテナを使用する従来の仮想マシンよりも少ないリソースを使用します。

  • 分離: コンテナのプロセスレベルの分離により、セキュリティと信頼性を向上させます。これにより、個別のコンテナで実行されているアプリケーションが相互に干渉できなくなり、セキュリティと信頼性が向上します。

  • 俊敏性: アプリケーションの迅速なパッケージ化とデプロイにより、新機能やアプリケーションの市場投入にかかる時間を短縮します。

でコンテナを実行するために使用できるオプションを示す図 AWS

AWS コンテナサービスのユニバースは、次の 3 つの異なるレイヤーで考えることができます。

  • Compute Capacity Layer は、コンテナが実際に実行される場所です。このレイヤーは、以下で構成されます。

    • Amazon Elastic Compute Cloud (Amazon EC2) インスタンス: これらのインスタンスは、コンテナを実行するための基盤となるコンピューティング容量を提供します。アプリケーションの要件に合わせて、幅広いインスタンスタイプとサイズから選択できます。EC2 インスタンスは、Amazon ECS と Amazon EKS の両方のコンピューティングレイヤーとして使用できます。

    • AWS Fargate: Fargate は、基盤となるインフラストラクチャを管理せずにコンテナを実行できるコンテナ用のサーバーレスコンピューティングエンジンです。これにより、EC2 インスタンスをプロビジョニングおよび管理する必要がなくなります。Fargate は、Amazon ECS と Amazon EKS の両方で使用できます。

    • AWS Outposts: AWS Outposts は、 AWS インフラストラクチャとサービスをオンプレミス環境またはハイブリッド環境に拡張するフルマネージドサービスです。を使用すると AWS Outposts、独自のデータセンターにデプロイされた AWS インフラストラクチャでコンテナを実行できます。

  • オーケストレーションレイヤーは、環境をスケジュールしてスケーリングします。このレイヤーには以下が含まれます。

    • Amazon Elastic Container Service (Amazon ECS): Amazon ECS は、コンテナ化されたアプリケーションのデプロイ、管理、スケーリングを簡素化するフルマネージドコンテナオーケストレーションサービスです。Amazon ECS を使用して、タスクとサービスの定義、サービス検出の処理、コンテナのライフサイクルの管理を行うことができます。

    • Amazon Elastic Kubernetes Service (Amazon EKS): Amazon EKS は、Kubernetes を使用してコンテナ化されたアプリケーションをデプロイ、管理、スケーリングできるマネージド Kubernetes サービスです。可用性が高く安全な Kubernetes コントロールプレーンを提供します。

    • Red Hat OpenShift Service on AWS (ROSA): ROSA は、インフラストラクチャで AWS Red Hat OpenShift クラスターをデプロイして実行できるフルマネージドサービスです。OpenShift は、コンテナ化されたアプリケーションを構築、デプロイ、管理するための追加機能とツールを使用して Kubernetes の機能を拡張する、一般的なエンタープライズグレードの Kubernetes プラットフォームです。

  • Vertical ソリューションレイヤーは、アプリケーションのデプロイと管理のプロセスを簡素化する、高レベルかつバンドルされたサービスを提供する一連の垂直統合サービスです。このレイヤー AWS のサービスは次のとおりです。

    • AWS App Runner: AWS App Runner は、コンテナ化されたウェブアプリケーションと APIs。コンテナイメージを指定すると、App Runner はアプリケーションを自動的に構築、デプロイ、スケーリングします。基盤となるコンピューティングリソースのプロビジョニング、負荷分散、受信トラフィックに基づく自動スケーリングを処理します。

    • Amazon Lightsail: Amazon Lightsail は、アプリケーションを実行するための事前設定された仮想プライベートサーバー (インスタンス) およびその他のリソースを提供するクラウドプラットフォームです。コンピューティングインスタンス、データベース、ストレージ、ネットワークリソースを迅速にプロビジョニングするための事前定義された設定を提供します。 は、コンテナのデプロイと管理を容易にするために、Docker がプリインストールされたインスタンスをプロビジョニングすることで、コンテナ化されたアプリケーションの実行Lightsailをサポートします。

    • AWS Batch: AWS Batch は、バッチコンピューティングワークロードを実行できるフルマネージドサービスです AWS。送信するバッチジョブのボリュームと特定のリソース要件に基づいて、最適なコンピューティングリソースを動的にプロビジョニングします。ワークロードの要件に基づいて、ジョブのスケジュール、リソースのプロビジョニング、スケーリングを自動的に処理します。

    • Amazon Elastic Container Registry (Amazon ECR): Amazon ECR は、コンテナイメージを保存、管理、デプロイできるフルマネージド型のコンテナレジストリです。コンテナイメージに安全でスケーラブルなストレージを提供し、必要なイメージを使用してコンテナのプロビジョニングを簡素化するように設計されています。

注記

AWS には、コンテナをデプロイして実行するさまざまな方法が用意されています。最初の考慮事項の 1 つは、サーバーレス運用モデルまたは Kubernetes 運用モデルのいずれかを優先することです。実際には、ほとんどのお客様は両方をさまざまな程度で使用します。

運用モデルの選択については、「最新のアプリケーション戦略の選択」のディシジョンガイドで詳しく説明します。これは、この質問をさらに詳しく調べたいユーザーにとって便利なリソースです。さらに、「 Containers and Serverless Recommendation Guide」では、運用モデルを選択する際に行う選択肢について説明しています。

考慮する

アプリケーションの要件と運用上の好みに合ったコンテナサービスを選択することが重要です。次のセクションでは、コンテナサービスを選択するときに考慮すべき重要な基準と、サポートツールとサービスについて説明します。

Managed service and operation overhead

組織は、運用上のオーバーヘッドを削減するために、マネージドコンテナサービス上に構築することを選択できます。このアプローチにより、デベロッパーとオペレーターは、差別化されていないタスクではなく、価値を付加する独自のアクティビティに集中できます。

Workload characteristics

ワークロードパターンを理解することは、アーキテクチャの選択に役立ちます。ワークロードパターンには、ウェブアプリケーション、API ベースのマイクロサービス、イベント駆動型アプリケーション、ストリーミングとメッセージング、データパイプライン、IT オートメーションなどが含まれます。一部のワークロードは、あるコンピューティング環境で別のタイプよりもパフォーマンスが良いか、費用対効果が高くなります。

Application portability

多くのお客様は、アプリケーションを別の環境で実行し、移行または移動できるようにしたいと考えています。ユーザーが選択肢を保持したり、オンプレミスとクラウドの両方でアプリケーションを実行したりできるようにすることが重要です。

ソフトウェアアーキテクチャのコンピテンシーを構築し、コンピューティングサービス間でビジネスロジックを簡単に差別化できるパッケージを構築することをお勧めします。

一部のテクノロジーを使用して構築されたアプリケーションは、他のテクノロジーではなく、一部のコンピューティングサービスでより効果的に実行される可能性があります。

Organization size and skills

組織のスキルは、使用するコンテナサービスを決定する際の重要な要素です。アプローチには、DevOps チームと Site Reliability Engineer (SRE) チームへのいくらかの投資が必要になる場合があります。自動パイプラインを構築してアプリケーションをデプロイすることは、最新のアプリケーション開発では一般的です。

一部の選択肢は、必要な管理量を増やします。例えば、一部の組織には、Kubernetes クラスターを管理し、関連するスキル移植性の価値を見つけるために強力な SRE チームに投資するため、Kubernetes 実装を実行および管理するためのスキルとリソースがあります。これらのチームは、クラスターの頻繁なアップグレードを処理します。たとえば、Kubernetes には年間 3 つのメジャーリリースがあり、古いバージョンを廃止しています。

組織の規模は重要な要素です。小規模な組織では、複数の役割を担う人で構成される IT チームが限られている一方で、大規模な企業は一度に何百ものワークロードを本番環境でサポートできるためです。

Ease of deployment

さまざまな AWS コンテナサービスは、デプロイの複雑さの観点から固有のニーズを満たします。各サービスが独自のロールに対して最適化される方法は次のとおりです。

  • AWS App Runner は、基盤となるインフラストラクチャを管理またはカスタマイズすることなく、アプリケーションをインターネットにデプロイするための最も簡単なパスを提供します。

  • Amazon ECS は、スケールや機能を犠牲にすることなく、ネットワークとセキュリティの設定をより細かく制御する必要がある場合に適しています。

  • Amazon EKS は、Kubernetes テクノロジーが提供するアプリケーションのデプロイとオーケストレーションを柔軟に制御します。

選択

コンテナオプションを評価する基準がわかったので、組織の要件に適した AWS コンテナサービスを選択する準備が整いました。

次の表は、どのサービスがどの状況に最適化されているかを示しています。テーブルを使用して、どのコンテナサービスとツールであるかを判断します。

コンテナカテゴリ いつ使用するか? サービス
Capacity Use when you want to run your containers on self-managed or AWS managed compute.

AWS Fargate

Amazon EC2

AWS Outposts

オーケストレーション

最大数千のコンテナをデプロイおよび管理するために容量が必要な場合は、 を使用します。

Amazon ECS

Amazon EKS

Red Hat OpenShift Service on AWS

Vertical solutions Use when you or your team don't have a lot of experience with containers or infrastructure.

AWS App Runner

AWS Lambda

Amazon Lightsail

AWS Batch

コンテナをサポートするツールとサービス

コンテナオペレーションをサポートするために を使用します。

Amazon ECR

On-premises Use these services for flexibility in where you run your container-based applications.

Amazon ECS Anywhere

Amazon EKS Anywhere

Amazon EKS Hybrid Nodes

使用アイテム

これで、各 AWS コンテナサービス (およびサポート AWS ツールとサービス) と、組織とユースケースに最適なコンテナサービスを明確に理解できました。

を使用して、利用可能な各 AWS コンテナサービスの詳細について調べる方法については、各サービスの仕組みを調べるためのパスが用意されています。次のセクションでは、詳細なドキュメント、実践的なチュートリアル、開始するためのリソースへのリンクを提供します。

キャパシティー

Amazon EC2
  • Amazon EC2 とは

    Amazon EC2 の概要について説明します。このガイドでは、サービスの概要だけでなく、サービスの使用を開始する方法と、主要な機能とその使用方法について詳しく説明します。

    ガイドを見る

  • Amazon EC2 インスタンスタイプ

    EC2 インスタンスを起動するときは、指定した インスタンスタイプ によって、インスタンスに使用するホストコンピュータのハードウェアが決まります。インスタンスタイプごとに、コンピューティング、メモリ、およびストレージの機能が異なっており、これらの機能に基づいたインスタンスファミリーにグループ化されています。このガイドでは、EC2 インスタンスタイプについて説明します。

    ガイドを見る

  • Amazon EC2 スポットインスタンスを使用した Amazon EC2 Auto Scaling

    Amazon EC2 Auto Scaling と起動テンプレートを使用してステートレスで耐障害性のあるワークロードを作成し、Amazon EC2 スポットインスタンスをリクエストする方法について説明します。

    チュートリアルの開始方法

AWS Fargate
  • の開始方法 AWS Fargate

    このガイドでは AWS Fargate、Amazon EC2 インスタンスのサーバーやクラスターを管理することなくコンテナを実行するために Amazon EC2 で使用できるテクノロジーである の基本について説明します。

    ガイドを見る

  • での Linux コンテナを使用したコンソールの開始方法 AWS Fargate

    Amazon ECS がサポートするリージョンのタスクに Fargate 起動タイプ AWS Fargate を使用して、 で Amazon ECS の使用を開始します AWS Fargate。

    ガイドを見る

  • を使用して Fargate Linux タスクでクラスターを作成する AWS CLI

    を使用して、クラスターのセットアップ、タスク定義の登録、Linux タスクの実行、Amazon ECS でのその他の一般的なシナリオの実行を行います AWS CLI。

    ガイドを見る

AWS Outposts
  • の開始方法 AWS Outposts

    AWS Outposts 技術ドキュメントの完全なセットにアクセスします。

    ガイドを見る

  • とは AWS Outposts

    インフラストラクチャ、サービス、API、ツールをお客様の施設に拡張 AWS するこのフルマネージドサービスについて紹介します。 APIs

    ガイドを見る

  • AWS Outposts サーバーの料金

    AWS Outposts サーバーの料金の詳細を取得します。

    料金の詳細を取得する

オーケストレーション

Amazon ECS
  • Amazon ECS の開始

    Amazon ECS へのアクセスに使用できるツールの概要と、コンテナを実行するための入門step-by-stepの手順について説明します。

    ガイドを見る

  • Amazon ECS のチュートリアル

    Amazon ECS を使用する際に、クラスターや VPCs の作成など、一般的なタスクを実行する方法について説明します。

    チュートリアルの開始方法

  • Amazon ECS イマージョンデー

    このワークショップでは、コンテナの基本的な理解を深め、Amazon ECS と を使用したコンテナワークフローのスケーリング、モニタリング、管理の実践的な経験を提供します AWS Fargate。

    ワークショップを見る

  • Amazon ECS にコンテナをデプロイする

    ロードバランサーの背後にある Amazon ECS クラスターでサンプルアプリケーションを実行し、サンプルアプリケーションをテストし、リソースを削除して料金を回避する方法について説明します。

    ガイドを見る

Amazon EKS
  • Amazon EKS の開始方法

    Amazon EKS について説明します。Amazon EKS は、独自の Kubernetes コントロールプレーンやノードをインストール、運用、保守 AWS することなく、 で Kubernetes を実行するために使用できるマネージドサービスです。

    ガイドを見る

  • Amazon EKS デプロイ

    で Amazon EKS デプロイオプションを確認し AWS 、それを使用して一般的なコンテナ化されたアプリケーションを管理する方法について説明します。

    ガイドを見る

  • Amazon EKS ワークショップ

    Amazon EKS について学ぶための実践的な演習をご覧ください。

    ワークショップにアクセスする

Red Hat OpenShift Service on AWS
  • とは Red Hat OpenShift Service on AWS

    このマネージドサービスを使用して、Red Hat OpenShift エンタープライズ Kubernetes プラットフォームを使用してコンテナ化されたアプリケーションを構築、スケーリング、デプロイする方法について説明します AWS。

    ガイドを見る

  • の開始方法 Red Hat OpenShift Service on AWS

    Red Hat OpenShift Service on AWS (ROSA) の使用を開始する方法について説明します。

    ガイドを見る

  • ROSA を使用する理由

    標準の Kubernetes で Red Hat OpenShift を使用するタイミングと ROSA の詳細について動画をご覧ください。

    動画を見る

垂直的ソリューション

AWS App Runner
  • とは AWS App Runner

    このサービスを使用して、ソースコードまたはコンテナイメージから のスケーラブルで安全なウェブアプリケーションに直接デプロイするタイミングについて説明します AWS クラウド。

    ガイドを見る

  • の開始方法 AWS App Runner

    このチュートリアルを使用して、アプリケーションをデプロイするソースコードとデプロイ、サービスビルド、およびサービスランタイムを設定します AWS App Runner。

    チュートリアルを使用する

  • を使用してウェブアプリケーションをデプロイする AWS App Runner

    以下のstep-by-stepの手順に従って、 を使用してコンテナ化されたウェブアプリケーションをデプロイします AWS App Runner。

    チュートリアルを使用する

AWS Lambda
  • とは AWS Lambda

    Lambda を使用して、高可用性コンピューティングインフラストラクチャでコードを実行し、サーバーとオペレーティングシステムのメンテナンス、容量のプロビジョニングと自動スケーリング、ログ記録など、コンピューティングリソースのすべての管理を実行する方法について説明します。

    ガイドを見る

  • AWS Lambda ドキュメント

    AWS Lambda ドキュメントを参照して、このサービスを使用してサーバーをプロビジョニングまたは管理せずにコードを実行し、消費したコンピューティング時間に対してのみ料金を支払う方法を理解してください。

    ガイドを見る

  • Lambda コンテナイメージをローカルで使用する

    デプロイパッケージを使用して関数コードを Lambda にデプロイする方法について説明します。Lambda は、コンテナイメージと.zipファイルアーカイブの 2 種類のデプロイパッケージをサポートしています。

    ガイドを見る

Amazon Lightsail
  • Amazon Lightsail とは

    の仕組みやメリットなどAmazon Lightsail、 に関する詳細な説明をご覧ください。このガイドには、 の使用を開始し、ニーズに合わせてLightsail設定するためのstep-by-stepガイダンスも含まれています。

    ガイドを見る

  • Lightsailコンテナサービスイメージの作成

    Dockerfile を使用してローカルマシンにコンテナイメージを作成する方法について説明します。その後、Lightsailコンテナサービスにプッシュしてデプロイできます。

    ガイドを見る

  • Amazon Lightsail リソースセンター

    Lightsail チュートリアル、動画、コアコンセプトドキュメントへのリンクをご覧ください。

    リソースセンターにアクセスする

AWS Batch
  • とは AWS Batch

    AWS Batch を使用して でバッチコンピューティングワークロードを実行する方法について説明します AWS クラウド。

    ガイドを見る

  • のベストプラクティス AWS Batch

    を使用する際にワークロードを実行および最適化する方法に関するこのガイダンスを検討してください AWS Batch。

    ガイドを見る

  • AWS Batch ワークショップセンター

    これらのワークショップは、初心者から上級者までプログレッシブに編成され、探索と学習に使用します AWS Batch。

    ワークショップの詳細

コンテナをサポートするツールとサービス

Amazon ECR
  • Amazon ECR ドキュメント

    Amazon ECR ドキュメントを使用して、この完全マネージド型コンテナレジストリを使用するための最善の方法を確認してください。

    ガイドを見る

  • Amazon Elastic Container Registry (Amazon ECR) とは

    Amazon ECR の使用を開始するガイド。

    ガイドを見る

  • マルチアカウントおよびマルチリージョンアーキテクチャの Amazon ECR

    AWS アカウント と にまたがる Amazon ECR アーキテクチャの主な考慮事項と AWS リージョン、架空のお客様のユースケースに関連するアーキテクチャについて説明します。

    ブログ記事を読む

オンプレミス

Amazon ECS Anywhere
  • Amazon ECS Anywhere とは

    Amazon ECS Anywhere が、オンプレミスサーバーや仮想マシン (VM) などの外部インスタンスを Amazon ECS クラスターに登録するためのサポートを提供する方法について説明します。

    ガイドを見る

  • Amazon ECS Anywhere の料金

    この料金ガイドを使用して、Amazon ECS Anywhereクラスターに登録したインスタンスが ECS コントロールプレーンに接続され、最も近い秒に切り上げられた時間に基づいて課金されるモデルに基づく Amazon ECS Anywhere の料金を理解します。

    料金ガイドを見る

  • Amazon ECS Anywhere FAQs

    Amazon ECS Anywhere に関するよくある質問への回答を取得します。

    FAQsを確認する

Amazon EKS Anywhere
  • Amazon EKS Anywhere のドキュメント

    ドキュメントを使用して、Amazon EKS Anywhere の使用とベストプラクティスを理解します。

    ドキュメントを読む

  • Amazon EKS Anywhere の料金

    Amazon EKS Anywhere の料金については、この料金ガイドを参照してください。

    料金ガイドを見る

  • Amazon EKS Anywhere のよくある質問

    Amazon EKS Anywhere に関するよくある質問への回答を取得します。

    FAQsを確認する

Amazon EKS Hybrid Nodes
  • Amazon EKS Hybrid Nodes の概要

    ドキュメントを使用して、Amazon EKS Hybrid Nodes の使用とベストプラクティスを理解します。

    ドキュメントを読む

  • Amazon EKS Hybrid Nodes の料金

    料金ガイドを使用して、Amazon EKS Hybrid Nodes の料金を理解します。

    料金ガイドを見る

  • Amazon EKS Hybrid Nodes の詳細

    既存のオンプレミスおよびエッジインフラストラクチャを Amazon EKS クラスターのノードとして使用する方法について説明します。

    ブログ記事を読む

Explore