プロビジョニング

第2世代

カタログCloud Databases CLIプラグインCloud Databases API、または Terraform を使用して、 IBM Cloud® Databases for Redis のデプロイメントをプロビジョニングします。

IBM Cloud コンソールによるプロビジョニング

コンソールから、以下のパラメータを指定してデプロイします。

  1. サービス詳細 」で、以下の設定を行ってください:

    • 場所 :Gen 2に対応している場所を選択してください。
    • サービス名 :名前は任意の文字列に設定でき、Web や CLI で新しいインスタンスを識別するために使用される名称です。
    • リソースグループサービスをリソースグループに整理している場合。 詳しくは、リソース・グループの管理を参照してください。
  2. ホスティングモデル:「Isolated 」は、複雑で高パフォーマンスが求められるエンタープライズワークロード向けの、セキュアなシングルテナント型サービスです。 詳細については、「 ホスティングモデル 」を参照してください。

  3. リソースの割り当てデプロイに必要なホストのサイズを選択し、必要なディスク容量を指定することで、リソースの割り当てを微調整してください。 ホスト・サイズとディスク割り振りはメンバー単位で設定されます。

    プロビジョニング後にディスク容量を増やすことはできますが、データの損失を防ぐため、容量を減らすことはできません。

  4. サービス設定 」で、以下の設定を行ってください:

    • データベースのバージョンデータベースのデプロイメントバージョンです。 最適なパフォーマンスを確保するため、推奨されるバージョンを実行してください。 最新のマイナー・バージョンが自動的に使用されます。 詳細については、「 データベースのバージョン管理ポリシー 」を参照してください。
    • **暗号化 **Key Protect を使用する場合、インスタンスとキーを選択して、そのインスタンスのディスクを暗号化できます。 独自のキーを使用しない場合、インスタンスは自動的に独自のディスク暗号化キーを作成・管理します。
    • エンドポイントデプロイメント上の サービスエンド ポイントを設定します。 デフォルトの設定は「 非公開 」です。
  5. 「作成」 をクリックします。 「 Cloud Databases 」のリソース一覧ページが開きます。

  6. インスタンスのプロビジョニングが完了したら、インスタンス名をクリックして詳細情報を確認してください。

CLI によるプロビジョニング

プロビジョニングを行う前に、ドキュメントに記載されている手順に従って、 IBM Cloud CLI ツールをインストールしてください。

  1. IBM Cloud にログインします。 フェデレーテッド・ユーザー ID を使用する場合は、ワンタイム・パスコード (ibmcloud login --sso) に切り替えるか、API キー (ibmcloud --apikey key or @key_file) を使用して認証することが重要です。 CLI を使用したログイン方法の詳細については、 ibmcloud login の「 一般的な CLI(ibmcloud)コマンド」を参照してください。

    ibmcloud login
    
  2. リソースグループを指定する:

    ibmcloud target -g Default
    
  3. IBM Cloud で、次のようなコマンドを実行して、 Databases for Redis のサービスインスタンスを作成します

    ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE_NAME> <SERVICE_PLAN_NAME> <LOCATION> -p '{"dataservices": {"redis": {"host_flavor":"bx3d.4x20"}}}' --user-tags test-redis,do-not-delete
    

    たとえば、 Databases for Redis インスタンスをプロビジョニングするには、次のようなコマンドを使用します

    ibmcloud resource service-instance-create redis-test-database databases-for-redis databases-for-redis-gen2-standard ca-mon -p '{"dataservices": {"redis": {"host_flavor":"bx3d.4x20"}}}' --user-tags test-redis,do-not-delete
    

    host_flavor パラメータは、Computeのサイズ設定を定義します。 ご希望のCPUおよびRAM構成に合わせて、適切な値を入力してください。 利用可能なホストフレーバーの値については、「 ホストフレーバーのサイズ選択 」を参照してください。

    コマンド内の各フィールドについては、次の表に説明があります

    表 1. 基本コマンド形式のフィールド
    フィールド 説明 フラグ
    INSTANCE_NAME 必須 インスタンス名は任意の文字列に設定でき、Web や CLI で新しいデプロイメントを識別するために使用される名前です。
    SERVICE_NAME 必須 サービスの名前または ID。 Databases for Redis については、 databases-for-redis をご利用ください。
    SERVICE_PLAN_NAME 必須 gen2 のスタンダードプラン(standard-gen2
    LOCATION 必須 デプロイ先の場所。 地域のリストを取得するには、 ibmcloud regions コマンドを使用します。 API呼び出しの場合、「Location」は「target」と呼ばれます
    RESOURCE_GROUP リソースグループ名。 デフォルト値は Defaultです。 APIを呼び出す場合は、リソースグループIDを指定してください。 -g
    --parameters サービスインスタンスを作成するためのパラメータを格納したJSONファイルまたはJSON文字列 -p
    host_flavor 「Isolated Compute」では、ご希望のCPUおよびRAM構成を選択してください。 詳細については、次の表または「 ホスティングモデル 」を参照してください。
    --user-tags カンマ区切りのユーザータグ名のリスト

    次のような応答が表示されます:

    Creating service instance redis-test-database in resource group Default of account ICD as user@ibm.com...
    OK
    Service instance redis-test-database was created.
    Name:                   redis-test-database
    ID:                     crn:v1:bluemix:public:databases-for-redis:ca-mon:a/23b09aee04da4545b6e32805fa93249d:4b6b8771-b44e-4687-9393-db8a2dec1942::
    GUID:                   4b6b8771-b44e-4687-9393-db8a2dec1942
    Location:               ca-mon
    State:                  provisioning
    Type:                   service_instance
    Sub Type:
    Allow Cleanup:          false
    Locked:                 false
    One-time credentials:   false
    Created at:             2026-06-25T12:48:00Z
    Updated at:             2026-06-25T12:48:01Z
    Last Operation:
                            Status    create in progress
                            Message   Started create instance operation
    

    プロビジョニングの状態を確認するには、次のコマンドを実行してください:

    ibmcloud resource service-instance <INSTANCE_NAME>
    

    処理が完了すると、次のような応答が表示されます:

    Retrieving service instance INSTANCE_NAME in resource group default under account USER's Account as USER...
    OK
    Name:                  INSTANCE_NAME
    ID:                    crn:v1:bluemix:public:databases-for-redis:ca-mon:a/23b09aee04da4545b6e32805fa93249d:4b6b8771-b44e-4687-9393-db8a2dec1942::
    GUID:                  4b6b8771-b44e-4687-9393-db8a2dec1942
    Location:              <LOCATION>
    Service Name:          databases-for-redis
    Service Plan Name:     standard-gen2
    Resource Group Name:   default
    State:                 active
    Type:                  service_instance
    Sub Type:              Public
    Locked:                false
    Service Endpoints:     private
    Created at:            2026-06-25T19:42:07Z
    Created by:            USER
    Updated at:            2026-06-25T19:53:25Z
    Last Operation:
                           Status    create succeeded
                           Message   Provisioning redis with version 8.2 (100%)
    

サービス・インスタンスを更新します

以下のコマンドを使用して、サービスインスタンス名、サービスプランID、およびパラメータを更新できます:

ibmcloud resource service-instance-update service-instance-current-name --service-plan-id databases-for-redis-gen2-standard -p '{"dataservices": {"redis": {"storage_gb":20}}}' -g Default --name NEW_NAME

サービス・インスタンスの削除

次のようなコマンドを実行して、インスタンスを削除します

ibmcloud resource service-instance-delete <INSTANCE_NAME_OR_CRN>

Redis のバックアップから復元する

次のようなコマンドを使用すると、特定のバックアップから新しい Redis インスタンスをプロビジョニングできます:

ibmcloud resource service-instance-create restore-instance-name databases-for-redis standard-gen2 ca-mon -g Default  -p '{
      "dataservices":{
            "restore_backup_id": "<service-instance-crn>:backup:<backup-uuid>"
      }
}'

リソース・コントローラー API を使用したプロビジョニング

Resource Controller API を使用してプロビジョニングを行うには、以下の手順を実行してください。

  1. 次のコマンドを使用して、IAMトークンを取得します

    IAM_TOKEN=$(ibmcloud iam oauth-tokens -o json | jq .iam_token -r)
    
  2. デプロイ先のリソースグループのIDを把握しておく必要があります。 この情報は IBM Cloud CLI により入手できます。

    次のようなコマンドを使用します:

    ibmcloud resource groups
    

    必要なリソースグループIDをメモしておいてください。 ほとんどの場合、デフォルトのリソースグループ値を使用します。

  3. デプロイ先のリージョンを把握しておく必要があります。

    現在のリージョンからデプロイメントをプロビジョニングできるすべてのリージョンを一覧表示するには、 Cloud Databases CLIプラグインを使用します。

    コマンドは次のようになります:

    ibmcloud cdb regions --json
    
  4. host_flavor パラメータは、Computeのサイズ設定を定義します。 導入環境に応じて適切な値を選択してください。 利用可能なホストフレーバーの値については、「 Gen 2 アイソレート型コンピュート 」を参照してください。

  5. すべての情報が揃ったら、 IBM Cloud リソースコントローラーを使用して、 新しいリソースインスタンスをプロビジョニングします

    curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_instances -H "Authorization: ${IAM_TOKEN}"   -H 'Content-Type: application/json' -d '{
        "name": "redis-test",
        "target": "ca-mon",
        "resource_group": "c21a4e8564c14d1aab2a9a8b441904eb",
        "resource_plan_id": "databases-for-redis-gen2-standard",
        "parameters": {
          "dataservices": {
            "redis": {
              "host_flavor": "bx3d.4x20"
            }
          },
          "service_endpoints": "private",
          "version": "8.2"
        },
        "tags": [
          "redis-test",
          "do-not-delete"
        ]
      }'
    

    コマンド内のフィールドについては、以下の表で説明されています。

    表 3. 基本コマンド形式のフィールド
    フィールド 説明 フラグ
    name 必須 インスタンス名は任意の文字列に設定でき、Web や CLI で新しいデプロイメントを識別するために使用される名前です。
    target 必須 デプロイ先の場所。 地域のリストを取得するには、 ibmcloud regions コマンドを使用します。
    resource_group 必須 リソースグループのID。 デフォルト値は Defaultです。
    resource_plan_id 必須 gen2 のスタンダードプラン(databases-for-redis
    parameters サービスインスタンスを作成するためのパラメータのJSONオブジェクト
    host_flavor 「Isolated Compute」では、ご希望のCPUおよびRAM構成を選択してください。 詳細については、「 ホスティングモデル 」を参照してください。
    service_endpoints 必須 デプロイメントの サービスエンドポイントpublicprivate 、または public-and-private )を設定してください。
    version プロビジョニングするデータベースのバージョン。 省略した場合、データベースは最新のメジャー・バージョンとマイナー・バージョンを使用して作成されます。
    tags ユーザータグ名の配列

サービスインスタンスの詳細を取得する

curl -X GET https://resource-controller.cloud.ibm.com/v2/resource_instances/<service-instance-id> -H "Authorization: ${IAM_TOKEN}" | jq

サービス・インスタンスを更新します

次のコマンドを使用して、サービスインスタンス名とパラメータを更新できます:

curl -X PATCH https://resource-controller.cloud.ibm.com/v2/resource_instances/<service-instance-id> -H "Authorization: ${IAM_TOKEN}" -H 'Content-Type: application/json' -d '{
"name": "redis-test-testing-patch",
"parameters":{"dataservices":{"redis":{"host_flavor":"bx3d.8x40"}}}
}' | jq

サービス・インスタンスの削除

次のコマンドを実行して、インスタンスを削除します

curl -X DELETE https://resource-controller.cloud.ibm.com/v2/resource_instances/<service-instance-id> -H "Authorization: ${IAM_TOKEN}"

Redis のバックアップから復元する

次のコマンドを使用すると、特定のバックアップから新しい Redis インスタンスをプロビジョニングできます:

curl -X POST   https://resource-controller.cloud.ibm.com/v2/resource_instances   -H "Authorization: ${IAM_TOKEN}"   -H 'Content-Type: application/json' -d '{
    "name": "redis-test-restore",
    "target": "ca-mon",
    "resource_group": "c21a4e8564c14d1aab2a9a8b441904eb",
    "resource_plan_id": "databases-for-redis-gen2-standard",
    "parameters": {
      "dataservices": {
        "restore_backup_id": "<service-instance-crn>:backup:<backup-uuid>"
      }
    },
    "tags": [
      "redis-test"
    ]
  }'

Terraform を使用したプロビジョニング

Terraformの ibm_database リソース を使用して、インフラストラクチャを管理します。このリソースは、 Cloud Databases のデプロイのプロビジョニングをサポートしています。

データベースをプロビジョニングする ホスティングモデル を選択してください。 これは後から変更できます。

"host_flavor" パラメータを希望のホストフレーバーに設定して、 Databases for Redis インスタンスをプロビジョニングします。 以下に例を示します。

data "ibm_resource_group" "group" {
  name = "<your_resource_group>"
}
resource "ibm_resource_instance" "<your_instance_name>" {
  name = "your_instance_name"
  plan = "databases-for-redis-gen2-standard"
  service = "databases-for-redis"
  location = "us-east"
  tags              = ["terraform", "redis"]
  resource_group_id = data.ibm_resource_group.group.id
  timeouts {
    create = "120m"
    update = "120m"
    delete = "15m"
  }
}

既存のインスタンスでTerraformスクリプトを実行する前に、 terraform plan コマンドを使用して、現在のインフラストラクチャの状態と、Terraformファイルで定義された目標状態とを比較してください。 resource_group_idservice planversionkey_protect_instancekey_protect_key、または backup_encryption_key_crn の属性を変更すると、インスタンスが再作成されます。 Forces new resource 仕様の現在の引数参照一覧については、 ibm_databaseのTerraformレジストリを参照してください。

サービスインスタンスの詳細を取得する

data "ibm_resource_group" "group" {
  name = "<your_resource_group>"
}
data "ibm_resource_instance" "<your_instance_name>" {
  name              = "<your_instance_name>"
  location          = "us-east"
  resource_group_id = data.ibm_resource_group.group.id
  service = "databases-for-redis"
}
output "<your_instance_name>_output" {
  value ={
    id = data.ibm_resource_instance.<your_instance_name>.id
    name = data.ibm_resource_instance.<your_instance_name>.name
    extensions = data.ibm_resource_instance.<your_instance_name>.extensions
    group_id = data.ibm_resource_instance.<your_instance_name>.resource_group_id
  }
}

サービス・インスタンスを更新します

次のコマンドを使用して、ホスト・フレーバー・パラメータを更新できます:

data "ibm_resource_group" "group" {
  name = "your_resource_group"
}
resource "ibm_resource_instance" "<your_instance_name>" {
  name = "<your_instance_name>"
  plan = "databases-for-redis-gen2-standard"
  service = "databases-for-redis"
  location = "us-east"
  tags              = ["scaling","tf"]
  resource_group_id = data.ibm_resource_group.group.id
  parameters_json = jsonencode({
  "dataservices": {
      "redis": {
        "host_flavor": "bx2.8x32"
      }
  }
})
  timeouts {
    create = "120m"
    update = "120m"
    delete = "15m"
  }
}

サービス・インスタンスの削除

Terraform で管理されているリソースを削除するには、次のコマンドを実行します: terraform destroy

  • Terraformがユーザーを作成すると、自動的にステートファイル( terraform.tfstate ) が作成され、その詳細がステートファイルのリソースに追加されます。 このファイルは、すべての管理対象リソースを追跡するものであり、Terraform が削除時に何を破棄すべきかを特定するために使用されます。

  • Terraform は、自身が作成したリソースのみを削除できます。 UI、CLI、またはAPIを通じてプロビジョニングされたリソースは、 Terraformの状態に事前にインポートされていない限り、Terraformによって破棄することはできません。

  • destroy を実行すると、state ファイルのリソースに含まれるすべてのエントリが削除されます。 したがって、実行する前に、削除したいリソースがリソース一覧にそれ以外含まれていないことを確認してください。 terraform destroy

Redis のバックアップから復元する

次のコマンドを使用すると、特定のバックアップから新しい Redis インスタンスをプロビジョニングできます:

resource "ibm_resource_instance" "<your_instance_name>" {
  name = "<your_instance_name>"
  plan = "databases-for-redis-gen2-standard"
  service = "databases-for-redis"
  location = "us-east"
  tags      = ["terraform", "redis"]
    parameters_json = jsonencode({
      "dataservices": {
        "restore_backup_id": "<service-instance-crn>:backup:<backup-uuid>"
      }
    })
}