次の方法で共有


Cosmos DB for PostgreSQL REST API

Azure Cosmos DB for Postgres は、トランザクション アプリケーション向けのフル マネージドのクラウドネイティブ分散 SQL データベースです。

リソース プロバイダーの Representational State Transfer (REST) API を使用すると、Azure Cosmos DB リソースをプログラムで管理できます。 サポートされている主なカテゴリは次のとおりです。

  • クラスターをデプロイ、管理、または昇格します。
  • コーディネーター \ ワーカー ノードの構成を管理します。
  • ファイアウォールルールを管理します。
  • プライベート エンドポイント接続とプライベート リンク リソースを管理します。
  • ロールの管理。

認証

すべての Azure Resource Manager REST 呼び出しを成功させるには、要求ヘッダーに有効な承認トークンが必要です。 この認証トークンを取得する方法の詳細については、「 要求の作成: アクセス トークンの取得 」を参照してください。

REST API呼び出しの方法

Azure Cosmos DB for PostgreSQL など、任意の Azure サービスに対して REST API 呼び出しを行うには、いくつかの方法があります。 Postman は、REST API 呼び出しの最も汎用的な汎用ツールとして使用できます。 また、devops 自動化で使用されるような無人スクリプトなど、他のいくつかのシナリオでも curl を使用できます。 Azure CLI から REST API 呼び出しを簡単に行う方法として 'az rest' を使用することもできます。

プレースホルダーと値

次の情報は、これらの REST API を使用して実行できるすべてのタスクに共通です。

  • {api-version} を 2022-11-08 などの利用可能な最新の API バージョンに置き換えます。
  • {subscriptionId} を URI のサブスクリプション識別子に置き換えます。 この値は、サブスクリプションに固有の GUID です (6B29FC40-CA47-1067-B31D-00DD010662DA など)。 Azure portal の [サブスクリプション] ブレードを使用して、サブスクリプション ID を見つけます。
  • {resourceGroupName}をリソース グループに置き換えます。 詳細については、「リソース グループを使用した Azure リソースの管理」を参照してください。
  • {clusterName} を Azure Cosmos DB for PostgreSQL クラスターの名前に置き換えます。 短い名前 (mydemocluster など) を使用します。
  • Content-Type ヘッダーを application/json に設定します。
  • Authorization ヘッダーを、Azure Active Directory から取得した JSON Web トークンに設定します。 詳細については、「 認証」セクションを参照してください

価値観

次のリファレンスを使用して、Azure Cosmos DB for PostgreSQL クラスターとノードのさまざまな REST API 呼び出しでサポートされている値を決定します。

クラスターの作成と更新

  • properties.postgresqlVersion: クラスター内のすべてのノード上の PostgreSQL のメジャーバージョン。 サポートされている PostgreSQL のメジャー バージョンを指定します。 たとえば、"15" などです。 サポートされている Postgres バージョンの一覧を参照してください。 クラスターは、選択したリージョンで使用可能な最新のマイナー PostgreSQL バージョンと、 対応する最新の Citus バージョン を使用して作成されます。
  • properties.citusVersion: クラスター内のすべてのノードにインストールされている Citus 拡張機能のバージョン。 たとえば、"11.3" などです。 現在サポートされている Citus のバージョンを参照してください。
    • このプロパティは、新しいクラスターのプロビジョニングではオプションです。 このプロパティを省略すると、指定したメジャー PostgreSQL バージョンでサポートされている最新バージョンの Citus がインストールされます。
    • このプロパティの主なケースは、11.0 から 11.3 への Citus バージョンのアップグレードです。 クラスター上のメジャー PostgreSQL バージョンに対して更新された Citus バージョンがリリースされた場合、 クラスター更新 API 呼び出し を使用して、 Citus バージョンのみを 現在のメジャー PostgreSQL バージョンでサポートされている最新のバージョンにアップグレードできます。
  • properties.administratorLoginPassword: クラスター内のすべてのノードでの 'citus' ロールのパスワード。 パスワードは、次の要件を満たしている必要があります
    • 長さ: 8 文字以上 128 文字以下
    • 複雑さ: 次の各カテゴリのキャラクターが含まれている必要があります。
      • 英大文字
      • 英小文字
      • 数字 (0 ~ 9)
      • 英数字以外の文字 (!、$、#、%など)
    • パスワードにロール名: ロール名の全部または一部を含めることはできません。 ロール名の一部は、3 文字以上連続する英数字として定義されます
  • properties.coordinatorServerEdition: 単一ノードまたはマルチノード クラスターのコーディネーター内のコンピューティングの種類。 サポートされているシングルノードとマルチノードコンピューティングには、次の値を使用します
    • シングルノード
      • バースト可能、1 仮想コア: バースト可能メモリ最適化
      • バースト可能、2 仮想コア: バースト可能汎用
      • バースト不可、サポートされている仮想コア: 汎用
    • マルチノード
      • バースト不可、サポートされている仮想コア: 汎用
  • properties.coordinatorVCores: 単一ノードまたはマルチノード クラスターのコーディネーター内のコンピューティング仮想コアの数。 このページでサポートされている値を参照してください。
  • properties.coordinatorStorageQuotaInMb: 単一ノードまたはマルチノード クラスターのコーディネーターのストレージ サイズ (MiB )。 シングルノード構成とマルチノード構成 でサポートされるストレージサイズ を参照してください。 たとえば、128 GiB のストレージを指定するには、"131072" 値 (128 GiB * 1024 = 131072 MiB) を使用します。
  • properties.nodeServerEdition: ワーカー ノード内のコンピューティングの種類。 "MemoryOptimized" 値のみがサポートされています。
  • properties.nodeVCores: マルチノード クラスターの各ワーカー ノード内のコンピューティング仮想コアの数。 このページでサポートされている値を参照してください。
  • properties.nodeStorageQuotaInMb: マルチノードクラスター内のワーカーノードのストレージサイズ (MiB )。 サポートされているストレージサイズ、マルチノード構成を参照してください。 たとえば、2 TiB のストレージを指定するには、"2097152" 値 (2 TiB * 1024 = 2048 GiB * 1024 = 2097152 MiB) を使用します。
  • properties.coordinatorEnablePublicIpAccess: "False" に設定すると、このプロパティはクラスターコーディネーターへのパブリックアクセスを無効にします。
  • properties.nodeEnablePublicIpAccess: このプロパティのデフォルト値は 'false' で、ワーカーノードへの直接公開アクセスが効果的に無効になります。 マルチノードクラスタ内のワーカーノードへのオプションの直接アクセスを有効にするには、このプロパティを「True」に設定し、 それらのパブリックIPアドレスのファイアウォールルールを作成する必要があります。 すべてのファイアウォール ルールは、コーディネーターとすべてのワーカー ノードに適用されます。

ファイアウォールルールの作成

  • properties.startIpAddressproperties.endIpAddress
    • 1 つのパブリック IP アドレスのファイアウォールルールを作成するには、この IP アドレスを startIpAddress と endIpAddress の両方の値として指定します。
    • Azure によって管理されている任意の IP アドレスからの接続を許可するには、startIpAddress と endIpAddress の両方の値に "0.0.0.0" を指定します。 このファイアウォール規則では、他の顧客の Azure サブスクリプションからの接続が許可されることに注意してください。

ロールの作成

  • properties.password: クラスター内のすべてのノードに作成される Postgres ロールのパスワード。 パスワードは、次の要件を満たしている必要があります
    • 長さ: 8 文字以上 128 文字以下
    • 複雑さ: 次の各カテゴリのキャラクターが含まれている必要があります。
      • 英大文字
      • 英小文字
      • 数字 (0 ~ 9)
      • 英数字以外の文字 (!、$、#、%など)
    • パスワードにロール名: ロール名の全部または一部を含めることはできません。 ロール名の一部は、3 文字以上連続する英数字として定義されます