Db2 Big SQL のサービス・インスタンスのプログラマチックな作成

サービス・インスタンスを作成する必要があります。Db2 Big SQLに少なくとも 1 つのoperands プロジェクトをインストールした後、Db2 Big SQL IBM® Software Hub ユーザーの場合は、/v3/service_instances REST API 呼び出しを使用して、サービス・インスタンスをプログラマチックに作成できます。

このタスクを実行する必要があるのは誰か?
/v3/service_instances REST API 呼び出しを使用してプログラムでサービス・インスタンスを作成するには、IBM Software Hubサービス・インスタンスの作成 (can_provision) 権限が必要です。
このタスクをいつ完了する必要がありますか?
/v3/service_instances REST API 呼び出しを使用してプログラムでサービス・インスタンスを作成する場合にのみ、このタスクを実行します。
サービス・インスタンスを作成するための代替方法

このタスクを完了するために必要な情報

Db2 Big SQLのサービス・インスタンスを作成する前に、以下の情報を確認してください。

バージョンの要件

IBM Software Hubのインスタンスに関連付けられているすべてのコンポーネントは、同じリリースでインストールまたは作成する必要があります。 例えば、Db2 Big SQL がバージョン 5.3.1 でインストールされている場合は、バージョン 5.3.1 でサービス・インスタンスを作成する必要があります。

重要: Db2 Big SQL uses a different version number from IBM Software Hub. このトピックには、IBM Software Hubの各リフレッシュの Db2 Big SQL バージョンを示す表が含まれています。 この表を使用して、インストールされている IBM Software Hub のバージョンに基づいて正しいバージョンを見つけてください。
環境変数

このタスクのコマンドでは環境変数を使用するため、記載されているとおりにコマンドを実行できます。

  • 環境変数を定義するスクリプトがない場合は、インストール環境変数の設定を参照してください。
  • スクリプトから環境変数を使用するには、このタスクでコマンドを実行する前に環境変数をsourceする必要があります。 例えば、以下のコマンドを実行します。
    source ./cpd_vars.sh

始める前に

このタスクでは、以下の前提条件が満たされていることを前提としています。

前提条件 詳細情報の参照先
Db2 Big SQL is installed. このタスクが完了していない場合は、『 Db2 Big SQLのインストール』を参照してください。
API キーが生成されました。

API キーは、IBM Software Hubサービス・インスタンスの作成 (can_provision) 許可を持つユーザーに関連付けられている必要があります。

このタスクが完了していない場合は、『API 許可トークンの生成』を参照してください。

手順

サービス・インスタンスを作成するには、以下のタスクを実行します。

  1. サービス・インスタンスの作成
  2. サービス・インスタンスが作成されたことを検証しています
  3. 次に行うこと

サービス・インスタンスの作成

サービス・インスタンスを作成するには、以下の手順を実行します。

  1. サービス・インスタンス・ペイロードを定義する JSON ファイルを作成する、ワークステーション上のディレクトリーに移動します。
  2. サービス・インスタンスの JSON ペイロードにデータを取り込むために使用される環境変数を設定します。
    1. INSTANCE_NAME 環境変数を、サービス・インスタンスの表示名として使用する固有の名前に設定します。
      export INSTANCE_NAME=<display-name>

      この名前は、IBM Software Hub Web クライアントの「インスタンス」ページに表示されます。

      表示名は string で、英数字 (a から z、A から Z、0 から 9) とダッシュ (-) のみを使用できます。 名前の先頭と末尾は英数字でなければなりません。

    2. INSTANCE_DESCRIPTION 環境変数を、サービス・インスタンスに使用する記述に設定します。
      export INSTANCE_DESCRIPTION="<description>"

      この説明は、IBM Software Hub Web クライアントの「インスタンス」ページに表示されます。

      説明は stringであり、英数字、スペース、ダッシュ、下線、およびピリオドを含めることができます。 上記の export コマンドに示されているように、表示名を引用符で囲んでください。

    3. INSTANCE_VERSIONを、クラスター上のIBM Software Hubのバージョンに対応するバージョンに設定します。
      export INSTANCE_VERSION=<version>

      以下の表を使用して、適切な値を判別してください。

      IBM Software Hub バージョン サービス・インスタンス・バージョン
      5.3.1 8.3.1
      5.3.0 8.3.0
    4. INSTANCE_CPU 環境変数を、サービス・インスタンスに割り振る CPU の量に設定します。
      export INSTANCE_CPU=<integer>

      4 から 64 までの値を指定してください。

      ワークロードに基づいてインスタンスのサイズを決定します。 サービス・インスタンスに割り振る CPU の数について詳しくは、IBM Entitled Registryからダウンロードできるコンポーネント・スケーリングのガイダンス PDFを参照してください。

    5. INSTANCE_MEMORY 環境変数を、サービス・インスタンスに割り振るメモリー量に設定します。
      export INSTANCE_MEMORY=<integer>

      16 Gi から 512 Gi までの値を指定します。 値は整数として指定します。 計測単位を省略してください。

      ワークロードに基づいてインスタンスのサイズを決定します。 サービス・インスタンスに割り振るメモリー量について詳しくは、IBM Entitled Registryからダウンロードできるコンポーネント・スケーリングのガイダンス PDFを参照してください。

    6. INSTANCE_WORKERS 環境変数を、サービス・インスタンスを実行するワーカー・ノードの数に設定します。
      export INSTANCE_WORKERS=<integer>
      指定できるワーカーの最大数は、Db2Uがシステム特権で実行するように構成されているかどうかによって異なります。
      • Db2Uが制限付き特権で実行するように構成されている場合は、1 からクラスター上のワーカー・ノードの総数までの値を指定できます。
      • Db2Uがシステム特権で実行するように構成されている場合は、1 から 999 までの値を指定できます。

      ほとんどのワークロードは、1 つから 3 つのノードで実行できます。 ワークロードに基づいて推奨されるノード数について詳しくは、IBM Entitled Registryからダウンロードできるコンポーネント・スケーリングのガイダンス PDFを参照してください。

    7. PV_SIZE 環境変数を、サービス・インスタンスに割り振るストレージの量に設定します。
      export PV_SIZE=<integer>

      200 GB から 10240 GB までの値を指定します。 デフォルトの推奨値は 200 GB です。 値は整数として指定します。 計測単位を省略してください。

      永続ボリュームのサイズは、データ・セットのサイズ、実行する予定の照会の数、および実行する予定の照会の複雑さに基づいて決定します。 サービス・インスタンスに割り振るストレージの量について詳しくは、IBM Entitled Registryからダウンロードできるコンポーネント・スケーリングのガイダンス PDFを参照してください。

  3. サービス・インスタンスから接続するデータ・ソースの環境変数を設定します。
    Hadoop クラスター
    1. REMOTE_CLUSTER_PROTOCOL 環境変数を、Hadoop クラスター・マネージャーへの接続時に使用するプロトコル (例えば、HTTPHTTPS) に設定します。
      export REMOTE_CLUSTER_PROTOCOL=<protocol>
    2. REMOTE_CLUSTER_HOST 環境変数を、Hadoop クラスター・マネージャーのホスト名または IP アドレスに設定します。
      export REMOTE_CLUSTER_HOST=<host>
    3. REMOTE_CLUSTER_PORT 環境変数を、Hadoop クラスター・マネージャー上の接続先のポート番号に設定します。
      export REMOTE_CLUSTER_PORT=<port-number>
    4. CM_ADMIN_USER 環境変数を Hadoop クラスター・マネージャー管理者のユーザー名に設定します。
      export CM_ADMIN_USER=<username>
    5. CM_ADMIN_PASSWORD 環境変数を Hadoop クラスター・マネージャー管理者のパスワードに設定します。
      export CM_ADMIN_PASSWORD=<password>
    6. Hadoop クラスター上の Kerberos 構成に基づいて KERBEROS_TYPE 環境変数を設定します。
      • クラスターが Kerberosを使用しない場合は、環境変数を 0に設定します。
        export KERBEROS_TYPE=0
      • クラスターが MIT KDC Kerberosを使用している場合は、環境変数を 1に設定します。
        export KERBEROS_TYPE=1
      • クラスターがカスタム Kerberos キータブ・ファイルを使用する場合は、環境変数を 2 に設定します。
        export KERBEROS_TYPE=2
    7. MIT KDC Kerberos 構成のみ。 KERBEROS_PRINCIPAL 環境変数を、Db2 Big SQL ユーザーの Kerberos ID を作成する権限を持つ Kerberos 管理者の ID に設定します。
      export KERBEROS_PRINCIPAL=<admin-ID>
    8. MIT KDC Kerberos 構成のみ。 KERBEROS_PASSWORD 環境変数を Kerberos 管理者 ID のパスワードに設定します。
      export KERBEROS_PASSWORD=<password>
    9. Kerberos キータブ構成のみ。 KERBEROS_CUSTOM_KEYTAB 環境変数を、鍵タブ・ファイルの完全修飾名に設定します。
      export KERBEROS_CUSTOM_KEYTAB=<fully-qualified-file-name>

    オブジェクト・ストア
    1. OS_ENDPOINT 環境変数をオブジェクト・ストアのサービス・エンドポイントに設定します。
      export OS_ENDPOINT=<endpoint>
    2. HMAC_ACCESS_KEY 環境変数を、オブジェクト・ストア・サービス・アカウントに関連付けられた HMAC アクセス・キーに設定します。
      export HMAC_ACCESS_KEY=<your-HMAC-access-key>
    3. HMAC_SECRET_KEY 環境変数を、アクセス・キーに関連付けられた 秘密鍵 に設定します。
      export HMAC_SECRET_KEY=<your-HMAC-secret-key>
    4. SSL 環境のみ。 SSL証明書の提供方法に基づいて、OS_SSL_CERT 環境変数を設定します。
      • ボールトにSSLとして保管されているシークレットを使用する場合は、以下の形式を使用します。
        export OS_SSL_CERT=vault:<vault-secret-name>:<vault-secret-key>
      • 手動で指定した SSL 証明書を使用する場合は、以下のようにします。
        export OS_SSL_CERT="<my-certificate-contents>"

        証明書の内容を二重引用符 ("") で囲んでください。

    5. 特定のバケットへのアクセスを制限するかどうかに基づいて、OS_BUCKET 環境変数を設定します。
      • 特定のバケットへのアクセスを制限する場合は、環境変数をバケットの名前に設定します。
        export OS_BUCKET=<bucket-name>
      • 特定のバケットへのアクセスを制限しない場合は、環境変数を "" に設定します。
        export OS_BUCKET=""
    6. オブジェクト・ストア・サービスがパス・スタイルのアクセス用に構成されているかどうかに基づいて、OS_PATH_STYLE_ACCESS 環境変数を設定します。
      • オブジェクト・ストアがパス・スタイルのアクセス用に構成されている場合は、環境変数を trueに設定します。
        export OS_PATH_STYLE_ACCESS=true
      • オブジェクト・ストアが仮想ホスト・スタイルのアクセス用に構成されている場合は、環境変数を falseに設定します。
        export OS_PATH_STYLE_ACCESS=false

  4. big-sql-instance.json ペイロード・ファイルを作成します。
    インスタンスがリモート Hadoop・クラスターをKerberosなしで指す
    cat << EOF > ./big-sql-instance.json
    {
        "addon_type": "bigsql",
        "display_name": "${INSTANCE_NAME}",
        "addon_version": "${INSTANCE_VERSION}",
        "namespace": "${PROJECT_CPD_INST_OPERANDS}",
        "create_arguments": {
            "resources": {
                "cpu": "$(( (${INSTANCE_WORKERS} + 1) * ${INSTANCE_CPU} ))",
                "memory": "$(( (${INSTANCE_WORKERS} + 1) * ${INSTANCE_MEMORY} ))"
            },
            "parameters": {
                "global.persistence.storageClassName": "${STG_CLASS_BLOCK}",
                "resources.engine.requests.cpu": "${INSTANCE_CPU}",
                "resources.engine.requests.memory": "${INSTANCE_MEMORY}Gi",
                "workerCount": "${INSTANCE_WORKERS}",
                "persistence.headPvSize": "${PV_SIZE}Gi",
                "remoteCluster.cmAdminUserEncoded": "$([[ ! -z ${CM_ADMIN_USER} ]] && echo ${CM_ADMIN_USER} | base64)",
                "remoteCluster.cmAdminPasswordEncoded": "$([[ ! -z ${CM_ADMIN_PASSWORD} ]] && echo ${CM_ADMIN_PASSWORD} | base64)",
                "remoteCluster.cmProtocol": "${REMOTE_CLUSTER_PROTOCOL}",
                "remoteCluster.cmHost": "${REMOTE_CLUSTER_HOST}",
                "remoteCluster.cmPort": "${REMOTE_CLUSTER_PORT}",
                "remoteCluster.useCloudObjectStore": "false",
                "secretsInstanceKey": "${INSTANCE_SECRET_KEY}",
                "persistence.auditPvSize": "30Gi"
            },
            "description": "",
            "metadata": {
                "engine-service": "c-bigsql-{INSTANCEID}-db2u-0.c-bigsql-{INSTANCEID}-db2u-internal.zen",
                "database-name": "bigsql",
                "jdbc-port": 50000,
                "secure-jdbc-port": 50001,
                "sslConnection": true,
                "credentials": {
                    "user": "dmcuser",
                    "securityMechanism": "9"
                },
                "ssl": {
                    "certKey": "ca.crt",
                    "certLabel": "CN=zen-ca-cert",
                     "secretName": "bigsql-{INSTANCEID}-internal-tls"
                }
                    },
        "deployment_id": ""
      },
      "transient_fields": {}
    }
    EOF
    以下の環境変数は、インストール環境変数スクリプトで既に定義されている値を使用します。
    • ${PROJECT_CPD_INST_OPERANDS}
    • ${STG_CLASS_BLOCK}

    インスタンスが、MIT KDC Kerberos を使用するリモート Hadoop・クラスターを指している
    cat << EOF > ./big-sql-instance.json
    {
        "addon_type": "bigsql",
        "display_name": "${INSTANCE_NAME}",
        "addon_version": "${INSTANCE_VERSION}",
        "namespace": "${PROJECT_CPD_INST_OPERANDS}",
        "create_arguments": {
            "resources": {
                "cpu": "$(( (${INSTANCE_WORKERS} + 1) * ${INSTANCE_CPU} ))",
                "memory": "$(( (${INSTANCE_WORKERS} + 1) * ${INSTANCE_MEMORY} ))"
            },
            "parameters": {
                "global.persistence.storageClassName": "${STG_CLASS_BLOCK}",
                "resources.engine.requests.cpu": "${INSTANCE_CPU}",
                "resources.engine.requests.memory": "${INSTANCE_MEMORY}Gi",
                "workerCount": "${INSTANCE_WORKERS}",
                "persistence.headPvSize": "${PV_SIZE}Gi",  
                "remoteCluster.cmAdminUserEncoded": "$([[ ! -z ${CM_ADMIN_USER} ]] && echo ${CM_ADMIN_USER} | base64)",
                "remoteCluster.cmAdminPasswordEncoded": "$([[ ! -z ${CM_ADMIN_PASSWORD} ]] && echo ${CM_ADMIN_PASSWORD} | base64)",
                "remoteCluster.cmProtocol": "${REMOTE_CLUSTER_PROTOCOL}",
                "remoteCluster.cmHost": "${REMOTE_CLUSTER_HOST}",
                "remoteCluster.cmPort": "${REMOTE_CLUSTER_PORT}",
                "remoteCluster.kerberosPrincipalEncoded": "$([[ ! -z ${KERBEROS_PRINCIPAL} ]] && echo ${KERBEROS_PRINCIPAL} | base64)",
                "remoteCluster.kerberosPasswordEncoded": "$([[ ! -z ${KERBEROS_PASSWORD} ]] && echo ${KERBEROS_PASSWORD} | base64)",
                "remoteCluster.useCloudObjectStore": "false",
                "secretsInstanceKey": "${INSTANCE_SECRET_KEY}",
                "persistence.auditPvSize": "30Gi"
            },
            "description": "",
            "metadata": {
                "engine-service": "c-bigsql-{INSTANCEID}-db2u-0.c-bigsql-{INSTANCEID}-db2u-internal.zen",
                "database-name": "bigsql",
                "jdbc-port": 50000,
                "secure-jdbc-port": 50001,
                "sslConnection": true,
                "credentials": {
                    "user": "dmcuser",
                    "securityMechanism": "9"
                },
                "ssl": {
                    "certKey": "ca.crt",
                    "certLabel": "CN=zen-ca-cert",
                     "secretName": "bigsql-{INSTANCEID}-internal-tls"
                }
                    },
        "deployment_id": ""
      },
      "transient_fields": {}
    }
    EOF
    以下の環境変数は、インストール環境変数スクリプトで既に定義されている値を使用します。
    • ${PROJECT_CPD_INST_OPERANDS}
    • ${STG_CLASS_BLOCK}

    インスタンスが、カスタム Kerberos キータブ・ファイルを使用するリモート Hadoop・クラスターを指している
    cat << EOF > ./big-sql-instance.json
    {
        "addon_type": "bigsql",
        "display_name": "${INSTANCE_NAME}",
        "addon_version": "${INSTANCE_VERSION}",
        "namespace": "${PROJECT_CPD_INST_OPERANDS}",
        "create_arguments": {
            "resources": {
                "cpu": "$(( (${INSTANCE_WORKERS} + 1) * ${INSTANCE_CPU} ))",
                "memory": "$(( (${INSTANCE_WORKERS} + 1) * ${INSTANCE_MEMORY} ))"
            },
            "parameters": {
                "global.persistence.storageClassName": "${STG_CLASS_BLOCK}",
                "resources.engine.requests.cpu": "${INSTANCE_CPU}",
                "resources.engine.requests.memory": "${INSTANCE_MEMORY}Gi",
                "workerCount": "${INSTANCE_WORKERS}",
                "persistence.headPvSize": "${PV_SIZE}Gi",
                "remoteCluster.cmAdminUserEncoded": "$([[ ! -z ${CM_ADMIN_USER} ]] && echo ${CM_ADMIN_USER} | base64)",
                "remoteCluster.cmAdminPasswordEncoded": "$([[ ! -z ${CM_ADMIN_PASSWORD} ]] && echo ${CM_ADMIN_PASSWORD} | base64)",
                "remoteCluster.cmProtocol": "${REMOTE_CLUSTER_PROTOCOL}",
                "remoteCluster.cmHost": "${REMOTE_CLUSTER_HOST}",
                "remoteCluster.cmPort": "${REMOTE_CLUSTER_PORT}",
                "remoteCluster.kerberosCustomKeytab": "$(base64 -w0 ${KERBEROS_CUSTOM_KEYTAB_FILENAME})",
                "remoteCluster.useCloudObjectStore": "false",
                "secretsInstanceKey": "${INSTANCE_SECRET_KEY}",
                "persistence.auditPvSize": "30Gi"
            },
            "description": "",
            "metadata": {
                "engine-service": "c-bigsql-{INSTANCEID}-db2u-0.c-bigsql-{INSTANCEID}-db2u-internal.zen",
                "database-name": "bigsql",
                "jdbc-port": 50000,
                "secure-jdbc-port": 50001,
                "sslConnection": true,
                "credentials": {
                    "user": "dmcuser",
                    "securityMechanism": "9"
                },
                "ssl": {
                    "certKey": "ca.crt",
                    "certLabel": "CN=zen-ca-cert",
                     "secretName": "bigsql-{INSTANCEID}-internal-tls"
                }
                    },
        "deployment_id": ""
      },
      "transient_fields": {}
    }
    EOF
    以下の環境変数は、インストール環境変数スクリプトで既に定義されている値を使用します。
    • ${PROJECT_CPD_INST_OPERANDS}
    • ${STG_CLASS_BLOCK}

    インスタンスが SSL 用に構成されていないオブジェクト・ストアを指しています
    cat << EOF > ./big-sql-instance.json
    {
        "addon_type": "bigsql",
        "display_name": "${INSTANCE_NAME}",
        "addon_version": "${INSTANCE_VERSION}",
        "namespace": "${PROJECT_CPD_INST_OPERANDS}",
        "create_arguments": {
            "resources": {
                "cpu": "$(( (${INSTANCE_WORKERS} + 1) * ${INSTANCE_CPU} ))",
                "memory": "$(( (${INSTANCE_WORKERS} + 1) * ${INSTANCE_MEMORY} ))"
            },
            "parameters": {
                "global.persistence.storageClassName": "${STG_CLASS_BLOCK}",
                "resources.engine.requests.cpu": "${INSTANCE_CPU}",
                "resources.engine.requests.memory": "${INSTANCE_MEMORY}Gi",
                "workerCount": "${INSTANCE_WORKERS}",
                "persistence.headPvSize": "${PV_SIZE}Gi",
                "objectStore.endpoint": "${OS_ENDPOINT}",
                "objectStore.hmacAccess": "${HMAC_ACCESS_KEY}",
                "objectStore.hmacSecret": "${HMAC_SECRET_KEY}",
                "objectStore.sslEnabled": "false",
                "objectStore.bucketName": "${OS_BUCKET}",
                "objectStore.pathStyleAccess": "${OS_PATH_STYLE_ACCESS}",
                "remoteCluster.useCloudObjectStore": "true",
                "persistence.auditPvSize": "30Gi"
            },
            "description": "",
            "metadata": {
                "engine-service": "c-bigsql-{INSTANCEID}-db2u-0.c-bigsql-{INSTANCEID}-db2u-internal.zen",
                "database-name": "bigsql",
                "jdbc-port": 50000,
                "secure-jdbc-port": 50001,
                "sslConnection": true,
                "credentials": {
                    "user": "dmcuser",
                    "securityMechanism": "9"
                },
                "ssl": {
                    "certKey": "ca.crt",
                    "certLabel": "CN=zen-ca-cert",
                     "secretName": "bigsql-{INSTANCEID}-internal-tls"
                }
                    },
        "deployment_id": ""
      },
      "transient_fields": {}
    }
    EOF
    以下の環境変数は、インストール環境変数スクリプトで既に定義されている値を使用します。
    • ${PROJECT_CPD_INST_OPERANDS}
    • ${STG_CLASS_BLOCK}

    インスタンスは SSL を使用してオブジェクト・ストレージを指します
    cat << EOF > ./big-sql-instance.json
    {
        "addon_type": "bigsql",
        "display_name": "${INSTANCE_NAME}",
        "addon_version": "${INSTANCE_VERSION}",
        "namespace": "${PROJECT_CPD_INST_OPERANDS}",
        "create_arguments": {
            "resources": {
                "cpu": "$(( (${INSTANCE_WORKERS} + 1) * ${INSTANCE_CPU} ))",
                "memory": "$(( (${INSTANCE_WORKERS} + 1) * ${INSTANCE_MEMORY} ))"
            },
            "parameters": {
                "global.persistence.storageClassName": "${STG_CLASS_BLOCK}",
                "resources.engine.requests.cpu": "${INSTANCE_CPU}",
                "resources.engine.requests.memory": "${INSTANCE_MEMORY}Gi",
                "workerCount": "${INSTANCE_WORKERS}",
                "persistence.headPvSize": "${PV_SIZE}Gi",
                "objectStore.endpoint": "${OS_ENDPOINT}",
                "objectStore.hmacAccess": "${HMAC_ACCESS_KEY}",
                "objectStore.hmacSecret": "${HMAC_SECRET_KEY}",
                "objectStore.sslEnabled": "true",
                "objectStore.sslCertificate": "${OS_SSL_CERT}",
                "objectStore.bucketName": "${OS_BUCKET}",
                "objectStore.pathStyleAccess": "${OS_PATH_STYLE_ACCESS}",
                "remoteCluster.useCloudObjectStore": "true",
                "persistence.auditPvSize": "30Gi"
            },
            "description": "",
            "metadata": {
                "engine-service": "c-bigsql-{INSTANCEID}-db2u-0.c-bigsql-{INSTANCEID}-db2u-internal.zen",
                "database-name": "bigsql",
                "jdbc-port": 50000,
                "secure-jdbc-port": 50001,
                "sslConnection": true,
                "credentials": {
                    "user": "dmcuser",
                    "securityMechanism": "9"
                },
                "ssl": {
                    "certKey": "ca.crt",
                    "certLabel": "CN=zen-ca-cert",
                     "secretName": "bigsql-{INSTANCEID}-internal-tls"
                }
                    },
        "deployment_id": ""
      },
      "transient_fields": {}
    }
    EOF
    以下の環境変数は、インストール環境変数スクリプトで既に定義されている値を使用します。
    • ${PROJECT_CPD_INST_OPERANDS}
    • ${STG_CLASS_BLOCK}

  5. PAYLOAD_FILE 環境変数を、ワークステーション上の JSON ペイロード・ファイルの完全修飾名に設定します。
    export PAYLOAD_FILE=<fully-qualified-JSON-file-name>
  6. サービス・インスタンスを作成する IBM Software Hub のインスタンスに接続するために使用する環境変数を設定します。
    1. CPD_ROUTE 環境変数を設定します。
      export CPD_ROUTE=$(oc get route cpd -n ${PROJECT_CPD_INST_OPERANDS} -o jsonpath={".spec.host"})

      このコマンドは、インストール環境変数スクリプトで既に定義されている PROJECT_CPD_INST_OPERANDS 変数を使用します。

    2. API_KEY 環境変数を、作成した API キーに設定します。
      export API_KEY=<your_api_key>
  7. ペイロード・ファイルからサービス・インスタンスを作成します。

    実行するコマンドは、サービス・インスタンスを作成する IBM Software Hubのインスタンスが自己署名証明書を使用するか、信頼できる認証局によって署名された証明書を使用するかによって異なります。


    インスタンスは、信頼できる認証局によって署名された証明書を使用します。
    curl --request POST \
    --url "https://${CPD_ROUTE}/zen-data/v3/service_instances" \
    --header "Authorization: ZenApiKey ${API_KEY}" \
    --header 'Content-Type: application/json' \
    --data @${PAYLOAD_FILE}

    インスタンスは自己署名証明書を使用します (デフォルト)
    curl -k --request POST \
    --url "https://${CPD_ROUTE}/zen-data/v3/service_instances" \
    --header "Authorization: ZenApiKey ${API_KEY}" \
    --header 'Content-Type: application/json' \
    --data @${PAYLOAD_FILE}

    要求が成功した場合、コマンドは以下の HTTP 応答コードのいずれかを返します。
    • 200 - 要求は正常に完了し、サービス・インスタンスがプロビジョンされました。
    • 202 - 要求は正常に実行依頼されました。 サービス・インスタンスをプロビジョンしています。

    要求が失敗した場合は、HTTP 応答コードを使用して理由を判別してください。

サービス・インスタンスが作成されたことの検証

サービス・インスタンスが作成されたことを確認するには、以下のようにします。

  1. INSTANCE_ID 環境変数を、POST cURL コマンドによって返された ID に設定します。
    export INSTANCE_ID=<ID-from-response>
  2. サービス・インスタンスの状況を取得します。

    実行するコマンドは、サービス・インスタンスを作成する IBM Software Hubのインスタンスが自己署名証明書を使用するか、信頼できる認証局によって署名された証明書を使用するかによって異なります。


    インスタンスは、信頼できる認証局によって署名された証明書を使用します。
    curl --request GET \
      --url "https://${CPD_ROUTE}/zen-data/v3/service_instances/${INSTANCE_ID}" \
      --header "Authorization: ZenApiKey ${API_KEY}" \
      --header 'Content-Type: application/json'

    インスタンスは自己署名証明書を使用します (デフォルト)
    curl -k --request GET \
      --url "https://${CPD_ROUTE}/zen-data/v3/service_instances/${INSTANCE_ID}" \
      --header "Authorization: ZenApiKey ${API_KEY}" \
      --header 'Content-Type: application/json'

    • 要求が成功した場合、このコマンドは以下の HTTP応答コードを返します。 200
      JSON 応答で provision_status パラメーターを見つけます。
      • 値が PROVISIONEDの場合、サービス・インスタンスは正常に作成されました。
      • 値が PROVISION_IN_PROGRESSの場合は、数分待ってからコマンドを再実行してください。
      • 値が FAILEDの場合は、zen-core-apiポッドとzen-watcherポッドのポッド・ログで考えられる原因を確認してください。
    • 要求が失敗した場合は、HTTP 応答コードを使用して理由を判別してください。

次のタスク

ご使用の環境によっては、プロビジョニング後のタスクを実行することが必要な場合もあります。 詳しくは、『Db2 Big SQL プロビジョニング後のタスク』を参照してください。

インスタンスをプロビジョンした後、インスタンスに 1 人以上のユーザーを追加する必要があります。 インスタンス所有者は、自動的にユーザーとして追加されません。 詳しくは、Db2 Big SQL インスタンスへのアクセスの管理を参照してください。