Azure Container Storage とは プレビュー

Azure Container Storage は、コンテナー用にネイティブに構築されたクラウドベースのボリューム管理、デプロイ、オーケストレーション サービスです。 Kubernetes と統合されているため、永続ボリュームを動的かつ自動的にプロビジョニングして、Kubernetes クラスターで実行されているステートフル アプリケーションのデータを格納できます。

重要

Azure Container Storage は現在パブリック プレビュー段階であり、すべての Azure リージョンで使用できるわけではありません。 リージョン別の提供状況を参照してください。 このプレビュー バージョンはサービス レベル アグリーメントなしで提供されるため、運用ワークロードにはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

Azure Container Storage の使用を開始するには、「 Azure Kubernetes Service で Azure Container Storage を使用する」を参照するか、ビデオをご覧ください。

Azure Container Storage を使用する予定に関する入力をお願いします。 この短いアンケートに記入してください。

このビデオでは、ステートフル アプリケーション用のエンド ツー エンドのストレージ管理およびオーケストレーション サービスである Azure Container Storage の概要について説明します。 運用規模のステートフル コンテナー アプリケーション用のボリュームの作成および管理がいかに簡単であるか説明します。 コスト効率の高いコンテナーネイティブ エクスペリエンスを提供しながら、Azure Kubernetes Service (AKS) 上のステートフル ワークロードのパフォーマンスを最適化して、ストレージ サービス全体で効果的にスケーリングする方法について学習します。

サポートされているストレージの種類

Azure Container Storage は、既存の Azure Storage オファリングを実際のデータ ストレージに利用して、コンテナー向けに構築されたボリューム オーケストレーションおよび管理ソリューションを提供します。 サポートされているバッキング ストレージ オプションのいずれかを選択して、永続ボリューム用のストレージ プールを作成できます。

Azure Container Storage は、Linux ベースの Azure Kubernetes Service (AKS) クラスターへの ReadWriteOnce アクセス モードによる永続ボリュームのサポートを提供します。 サポートされているバッキング ストレージ オプションには、ブロック ストレージ オファリングである Azure ディスク、エフェメラル ディスク (ローカル NVMe または一時 SSD)、Azure Elastic SAN のみが含まれます。 次の表は、サポートされているストレージの種類、推奨されるワークロード、プロビジョニング モデルをまとめたものです。

ストレージの種類 説明 ワークロード プラン プロビジョニング モデル
Azure Elastic SAN オンデマンドのフル マネージド リソースをプロビジョニングする 汎用データベース、ストリーミングおよびメッセージング サービス、CD/CI 環境、その他のティア 1/ティア 2 ワークロード。 Azure Elastic SAN 作成されたボリュームおよびボリューム スナップショットごとにオンデマンドでプロビジョニングされます。 複数のクラスターが 1 つの SAN に同時にアクセスできますが、永続ボリュームには一度に 1 つのコンシューマーのみがアタッチできます。
Azure ディスク ストレージの SKU と構成のきめ細かな制御 Azure ディスクは、MySQL、MongoDB、PostgreSQL などのティア 1 および汎用データベースに適しています。 Premium SSD、Premium SSD v2、Standard SSD、Ultra Disk ターゲット コンテナーのストレージ プール サイズと最大ボリューム サイズに従ってプロビジョニングされます。
エフェメラル ディスク AKS ノード上のローカル ストレージ リソースを利用する (NVMe または一時 SSD) エフェメラル ディスクは、(ミリ秒未満のわずかな待機時間であっても) 非常に待機時間の影響を受けやすいため、データ持続性の要件がないアプリケーションや、Cassandra などの組み込みデータ レプリケーション サポートを備えたアプリケーションに最適です。 NVMe は、ストレージ最適化 VM SKU で使用できます AKS クラスターをホストする VM の一部としてデプロイされます。 AKS は、AKS ノード上の使用可能なエフェメラル ストレージを検出し、ボリューム デプロイ用に取得します。

さまざまなストレージの種類に対する機能のサポート

機能のサポートは、選択したバッキング ストレージ オプションによって異なります。 次の表に、Azure Container Storage の主な機能と、それらをサポートするストレージ オプションを示します。

機能 ローカル NVMe ローカル SSD Azure ディスク Azure Elastic SAN
ストレージ プールの拡張/サイズ変更 サポートされています サポート対象 サポートされていません サポート対象外
レプリケーション サポートされています サポートされていません ネイティブでサポートされています ネイティブでサポートされています
リソース消費 サポートされています サポート対象 サポートされています プレビュー
SSE/CMK サポート対象外 サポートされていません サポートされています プレビュー
ZRS の公開オプション 該当なし 該当なし サポートされています サポートされています
永続ボリューム サポートされています サポート1 サポートされています プレビュー
エフェメラル ボリューム サポートされています サポート対象 サポートされています プレビュー
スナップショット サポートされている2 サポートされています サポート対象 サポートされていません

1 データは永続的でないという明示的な注釈付きです。

2replica_count が 1 の場合のみ。 レプリカ数が多い場合はサポートされません。

リージョン別の提供状況

Azure Container Storage は、Azure リージョンのサブセットでのみ使用できます。

  • (アフリカ) 南アフリカ北部
  • (アジア太平洋) オーストラリア東部
  • (アジア太平洋) 東アジア
  • (アジア太平洋) 東日本
  • (アジア太平洋) 韓国中部
  • (アジア太平洋) 東南アジア
  • (アジア太平洋) インド中部
  • (ヨーロッパ) フランス中部
  • (ヨーロッパ) 北ヨーロッパ
  • (ヨーロッパ) 西ヨーロッパ
  • (ヨーロッパ) 英国南部
  • (ヨーロッパ) スウェーデン中部
  • (ヨーロッパ) スイス北部
  • (中東) アラブ首長国連邦北部
  • (北米) 米国東部
  • (北米)米国東部 2
  • (北米) 米国西部
  • (北米)米国西部 2
  • (北米) 米国西部 3
  • (北米) 米国中部
  • (北米) 米国中北部
  • (北米) 米国中南部
  • (北米) 米国中西部
  • (北米) カナダ中部
  • (北米) カナダ東部
  • (南アメリカ) ブラジル南部

Azure Container Storage の新機能

お客様からのフィードバックに基づいて、最新のプレビュー更新プログラムに次の機能を組み込みました。

これらの機能の詳細については、Azure Container Storage チームにメールで (azcontainerstorage@microsoft.com) お問い合わせください。

Azure Container Storage が役立つ理由

これまでは、コンテナー用のクラウド ストレージを提供するには、IaaS 中心のワークロード向けのストレージ サービスを使用してコンテナーで機能させるために、個別のコンテナー ストレージ インターフェイス (CSI) ドライバーを使用する必要がありました。 これにより、運用上のオーバーヘッドが発生し、アプリケーションの可用性、スケーラビリティ、パフォーマンス、使いやすさ、コストの問題が発生するリスクが高まります。

Azure Container Storage は、Kubernetes 用のコンテナー ストレージ機能を提供するオープンソース ソリューションである OpenEBS から派生しています。 Kubernetes 環境でマイクロサービスベースのストレージ コントローラーを介してマネージド ボリューム オーケストレーション ソリューションを提供することで、Azure Container Storage は真のコンテナー ネイティブ ストレージを実現します。

Azure Container Storage を使用すると、次のことができます。

  • VM からコンテナーへのイニシアティブを加速: Azure Container Storage は、以前は VM でしか使用できなかった Azure ブロック ストレージ オファリングの制限をなくし、コンテナーで使用できるようにします。 これには、Cassandra などのワークロードで待機時間を極小にするエフェメラル ディスクや、ネイティブ iSCSI ターゲットと共有プロビジョニング ターゲットを提供する Azure Elastic SAN が含まれます。

  • Kubernetes によってボリューム管理を簡素化: Azure Container Storage は、Kubernetes コントロール プレーンを介したボリューム オーケストレーションを提供することで、Kubernetes 内でのボリュームのデプロイと管理を容易にし、異なるコントロール プレーン間を行き来する必要をなくします。

  • 総保有コスト (TCO) を削減: ポッドまたはノードごとにサポートされる永続ボリュームのスケールを増やすことで、コスト効率を向上させます。 ストレージ リソースを動的に共有することで、プロビジョニングに必要なストレージ リソースを減らします。 ストレージ プール自体のスケールアップはサポートされていないことに注意してください。

主な利点

  • ステートフル ポッドの迅速なスケールアウト: Azure Container Storage は、ネットワーク ブロック ストレージ プロトコル (NVMe-oF または iSCSI) 経由で永続ボリュームをマウントし、永続ボリュームの高速なアタッチとデタッチを実現します。 小規模から始めて、初期化中または運用中にアプリケーションでリソースが不足したり動作が中断したりしないことを確認しながら、必要に応じてリソースをデプロイできます。 クラスター全体でポッドが再生成されるため、アプリケーションの回復性が向上し、永続ボリュームの迅速な移動が必要になります。 リモート ネットワーク プロトコルを利用して、Azure Container Storage はポッドのライフサイクルと密接に結び付き、回復性とスケールが高いステートフル アプリケーションを AKS 上でサポートします。

  • ステートフル ワークロードのパフォーマンス向上: Azure Container Storage は、RDMA 経由の NVMe-oF を使用して、優れた読み取りパフォーマンスと、ディスクに近い書き込みパフォーマンスを実現します。 これにより、ティア 1 I/O 集中型、汎用、スループット重視、開発/テストなどのさまざまなコンテナー ワークロードのパフォーマンス要件を、優れたコスト効率で満たすことができます。 永続ボリュームのアタッチ/デタッチ時間を短縮し、ポッドのフェールオーバー時間を最小限に抑えます。

  • Kubernetes ネイティブのボリューム オーケストレーション: kubectl コマンドを使用して、さまざまなコントロール プレーン操作用のツールセットを切り替えることなく、ストレージ プールと永続ボリュームを作成し、スナップショットをキャプチャし、ボリュームのライフサイクル全体を管理します。

用語集

Azure Container Storage と Kubernetes に関連するいくつかの重要な用語を理解しておくと役立ちます。

  • コンテナー詰め

    オペレーティング システムの依存関係と必須の依存関係のみを使用してアプリケーション コードをパッケージ化し、1 つの実行可能ファイルを作成します。

  • Kubernetes

    Kubernetes は、コンテナー化されたアプリケーションのデプロイ、スケーリング、管理を自動化するためのオープンソース システムです。 Kubernetes クラスターは、コンテナー化されたアプリケーションを実行するノードのセットです。

  • Azure Kubernetes Service (AKS)

    Azure Kubernetes Service はホストされた Kubernetes サービスであり、運用上のオーバーヘッドを Azure にオフロードすることによって、Azure でのマネージド Kubernetes クラスターのデプロイを簡素化します。 Azure は、稼働状況の監視やメンテナンスなどの重要なタスクを処理します。

  • 記憶域プール

    Azure Container Storage スタックは、クラスターが所有するリソースとプラットフォームの抽象化にわたってオブジェクト モデルを統合しようとします。 統一された表現を実現するために、使用可能なストレージ容量がストレージ プール オブジェクトに集約されます。 ストレージ プール内のストレージ容量は一体的に認識されます。 1 つの AKS クラスターが複数のストレージ プールを持つことができます。 ストレージ プールは、認証とプロビジョニングの境界としても機能します。 アプリケーション開発者にとってのボリュームの作成と管理を簡素化しながら、オペレーターがストレージ インフラストラクチャを管理するための論理コンストラクトを提供します。

  • ストレージ クラス

    Kubernetes ストレージ クラスは、永続ボリュームを使用して保存の単位を動的に作成する方法を定義します。 詳細については、Kubernetes ストレージ クラスに関するページを参照してください。

  • 永続ボリューム

    永続ボリュームは VM 内のディスクのようなものです。 任意のファイル システムをマウントするために使用できる raw ブロック デバイスを表します。 ボリュームはストレージ プール内でシン プロビジョニングされ、ストレージ プールのパフォーマンス特性 (IOPS、帯域幅、容量) を共有します。 アプリケーション開発者は、アプリケーションまたはポッド定義と共に永続ボリュームを作成し、ボリュームはステートフル アプリケーションのライフサイクルに関連付けられていることがよくあります。 詳細については、永続ボリュームに関するページをご覧ください。

  • 永続ボリューム要求 (PVC)

    永続ボリューム要求を使用して、ストレージ クラスに基づいてストレージを自動的にプロビジョニングします。

次のステップ