ストリーム・プールの作成

ストリーミング・サービスにストリーム・プールを作成します。ストリーム・プールは、ストリームの論理グループです。

すべてのストリームは、ストリーム・プールのメンバーである必要があります。ストリーム・プールを作成しない場合、またはストリームの作成時に既存のストリーム・プールを指定しない場合、ストリーミング・サービスでは、ストリームを含むデフォルト・プールが使用されます。ストリームを作成および管理するための要件を確認するには、ストリーミングの開始を参照してください。

    1. 「ストリーム・プール」リスト・ページで、「ストリーム・プールの作成」を選択します。リスト・ページの検索に関するヘルプが必要な場合は、ストリーム・プールのリストを参照してください。
    2. ストリーム・プールの名前を入力します。機密情報を入力しないでください。
    3. ストリーム・プールのコンパートメントを選択します。
    4. エンドポイント・タイプの選択「パブリック・エンドポイント」または「プライベート・エンドポイント」は、このストリーム・プール内のストリームへのトラフィックを、インターネットを通過するトラフィックが不要なプライベート・エンドポイントに制限するかどうかに応じて選択します。

      プライベート・エンドポイントを作成するには、プライベート・サブネットを含む仮想クラウド・ネットワーク(VCN)にアクセスする必要があります。DNS解決が有効になっているプライベート・サブネットを含むVCNを選択し、サブネットを選択します。

      かわりに、特定のプライベートIPアドレスを割り当てる場合は、サブネットのCIDRに属するプライベートIPアドレスを選択する必要があります。デフォルトでは、ネットワーキング・サービスがランダムなプライベートIPアドレスを割り当て、ストリーム・プールにはセキュリティ・ルールを適用しません。詳細は、VCNおよびサブネットの管理を参照してください。

      既存のネットワーク・セキュリティ・グループを選択して、プール内の各ストリームに同じセキュリティ・ルール・セットを適用することもできます。

    5. 「暗号化設定の構成」で、ストリーム・プール内のストリームの暗号化方法を選択します。

      デフォルトでは、「Oracle管理キーを使用した暗号化」が選択されます。独自のVault暗号化キーを使用して、このストリーム・プール内のストリームのデータを暗号化するには、「顧客管理キーを使用して暗号化」を選択します。Vaultサービスを使用するには、ボールトおよびキーにアクセスする必要があり、サービスでキーを使用できるようにする必要があります。

      • Vault: 使用するマスター暗号化キーが格納されたボールトを選択します。
      • マスター暗号化キー: 使用するマスター暗号化キーを選択します。

      ユーザーが管理するボールト・キーを使用した暗号化の詳細は、ボールトの概要およびキーの管理を参照してください。

    6. タグを追加する場合、またはこのストリーム・プールでKafkaを使用する場合は、「拡張オプションの表示」を選択します。
    7. (オプション)ストリーム・プールにタグを割り当てます。リソースの作成権限がある場合は、フリーフォーム・タグをそのリソースに適用する権限もあります。定義済タグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか、管理者に問い合せてください。タグは後で適用できます。
    8. Kafkaでストリーム・プールを使用するには、「トピックの自動作成」を選択し、ストリーム設定を構成します:
      • デフォルト保持期間(時間): ストリームの保持期間の時間数を指定します。
      • パーティションのデフォルト数: ストリームのパーティションのデフォルト数を指定します。
      • ストリーム・プールの作成後にKafka接続設定を表示するには、「ストリーム・プールの作成後にKafka設定を表示」を選択します。
    9. (オプション)ストリーム・プールに1つ以上のタグを追加します: 「拡張オプションの表示」を選択して、「タグの追加」セクションを表示します。
      リソースの作成権限がある場合は、フリーフォーム・タグをそのリソースに適用する権限もあります。定義済タグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか、管理者に問い合せてください。タグは後で適用できます。
    10. 「作成」を選択します。
  • ストリーム・プールを作成するには、oci streaming admin stream-pool createコマンドと必要なパラメータを使用します:

    oci streaming admin stream-pool create --name <stream_pool_name> --compartment-id <compartment_OCID>

    例:

    oci streaming admin stream-pool create --name MyStreamPool --compartment-id ocid1.tenancy.oc1..exampleuniqueID
    {
      "data": {
        "compartment-id": "ocid1.tenancy.oc1..exampleuniqueID",
        "custom-encryption-key": {
          "key-state": "NONE",
          "kms-key-id": null
        },
        "defined-tags": {},
        "endpoint-fqdn": null,
        "freeform-tags": {},
        "id": "ocid1.streampool.oc1.phx.exampleuniqueID",
        "is-private": false,
        "kafka-settings": {
          "auto-create-topics-enable": false,
          "bootstrap-servers": null,
          "log-retention-hours": 24,
          "num-partitions": 1
        },
        "lifecycle-state": "CREATING",
        "lifecycle-state-details": null,
        "name": "MyStreamPool",
        "private-endpoint-settings": {
          "nsg-ids": null,
          "private-endpoint-ip": null,
          "subnet-id": null
        },
        "time-created": "2020-11-02T23:01:59.429000+00:00"
      },
      "etag": "\"b0066564-4bf4-4e27-9255-9055e69a7808-03668273-b0d5-4b8b-9370-74522c29eb56\""
    }
    ヒント

    有効なフォーマット済JSONとして--custom-encryption-key-details--private-endpoint-detailsおよび--kafka-settingsの入力を指定します。JSONフォーマットの詳細は、複合入力の受渡しおよび複合入力のためのJSONファイルの使用を参照してください。

    CLIコマンドのパラメータおよび値の完全なリストは、CLIコマンド・リファレンスを参照してください。

  • CreateStreamPool API操作を使用して、ストリーム・プールを作成します。

OCI SDKの使用

ストリーム・プールを作成するには、StreamAdminClientcreateStreamPoolメソッドを使用します。

SDKの詳細な例は、ストリーミングの開発者ガイドを参照してください。

リソース・マネージャおよびTerraformの使用

oci_streaming_stream_poolリソースを使用して、オプションのプライベート・エンドポイントおよびKafka互換性設定でストリーム・プールを作成します。プライベート・エンドポイント設定には、VCN、サブネットおよびネットワーク・セキュリティ・グループが必要です。この例のTerraform構成では、これらのリソースも作成されます。

例:

resource "oci_streaming_stream_pool" "test_stream_pool" {
  #Required
  compartment_id = var.compartment_ocid
  name           = "<stream_pool_name>"

  #Optional
  private_endpoint_settings {
    nsg_ids             = [oci_core_network_security_group.test_nsg.id]
    private_endpoint_ip = "10.0.0.5"
    subnet_id           = oci_core_subnet.test_subnet.id
  }

  kafka_settings {
    #Optional
    auto_create_topics_enable = true
    log_retention_hours       = 24
    num_partitions            = 1
  }
}

resource "oci_core_vcn" "test_vcn" {
  cidr_block     = "10.0.0.0/16"
  compartment_id = var.compartment_ocid
  display_name   = "testvcn"
  dns_label      = "dnslabel"
}

resource "oci_core_subnet" "test_subnet" {
  cidr_block     = "10.0.0.0/24"
  compartment_id = var.compartment_ocid
  vcn_id         = oci_core_vcn.test_vcn.id
}

resource "oci_core_network_security_group" "test_nsg" {
  compartment_id = var.compartment_ocid
  vcn_id         = oci_core_vcn.test_vcn.id
}
リソース・マネージャおよびTerraformについて

リソース・マネージャは、Oracle Cloud Infrastructure (OCI)リソースをプロビジョニングするプロセスを自動化できるOCIサービスです。Terraformを使用する場合、リソース・マネージャでは、「infrastructure-as-code」モデルを使用してリソースをインストール、構成および管理できます。

Terraform構成は、宣言的な構成ファイルのインフラストラクチャを調整します。この構成により、プロビジョニングしようとしているリソース、変数、およびリソースのプロビジョニングに関する特定の指示が定義されます

リソース・マネージャまたはTerraform CLIをOCI Terraformプロバイダで使用して、ストリームおよびストリーム・プールがTerraform構成ファイルでどのように表されているかを確認できます。

リソース・マネージャで使用する構成の記述の詳細は、リソース・マネージャのTerraform構成およびTerraform構成を参照してください。