Provisioning

2세대

카탈로그, Cloud Databases CLI 플러그인, Cloud Databases API 또는 Terraform을 통해 IBM Cloud® Databases for Redis 배포를 프로비저닝합니다.

IBM Cloud 콘솔을 통한 프로비저닝

콘솔에서 다음 매개변수를 지정하여 배포하십시오.

  1. ‘서비스 세부 정보 ’에서 다음을 구성하십시오:

    • 위치 Gen 2를 지원하는 위치를 선택하십시오.
    • 서비스 이름: 이름은 임의의 문자열로 지정할 수 있으며, 웹 및 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 매개변수는 컴퓨트 리소스의 크기를 정의합니다. 원하는 CPU 및 RAM 구성에 맞는 값을 입력하십시오. 사용 가능한 호스트 플레버 값에 대해서는 ‘호스트 플레버 크기 선택’을 참조하십시오.

    명령어의 각 항목에 대한 설명은 다음 표에 나와 있습니다:

    표 1. 기본 명령어 형식 필드
    필드 설명 플래그
    INSTANCE_NAME 필수 인스턴스 이름은 임의의 문자열로 지정할 수 있으며, 웹 및 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를 통한 프로비저닝

리소스 컨트롤러 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 매개변수는 컴퓨트 리소스의 크기를 정의합니다. 배포 환경에 적합한 값을 선택하십시오. 사용 가능한 호스트 유형 값에 대해서는 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 필수 인스턴스 이름은 임의의 문자열로 지정할 수 있으며, 웹 및 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 필수 public, private 또는 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 리소스를 통해 Terraform으로 인프라를 관리하세요. 이 리소스는 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_id, service plan, version, key_protect_instance, key_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>"
      }
    })
}