Provisioning

Gen 2

카탈로그, Cloud Databases CLI 플러그인, Cloud Databases API 또는 Terraform을 통해 IBM Cloud® Databases for MongoDB 배포를 프로비저닝하십시오.

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

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

서비스 세부사항

  • 서비스 이름: 이름은 임의의 문자열로 지정할 수 있으며, 웹 및 CLI에서 새로운 배포를 식별하는 데 사용되는 이름입니다.
  • 리소스 그룹: 서비스를 리소스 그룹으로 구성하는 경우, 이 필드에 해당 리소스 그룹을 지정하십시오. 그렇지 않으면 기본값으로 둘 수 있습니다. 자세한 내용은 ‘리소스 그룹 관리’를 참조하십시오.
  • 위치: 배포 대상 클라우드 리전. Gen 2에서는 현재 Databases for MongoDB 이 몬트리올(ca-mon), 첸나이 - 에어텔(in-che), 뭄바이(in-mum), 프랑크푸르트(eu-de), 워싱턴(us-east), 마드리드(eu-es), 시드니(au-syd), 댈러스(us-south), 런던(eu-gb) 지역에서만 이용 가능합니다.

배포할 플랫폼을 선택하십시오.

  • Gen 1: IBM Cloud® 의 오리지널 플랫폼으로, 모든 IBM Cloud 데이터 센터에서 이용 가능합니다.
  • Gen 2: IBM Cloud® 의 최신 플랫폼으로, 매우 안전한 소프트웨어 정의 네트워킹 아키텍처를 기반으로 합니다. Gen 2는 클라우드 네이티브 애플리케이션에 최적화되어 있으며, 현재 몬트리올, 첸나이, 뭄바이, 프랑크푸르트, 마드리드, 시드니, 워싱턴, 런던에서만 이용할 수 있습니다.

자세한 내용은 Gen 1(클래식)및 Gen 2(VPC)개요를 참조하십시오.

호스팅 모델

Gen 2에서는 ‘Isolated’ 호스팅 모델만 사용할 수 있으며, 이는 복잡하고 고성능이 요구되는 엔터프라이즈 워크로드를 위한 안전한 단일 테넌트 서비스입니다. 자세한 내용은 ‘Isolated Compute’를 참조하십시오.

리소스 할당

배포에 사용할 초기 호스트 크기와 디스크 구성을 선택하십시오. 호스트 크기와 디스크 할당량은 인스턴스 구성원별로 적용됩니다.

  • 호스트 사양: 워크로드 요구 사항에 맞춰 사용 가능한 vCPU 및 RAM 구성 중에서 선택하십시오.
  • 디스크: 배포에 사용할 초기 디스크 크기를 구성합니다. 슬라이더를 사용하여 디스크 용량을 설정하세요. 디스크 크기에 따라 IOPS 할당량이 결정됩니다. 디스크 1GB당 5 IOPS를 제공합니다.

데이터 손실을 방지하기 위해, 디스크 크기는 프로비저닝 후 늘릴 수는 있지만 줄일 수는 없습니다.

서비스 구성

  • 데이터베이스 버전: Set only at deployment 이는 귀하의 MongoDB 배포 환경의 버전입니다. 콘솔은 최적의 성능을 보장하기 위해 권장 버전을 강조 표시합니다. 자세한 내용은 ‘버전 관리 정책’을 참조하십시오.
  • 데이터베이스 에디션: Set only at deployment Gen 2에서는 Standard 에디션만 제공됩니다.
  • 암호화: Set only at deployment 만약Key Protect 를 사용하는 경우, 인스턴스와 키를 선택하여 배포의 디스크를 암호화할 수 있습니다. 자체 키를 사용하지 않는 경우 배치에서 자체 디스크 암호화 키를 자동으로 작성하고 관리합니다.
  • 엔드포인트 Set only at deployment[Set only at deployment- Gen 2의 경우, 비공개 엔드포인트만 지원됩니다.

적절한 설정을 선택한 후 작성을 클릭하여 프로비저닝 프로세스를 시작하십시오.

CLI를 통한 프로비저닝

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. Gen 2 플랫폼의 ‘Isolated Compute’ 호스팅 모델에서 IBM Cloud® Databases for MongoDB 인스턴스를 프로비저닝할 수 있습니다.

  3. 다음 명령어를 사용하여 데이터베이스를 초기화하십시오:

    ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE_NAME> <SERVICE_PLAN_NAME> <LOCATION> <RESOURCE_GROUP> -p '{"host_flavor": "<host_flavor value>"}'
    

    예를 들어, Databases for MongoDB 인스턴스를 프로비저닝하려면 다음과 같은 명령어를 사용합니다:

    ibmcloud resource service-instance-create test-database databases-for-mongodb standard-gen2 us-south -p '{"host_flavor": "bx3d.4x20.encrypted", "storage_gb": 10 }'
    

    host_flavor -p 매개변수를 동일한 값으로 설정하고, 원하는 Isolated 크기로 지정하여 Databases for MongoDB Isolated 인스턴스를 프로비저닝합니다. 사용 가능한 호스팅 용량과 해당 host_flavor value 매개변수는 표 2에 나열되어 있습니다.

    회원 호스팅 플랜 선택 항목에는 CPU 및 RAM 용량이 포함되어 있으므로(bx3d.4x20.encrypted 는 CPU 4개, RAM 20GB), 이 요청에서는 ‘Isolated’ 용량 선택과 별도의 CPU 및 RAM 할당 선택을 동시에 적용할 수 없습니다.

    명령의 필드에 대해서는 다음 테이블에서 설명합니다.

    기본 명령어 형식 필드
    필드 설명 플래그
    INSTANCE_NAME Required 인스턴스 이름은 임의의 문자열로 지정할 수 있으며, 웹 및 CLI에서 새로운 배포를 식별하는 데 사용되는 이름입니다.
    SERVICE_NAME Required 서비스의 이름 또는 ID입니다. Databases for MongoDB 의 경우 databases-for-mongodb 을 사용하십시오.
    SERVICE_PLAN_NAME Required standard-gen2
    LOCATION Required 배포하려는 위치. 지역 목록을 가져오려면 ibmcloud regions 명령을 사용하십시오.
    RESOURCE_GROUP 리소스 그룹 이름. 기본값은 default입니다. -g
    --parameters 서비스 인스턴스를 작성하기 위한 매개변수의 JSON 파일 또는 JSON 문자열 -p
    host_flavor Isolated Compute 인스턴스를 프로비저닝하려면 {"host_flavor": "<host_flavor value>"} 를 사용하십시오. ‘Isolated Compute’의 경우, 원하는 CPU 및 RAM 구성을 선택하십시오. 자세한 내용은 다음의 표 2 를 참조하십시오.

    다음과 같은 응답이 표시됩니다:

    Creating service instance INSTANCE_NAME in resource group default of account USER...
    OK
    Service instance INSTANCE_NAME was created.
    Name:                INSTANCE_NAME
    ID:                  crn:v1:bluemix:public:databases-for-mongodb:us-south:a/40ddc34a846383BGB5b60e:dd13152c-fe15-4bb6-af94-fde0af5303f4::
    GUID:                dd13152c-fe15-4bb6-af94-fde0af56897
    Location:            LOCATION
    State:               provisioning
    Type:                service_instance
    Sub Type:            Public
    Service Endpoints:   private
    Allow Cleanup:       false
    Locked:              false
    Created at:          2023-06-26T19:42:07Z
    Updated at:          2023-06-26T19:42:07Z
    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-mongodb:us-south:a/40ddc34a953a8c02f109835656860e:dd13152c-fe15-4bb6-af94-fde0af5303f4::
    GUID:                  dd13152c-fe15-4bb6-af94-fde5654765
    Location:              <LOCATION>
    Service Name:          databases-for-mongodb
    Service Plan Name:     standard-gen2
    Resource Group Name:   default
    State:                 active
    Type:                  service_instance
    Sub Type:              Public
    Locked:                false
    Service Endpoints:     private
    Created at:            2023-06-26T19:42:07Z
    Created by:            USER
    Updated at:            2023-06-26T19:53:25Z
    Last Operation:
                           Status    create succeeded
                           Message   Provisioning mongodb with version 7.17 (100%)
    
    • 선택 사항: 서비스 인스턴스를 삭제하려면 다음 명령을 실행하십시오
    ibmcloud resource service-instance-delete <INSTANCE_NAME_OR_CRN>
    

host_flavor 매개변수

host_flavor 매개변수는 컴퓨트 리소스의 크기를 정의합니다. Isolated Compute 인스턴스를 프로비저닝하려면 원하는 CPU 및 RAM 구성에 맞는 값을 입력하십시오.

고정형 프로파일

고정 프로필 CLI 선택 항목
호스트 크기 vCPU x RAM host_flavor 값
4x20 4개의 vCPU, 20 GB RAM bx3d.4x20.encrypted
8x40 8개의 vCPU, 40 GB RAM bx3d.8x40.encrypted
16x80 16 vCPU, 80GB RAM mx3d.16x80.encrypted
32x160 32 vCPU, 160GB RAM bx3d.32x160.encrypted
48x240 48 vCPU, 240 GB RAM bx3d.48x240.encrypted

플렉스 프로필

Flex 프로필 CLI 선택 항목
호스트 크기 vCPU x RAM host_flavor 값
4x16 4개의 vCPU, 16 GB RAM b3c.4x16.encrypted
8x32 8 vCPU, 32GB RAM b3c.8x32.encrypted
16x64 16 vCPU x 64 GB RAM b3c.16x64.encrypted

Cloud Databases 의 Isolated Compute에서는 CPU 및 RAM 자동 확장 기능이 지원되지 않습니다. 디스크 자동 확장 기능이 곧 출시될 예정입니다. 격리형 인스턴스를 프로비저닝했거나 자동 확장 기능이 적용된 배포 환경에서 전환한 경우, 메모리, 디스크 공간 및 디스크 I/O 사용량에 대한 메트릭을 제공하는 ‘ IBM Cloud® Monitoring ’ 통합 기능을 통해 리소스 상태를 주의 깊게 모니터링하십시오. 인스턴스에 리소스를 추가하려면 배포를 수동으로 확장하십시오.

--parameters 매개변수

service-instance-create 명령어는 -p 플래그를 지원하며, 이를 통해 JSON 형식의 매개변수를 프로비저닝 프로세스로 전달할 수 있습니다. 예를 들어, 클라우드 내의 리소스를 고유하게 식별하는 클라우드 리소스 이름(CRN)을 매개변수 값으로 전달할 수 있습니다. 모든 매개변수 이름 및 값은 문자열로 전달됩니다.

예를 들어, 특정 백업에서 데이터베이스를 프로비저닝하는 중이고, 새로 배포할 데이터베이스에 16x80 크기의 더 큰 호스트가 필요한 경우, 명령어는 다음과 같습니다:

ibmcloud resource service-instance-create databases-for-mongodb <SERVICE_NAME> standard-gen2 us-south \
-p \ '{
  "backup_id": "crn:v1:blue:public:databases-for-mongodb:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
  "host_flavor": "bx3d.16x80.encrypted"
}'

리소스 제어기 API를 통한 프로비저닝

리소스 컨트롤러 API를 사용하여 리소스를 프로비저닝하려면 다음 단계를 따르십시오.

  1. IAM 토큰 을 획득합니다.

  2. 배치할 리소스 그룹의 ID를 알아야 합니다. 계정에 있는 리소스 그룹 목록을 확인하려면 다음 명령어를 사용하세요:

```sh {: pre}
curl -X GET "https://resource-controller.cloud.ibm.com/v2/resource_groups?account_id=<YOUR_ACCOUNT>" -H "Authorization: Bearer <TOKEN>"
```
  1. Gen 2 플랫폼의 ‘Isolated Compute’ 호스팅 모델에서 IBM Cloud® Databases for MongoDB 인스턴스를 프로비저닝할 수 있습니다.

  2. 위의 모든 정보를 준비했다면, ‘ IBM Cloud ’ 리소스 컨트롤러를 사용하여 새로운 리소스 인스턴스를 프로비저닝하십시오.

```sh {: pre}
curl -X POST \
  https://resource-controller.cloud.ibm.com/v2/resource_instances \
  -H "Authorization: Bearer <TOKEN>" \
  -H 'Content-Type: application/json' \
    -d '{
    "name": "<INSTANCE_NAME>",
    "target": "<targeted-region>",
    "resource_group": "RESOURCE_GROUP_ID",
    "resource_plan_id": "<SERVICE_PLAN_NAME>",
    "dataservices": {
      "<db-service>":{
        "host_flavor": "<members_host_flavor_value>",
      }
    }
  }'
```

Isolated Compute 인스턴스를 생성하려면 다음 예시를 따르세요:

```sh {: pre}
  curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_instances -H "Authorization: Bearer <IAM token>" -H 'Content-Type: application/json' -d '{
  "name": "my-instance",
  "target": "ca-mon",
  "resource_group": "5c49eabc-f5e8-5881-a37e-2d100a33b3df",
  "resource_plan_id": databases-for-mongodb-gen2-standard",
  "dataservices": {
    "mongodb": {
        "storage_gb": 10,
        "host_flavor": "bx3d.4x20.encrypted"
      },
    "encryption": {
      "disk": "crn:v1..."
    },
    "version": "8",
  },
}'
```
`host_flavor` 매개변수를 동일한 값으로 설정하고, 원하는 Isolated 크기로 지정하여 Databases for MongoDB Isolated 인스턴스를 프로비저닝합니다. 사용 가능한 호스팅 용량과 해당 `host_flavor value` 매개변수는 [표 2에](#members_host-flavor-parameter-api) 나열되어 있습니다. 예: `{"host_flavor": "bx3d.4x20.encrypted"}`.

회원 호스팅 플랜 선택 항목에는 CPU 및 RAM 용량이 포함되어 있으므로(bx3d.4x20.encrypted 는 CPU 4개, RAM 20GB), 이 요청에서는 ‘Isolated’ 용량 선택과 별도의 CPU 및 RAM 할당 선택을 동시에 적용할 수 없습니다.

명령의 필드에 대해서는 다음 테이블에서 설명합니다.

기본 명령어 형식 필드
필드 설명 플래그
name Required 인스턴스 이름은 임의의 문자열로 지정할 수 있으며, 웹 및 CLI에서 새로운 배포를 식별하는 데 사용되는 이름입니다.
resource_plan_id Required 서비스의 이름 또는 ID입니다. Databases for MongoDB 의 경우 databases-for-mongodb-standard 을 사용하십시오.
target Required 배포하려는 위치. 지역 목록을 가져오려면 ibmcloud regions 명령을 사용하십시오.
resource_groupRequired 리소스 그룹 이름. 기본값은 default입니다. -g
--parameters 서비스 인스턴스를 생성하는 데 필요한 매개변수가 포함된 JSON 파일 또는 JSON 문자열. 자세한 내용은 다음 정보를 참조하십시오. -p
host_flavor Isolated Compute 인스턴스를 프로비저닝하려면 {"host_flavor": "<members_host_flavor value>"} 를 사용하십시오. ‘Isolated Compute’의 경우, 원하는 CPU 및 RAM 구성을 선택하십시오. 자세한 내용은 다음 표를 참조하십시오.

host_flavor 매개변수

host_flavor 매개변수는 컴퓨트 리소스의 크기를 정의합니다. Isolated Compute 인스턴스를 프로비저닝하려면 원하는 CPU 및 RAM 구성에 맞는 값을 입력하십시오.

고정형 프로파일

프로필 API 선택 항목 수정
호스트 크기 vCPU x RAM host_flavor 값
4x20 4개의 vCPU, 20 GB RAM bx3d.4x20.encrypted
8x40 8개의 vCPU, 40 GB RAM bx3d.8x40.encrypted
16x80 16 vCPU, 80GB RAM mx3d.16x80.encrypted
32x160 32 vCPU, 160GB RAM bx3d.32x160.encrypted
48x240 48 vCPU, 240 GB RAM bx3d.48x240.encrypted

플렉스 프로필

Flex 프로필 API 선택 항목
호스트 크기 vCPU x RAM host_flavor 값
4x16 4개의 vCPU, 16 GB RAM b3c.4x16.encrypted
8x32 8 vCPU, 32GB RAM b3c.8x32.encrypted
16x64 16 vCPU x 64 GB RAM b3c.16x64.encrypted

Cloud Databases 의 Isolated Compute에서는 CPU 및 RAM 자동 확장 기능이 지원되지 않습니다. 디스크 자동 확장 기능이 곧 출시될 예정입니다. 격리형 인스턴스를 프로비저닝했거나 자동 확장 기능이 적용된 배포 환경에서 전환한 경우, 메모리, 디스크 공간 및 디스크 I/O 사용량에 대한 메트릭을 제공하는 ‘ IBM Cloud® Monitoring ’ 통합 기능을 통해 리소스 상태를 주의 깊게 모니터링하십시오. 인스턴스에 리소스를 추가하려면 배포를 수동으로 확장하십시오.

추가 매개변수 목록

--parameters 객체에서는 서비스 인스턴스를 생성할 때 다음과 같은 추가 정보를 지정할 수 있습니다

  • backup_id - 복원할 백업 리소스의 CRN. 백업은 동일한 서비스 ID를 가진 데이터베이스 배포를 통해 생성되어야 합니다. 프로비저닝 후 백업이 로드되고 해당 데이터를 사용하는 새 배치가 시작됩니다. 백업 CRN은 crn:v1:<...>:backup:<uuid> 형식입니다. 생략하면 데이터베이스가 빈 상태로 프로비저닝됩니다.
  • version - 프로비저닝할 데이터베이스의 버전입니다. 생략하면 데이터베이스가 최근 주 버전과 부 버전으로 작성됩니다.
  • disk_encryption_key_crn- KMS 키의 CRN( Key Protect )의 CRN으로, 이는 이후 디스크 암호화에 사용됩니다. KMS 키의 CRN은 crn:v1:<...>:key:<id> 형식을 따릅니다.
  • backup_encryption_key_crn- KMS 키의 CRN( Key Protect )의 CRN으로, 이는 이후 백업 암호화에 사용됩니다. KMS 키의 CRN은 crn:v1:<...>:key:<id> 형식을 따릅니다.
백업에 키를 사용하려면 먼저 [서비스 간 위임 기능을 활성화해야](/docs/cloud-databases?topic=cloud-databases-key-protect&interface=api#key-byok) 합니다.
{: note}

Terraform을 사용한 프로비저닝

시작하기 전에:

ibm_database Terraform 관련 자료 를 통해 Terraform을 사용하여 인프라를 관리하면, Cloud Databases 배포 환경을 프로비저닝할 수 있습니다.

데이터베이스를 프로비저닝할 호스팅 모델을 선택하십시오. 나중에 변경할 수 있습니다.

Terraform을 사용하여 격리된 컴퓨트 리소스 프로비저닝하기

"host_flavor" 매개변수를 동일한 값으로 설정하고, 원하는 Isolated 크기로 지정하여 Databases for MongoDB Isolated 인스턴스를 프로비저닝합니다. 사용 가능한 호스팅 용량과 각 용량의 host_flavor value 매개변수는 표 1에 나와 있습니다. 예: {"host_flavor": "bx3d.4x20.encrypted"}. 호스트 유형 선택에는 CPU 및 RAM 용량이 포함되어 있으므로(예:bx3d.4x20.encrypted 는 CPU 4개, RAM 16GB), 이 요청에서는 ‘Isolated’ 크기 선택과 별도의 CPU 및 RAM 할당 선택을 동시에 적용할 수 없습니다.

data "ibm_resource_group" "group" {
  name = "<your_group>"
}
resource "ibm_database" "<your_database>" {
  name              = "<your_database_name>"
  plan              = "standard"
  location          = "eu-gb"
  service           = "databases-for-mongodb"
  resource_group_id = data.ibm_resource_group.group.id
  service_endpoints = "private"
  tags              = ["tag1", "tag2"]
  adminpassword                = "password12"
  group {
    group_id = "member"
    host_flavor {
      id = "bx3d.4x20.encrypted"
    }
    disk {
      allocation_mb = 256000
    }
  }
  users {
    name     = "user123"
    password = "password12"
  }
  allowlist {
    address     = "172.168.1.1/32"
    description = "desc"
  }
}
output "ICD MongoDB database connection string" {
  value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}

host flavor 매개변수

host_flavor 매개변수는 컴퓨트 리소스의 크기를 정의합니다. Isolated Compute 인스턴스를 프로비저닝하려면 원하는 CPU 및 RAM 구성에 맞는 값을 입력하십시오. 다음 표에 있는 값을 확인하십시오.

고정형 프로파일

프로필 관련 Terraform 선택 항목 수정
호스트 크기 vCPU x RAM host_flavor 값
4x20 4개의 vCPU, 20 GB RAM bx3d.4x20.encrypted
8x40 8개의 vCPU, 40 GB RAM bx3d.8x40.encrypted
16x80 16 vCPU, 80GB RAM mx3d.16x80.encrypted
32x160 32 vCPU, 160GB RAM bx3d.32x160.encrypted
48x240 48 vCPU, 240 GB RAM bx3d.48x240.encrypted

플렉스 프로필

Flex 프로필 Terraform 선택 항목
호스트 크기 vCPU x RAM host_flavor 값
4x16 4개의 vCPU, 16 GB RAM b3c.4x16.encrypted
8x32 8 vCPU, 32GB RAM b3c.8x32.encrypted
16x64 16 vCPU x 64 GB RAM b3c.16x64.encrypted

Cloud Databases 의 Isolated Compute에서는 CPU 및 RAM 자동 확장 기능이 지원되지 않습니다. 디스크 자동 확장 기능이 곧 출시될 예정입니다. 격리형 인스턴스를 프로비저닝했거나 자동 확장 기능이 적용된 배포 환경에서 전환한 경우, 메모리, 디스크 공간 및 디스크 I/O 사용량에 대한 메트릭을 제공하는 ‘ IBM Cloud® Monitoring ’ 통합 기능을 통해 리소스 상태를 주의 깊게 모니터링하십시오. 인스턴스에 리소스를 추가하려면 배포를 수동으로 확장하십시오.