Container Service

コンテナー化されたアプリケーション向けオーケストレーションサービス

無料で始める

Container Service

Alibaba Cloud Container Service はフルマネージドのクラウドコンテナー管理サービスです。Alibaba Cloud ECS インスタンスの分散クラスター上にある Docker アプリケーションを効率的に実行、管理できます。よって、従来のような個別でのコンテナークラスター基盤の導入や、運用、オートスケーリングなどの拡張設計が不要になります。アプリケーション開発作業など、本来の作業に集中できます。


利点

使いやすさ

  • コンテナークラスターの作成は、数項目の入力のみ

  • Docker Compose テンプレートを使用してアプリケーションのオーケストレーションが可能

  • GUI と OpenAPI により、作業を簡便化

セキュリティ

  • コンテナーを実行する ECS サーバーに対して、アクセス権を設定可能

  • セキュリティグループと VPC サブネットルールをカスタマイズすることで、セキュアなネットワーク構成が設計可能

  • ECS インスタンス上でコンテナーを起動して高レベルの分離を実現

プロトコルの互換性

  • 標準の Docker API、Docker エコシステムとの互換性あり

  • アプリケーションを Docker 対応のクラウドプラットフォームへシームレスに移行

  • サードパーティ製のスケジュール済みタスク配信とシステム統合用 API との相互運用

  • 様々なパターンのハイブリッドクラウド環境にも適応可能

信頼性

  • 大規模なコンテナーを数秒で起動

  • Web、モバイル、HPC、イベント駆動型など、さまざまなワークロードをサポート

  • 必要な数の Docker コンテナーを数秒で起動

プロダクトの詳細

Alibaba Cloud Container Service は、Server Load Balancer、VPC などのクラウドサービスと統合し、コンソールや Docker API からコンテナー化されたアプリケーションを管理することができます。本プロダクトでは、アプリケーションのシステム要件に応じてコンテナーをスケーリングすることで、アプリケーションの可用性を維持できます。Server Load Balancer を使用してコンテナー間でトラフィックを分散することもできます。また、コンテナー化されたアプリケーションのオーケストレーション、モニタリング、自己修復機能もあります。

ビジネス要件に応じて、必要な数のコンテナーを起動することができます。これにより、IT インフラストラクチャが最適化されるため、ユーザーはコンテナー化されたアプリケーションの設計、構築、運用に専念できます。また、Container Service を使用することで、コンテナークラスターの詳細情報を参照や、Docker コンテナーの作成および削除ができます。


特徴

クラスター管理

  • 必要に応じて、リージョン内のクラスターの作成および削除

マルチサーバーホスティングモード

  • 指定したクラスターの ECS インスタンスを動的にスケーリング

  • 既存の ECS インスタンスを任意のクラスターに登録

ワンストップのコンテナーライフサイクル管理

  • ネットワーク: 複数のホストにまたがるコンテナー間の相互通信

  • ストレージ: ボリューム管理をサポート

  • 自己修復機能: コンテナーがダウンした場合、同じホスト上にコンテナーを再作成

  • モニタリング: Docker コンテナーと VM を一元的にモニタリング

  • スケジューリング: AZ (Availability Zone) をまたぐ高可用性のスケジューリングおよびノードの異常状態を考慮した自動再スケジューリングをサポート

  • ルーティング: レイヤー 4 とレイヤー 7 のリクエストの転送とバックエンドコンテナーへのバインディングをサポート

  • サブアカウント: クラスターの権限付与管理機能

標準の Docker API との互換性

  • 標準の Docker Swarm および Docker Compose との互換性

  • オンプレミスのコンテナーアプリケーションから Alibaba Cloud へのシームレスな移行をサポート

柔軟なスケジューリングポリシー

  • 開発から運用までアプリケーションの配信を簡素化

  • コンテナーのサービス親和性と自動スケーリングをサポート

  • AZ (Availability Zone) をまたぐ高可用性と自動復元をサポート

  • オンプレミス上またはオフプレミス上にある CI/CD システムと簡単に統合できるクラスターおよびアプリケーション管理用のオープンな API を提供

  • ローリングアップデート、Blue/Green など、複数のアプリケーション配信モデルをサポートし、リスクなしでアプリケーションを最新状態に維持

料金

現在、Container Service は無料です。Container Service とのコラボレーションに使用されるリソース (ECS、SLB など) は、別途料金がかかります。

手動で追加された、または Container Service から自動的に作成された ECS インスタンスまたは SLB インスタンスには、それぞれの料金がかかります。

利用イメージ

Container Service の利用イメージをいくつか次に示します。

1. 高トラフィックの Web サイト

Alibaba Cloud Container Service では、トラフィック量が多く、かつ突発的なアクセス増が発生するような Web サイト向けに、Docker アプリケーションの自動スケーリング機能が用意されています。この機能は Server Load Balancer と統合されていて、トラフィックのピークを効率的に管理し、一貫性のあるユーザーエクスペリエンスを維持します。

ソリューションアーキテクチャ

コンテナークラスター (SLB、ECS) + データストレージ用 ApsaraDB

WordPress などのコンテナーイメージを使用して、素早く簡単に Web アプリケーションをデプロイできます。

2. CI/CD システムによる構築

新しいアプリケーションのリリース直後は、アプリケーションをコードベースから本番サイトまでデプロイする手順が数多く発生します。

このような場合、Alibaba Cloud Container Service に CI/CD パイプラインを実装すると、コストを大幅に削減するだけでなく、市場投入までの時間も短縮できます。これにより、企業は、アプリケーションの開発時間の短縮、デプロイの自動化のほか、より安定したプロダクトを提供できるようになります。

CI/CD パイプラインを実装する手順:

1. Container Registry Service に自動ビルドの Docker リポジトリを作成し、ソースコード管理システムを GitHub と関連付けます。

2. コードがコミットされると、Container Registry Service が起動され、自動的に Docker イメージが作成されます。

3. イメージが作成されたら、Container Service の Open API が実行されて、コンテナーアプリケーションを更新します。

3. マイクロサービスアーキテクチャ

1. モノリシックアプリケーションを複数のマイクロサービスに分割し、Docker イメージでマイクロサービスをパッケージ化します。

2. Docker Compose を使用して、サービスの設定と依存関係を記述します。

3. Compose テンプレートを使用してアプリケーションをデプロイします。

ソリューションアーキテクチャ

複数コンポーネントからなるシステムをマイクロサービスに分割し、各マイクロサービスをイメージ化して管理します。Docker Compose テンプレートを使用して、サービス (およびその設定) 間の依存関係を記述します。

これらのコンテナーは Container Service の "サービス" の構成要素であり、サービスは Container Service の "アプリケーション" の構成要素となります。

はじめに

Alibaba Cloud Container Service は、API や SDK などの開発者向けリソースが用意されています。

管理コンソールを用いた Container Service の使用

Alibaba Cloud 管理コンソールのユーザーインターフェイスは直感的で Web ベースです。ECS インスタンスとコンテナーアプリケーションのクラスターを管理できます。このコンソールを使用すると、Docker イメージや Docker Compose を使用してコンテナーアプリケーションをデプロイすることができます。また、ログ記録機能やモニタリング機能を備えたアプリケーションも使用できます。

コンテナー化されたアプリケーションの操作手順については、クイックスタートガイドを参照してください。

Container Service API リファレンス

API を使用して、コンテナークラスターとコンテナー化されたアプリケーションを作成または管理することができます。使用できる API の一覧については、Alibaba Cloud Container Service の API ガイドを参照してください。

リソース

これらのリソースを使用して、Alibaba Cloud Container Service のしくみを理解できます。

API、SDK などのリソースへのリンクは以下のとおりです。

開発者向けリソース

よくある質問

1. Container Service がサポートするコンテナーの種類を教えてください。

Container Service は Docker コンテナーをサポートしております。

2. Container Service を使用して、マイクロサービスアーキテクチャのアプリケーションの管理方法を教えてください。

マイクロサービスアーキテクチャでは、アプリケーションは複数のマイクロサービスに分割されます。各マイクロサービスはプロセスとして機能し、同じ Docker イメージと設定を持つコンテナーのグループとして接続、デプロイされます。

3. Container Service を使用する際のアプリケーションとサービスの概念について教えてください。

"アプリケーション" とは、Container Service の管理概念で、イメージまたはオーケストレーションテンプレートから作成されたものです。複雑なアプリケーションの場合は、複数のコンポーネントに分割し、コンポーネントのデプロイ、更新、スケーリングを簡単に行えるようにすることが推奨されます。また、各コンポーネントは、同じイメージと設定を持つコンテナーのグループ (Container Service では、"サービス" と呼んでいます) で構成されています。

4. Container Service は外部の Docker イメージをサポートしていますか。

サーバー上からアクセスできる Docker イメージであれば、使用できます。

5. Container Service では、各ユーザーのコンテナーをどのように分離しているのか教えてください。

クラスターと ECS インスタンスはユーザーごとに独立しているので、分離されています。ネットワークは、VPC のセキュリティグループを使用して、コンテナーアプリケーションを保護します。