고객 관리 암호화로 블록 스토리지 볼륨 작성

Key Protect 에서 자체 루트 키를 사용하여 고객 관리형 암호화가 적용된 Block Storage for VPC 볼륨을 생성하세요. BYOK(Bring-Your-Own-Key) 암호화를 통해 데이터 암호화를 직접 관리하고 규정 준수 요건을 충족하십시오.

시작하기 전에

고객 관리형 암호화가 적용된 Block Storage 볼륨을 생성하려면 자체 고객 루트 키가 있어야 합니다. 키 관리 서비스(KMS)를 프로비저닝하고 고객 루트 키(CRK)를 생성하거나 가져올 수 있습니다. 그런 다음, Block Storage for VPC 과 생성한 KMS 인스턴스 간에 서비스 간 인증을 설정하십시오.

Hyper Protect Crypto Services 는 더 이상 사용되지 않습니다. 고객은 2027년 3월 20일까지 기존 인스턴스를 사용할 수 있습니다. 자세한 내용은 ‘ IBM Cloud Hyper Protect Crypto Services 의 사용 중단 ’을 참조하십시오. 지속적인 보안을 위해 기존 암호화 키를 전용 Key Protect 인스턴스로 마이그레이션하는 것을 고려해 보십시오. 자세한 내용은 마이그레이션 가이드를 참조하십시오.

다른 계정의 고객 루트 키를 사용할 수도 있습니다. ~ 안에IBM Cloud, KMS는 암호화 키를 사용하는 서비스와 동일한 계정이나 다른 계정에 있을 수 있습니다. 이 배포 패턴을 사용하면 기업은 모든 기업 계정의 암호화 키를 중앙에서 관리할 수 있습니다. 자세한 내용은 다음을 참조하세요.암호화 키 관리.

Cloud Block Storage (소스 서비스)와 고객 루트 키를 보유하고 있는 KMS 인스턴스(대상 서비스) 사이에 필요한 모든 서비스 간 권한 부여서비스 간 권한 부여서비스 간 권한 부여서비스 간 권한 부여 을 구성합니다. 다른 계정의 CRK로 볼륨을 프로비저닝하는 경우 해당 계정의 관리자에게 문의하여 인증을 설정하고 공유되는 루트 키의 CRN을 확인하세요. 사용자 지정 이미지로 인스턴스를 프로비저닝하는 경우, VPC용 이미지 서비스(소스 서비스)와 IBM Cloud® Object Storage (대상 서비스) 간에 인증도 필요합니다.

콘솔에서 고객 관리 암호화를 사용하여 데이터 볼륨 생성

이 프로시저에서는 독립형 블록 스토리지 볼륨을 작성할 때 고객 관리 암호화를 지정하는 방법에 대해 설명합니다.

  1. IBM Cloud 콘솔을 엽니다, 탐색 메뉴 아이콘 메뉴 아이콘 > 인프라 VPC 아이콘 > 스토리지 > Block Storage 볼륨를 클릭하여 Block Storage 볼륨 목록을 확인합니다.

  2. 작성을 클릭하십시오.

  3. 위치 정보를 확인하십시오. 지리, 지역, 구역은 VPC에서 상속됩니다(예: 북미, 댈러스,Dallas-1 ). 메뉴에서편집 아이콘편집 아이콘.

  4. 에서세부, 볼륨 이름과 볼륨이 추가될 리소스 그룹을 지정해야 합니다. 선택적으로 사용자 및 액세스 관리 태그를 추가할 수 있습니다.

    1. 볼륨의 의미 있는 이름을 지정하십시오. 예를 들어 컴퓨팅 또는 워크로드 기능을 설명하는 이름을 제공하십시오.

      볼륨 이름은 소문자로 시작해야 합니다. 볼륨 이름은 최대 63자의 소문자 영숫자 문자일 수 있으며 하이픈(-)을 포함할 수 있습니다. 볼륨 이름은 전체 VPC 인프라에서 고유해야 합니다. 이름은 나중에 수정할 수 있습니다.

    2. 리소스 그룹을 지정하십시오.

    3. 지정하다 사용자 태그 귀하의 리소스를 정리하고 다음 사용자가 사용할 수 있도록 백업 정책.

    4. 지정하다 액세스 관리 태그 볼륨에 대한 액세스를 관리하는 데 도움이 되도록 IAM에서 생성되었습니다.

  5. 에서선택적 구성 섹션에서는 스냅샷의 데이터로 볼륨을 생성할지 여부를 지정할 수 있습니다. 또한 백업 정책을 적용하도록 선택할 수도 있습니다.

    • 스냅샷에서 가져오기: 기존 스냅샷 가져오기을 선택하여 사용 가능한 스냅샷 목록을 보거나 CRN으로 스냅샷 가져오기을 선택하고 사용하려는 스냅샷의 CRN을 입력합니다. 부팅 불가능한 스냅샷으로 데이터 볼륨을 생성하고, 부팅 가능한 스냅샷으로 부팅 볼륨을 생성할 수 있습니다. 새로운 블록 스토리지 볼륨은 스냅샷에서 스토리지 생성 값을 상속하며, 동일한 세대의 볼륨 프로파일만 적용할 수 있습니다.
    • 백업 정책 적용: 클릭적용하다 사용 가능한 정책과 계획을 확인하세요.
  6. 에서프로필 섹션에서는 볼륨의 성능 프로필, IOPS 및 용량을 지정할 수 있습니다.

    • sdp 프로필을 선택할 수 있습니다. 그런 다음 볼륨의 용량과 필요한 IOPS를 지정합니다. 볼륨 크기는 1~32,000GB 범위입니다. 100~64,000 범위에서 IOPS를 지정할 수 있습니다. 사용자 지정 처리량 제한을 설정할 수도 있습니다.
    • 계층화된 프로필 중 하나를 선택할 수 있습니다. 범용을 선택한 후 5iops-tier 또는 10iops-tier 를 선택한 후 다음 단계는 볼륨 용량을 지정하는 것입니다. 볼륨 크기는 10~16,000GB가 될 수 있습니다.
    • 애플리케이션 성능 요구 사항이 IOPS 계층에 속하지 않는 경우 사용자 지정 프로필을 선택할 수 있습니다. 그런 다음 볼륨 용량에 적합한 범위에서 볼륨의 크기와 IOPS를 지정합니다. 볼륨 크기는 10~16,000GB가 될 수 있습니다. IOPS값을 입력하면 UI에 허용 가능한 범위가 표시됩니다. 스토리지 크기 링크를 클릭하여 사용자 지정 볼륨 프로필의 크기와 IOPS 범위를 확인할 수도 있습니다.
  7. ‘저장 중 암호화’ 섹션에서는 모든 볼륨에 기본적으로 활성화된 ‘ IBM ’ 관리 키를 사용하여 암호화를 유지하도록 선택할 수 있습니다. 또는 직접 암호화 키를 사용할 수도 있습니다. 키나 인스턴스를 변경하려면 ‘ 편집 아이콘 편집 아이콘 ’을 클릭하여 ‘ 암호화 설정 ’ 사이드 패널을 엽니다. 암호화 키를 찾으려면 다음 옵션 중 하나를 선택하십시오:

    • 인스턴스별 검색: 이 패널은 세 단계로 구성됩니다:
      1. KMS 인스턴스 선택: 이 목록에는 사용 가능한 각 Key Protect 인스턴스의 이름, ID, 유형(Standard 또는 Dedicated) 및 위치가 표시됩니다. 인스턴스를 선택한 후 ‘선택’을 클릭하십시오. 아직 인스턴스가 없다면 ‘생성’을 클릭하여 인스턴스를 프로비저닝하세요.
      2. 보조 키: 이 목록에는 사용 가능한 각 루트 키의 이름, ID, 최종 업데이트 날짜, 별칭 및 키링이 표시됩니다. 키를 선택한 다음 ‘선택’을 클릭하세요. 아직 키가 없다면 ‘새 키 생성’을 클릭하세요.
      3. 검토: 키 관리 서비스, 인스턴스 유형, 인스턴스 이름, 키 이름을 포함한 선택 사항을 확인하십시오. '서비스 권한' 섹션에서는 Block Storage for VPC 과 KMS 인스턴스 간에 필요한 권한이 이미 설정되어 있는지 여부를 확인할 수 있습니다. 그렇지 않은 경우, Key Protect 에서 권한을 자동으로 생성하도록 허용하거나 수동으로 생성할 수 있습니다. 자세한 내용은 ‘ Block Storage for VPC 에 대한 서비스 간 권한 설정’을 참조하십시오. ‘확인’을 클릭하면 선택한 내용을 적용하고 볼륨 프로비저닝 페이지로 돌아갑니다.
    • CRN으로 찾기: 볼륨 암호화에 사용할 고객 루트 키의 CRN을 입력합니다. 다른 계정의 CRK를 사용하는 경우 이 옵션을 선택하세요. ‘선택’을 클릭하면 ‘인스턴스별 검색 ’ 옵션에 설명된 검토 단계로 진행됩니다.
  8. 변경 사항이 모두 완료되면 ‘블록 스토리지 볼륨 생성’을 클릭하십시오.

콘솔에서 ‘ Block Storage ’ 볼륨 목록을 새로 고침하면, 새로운 볼륨이 ‘고객 관리형 암호화’ 유형의 볼륨 목록 맨 앞에 표시됩니다. 볼륨이 생성되면 상태가 ‘사용 가능 ’으로 표시됩니다. 독립형 볼륨의 경우, ‘부착 유형’ 열은 비어 있습니다(-). 테이블 행 끝부분에 있는 ‘작업’ 메뉴의 ‘작업’ 아이콘 하면 Block Storage 볼륨을 인스턴스에 부착할 수 있는 링크가 제공됩니다.

CLI에서 고객 관리 암호화를 사용하여 데이터 볼륨 작성

전제조건

CLI를 사용하려면 먼저 IBM Cloud CLI 및 VPC CLI 플러그인을 설치해야 합니다. 자세한 정보는 CLI 전제조건을 참조하십시오.

  1. IBM Cloud에 로그인하십시오.

    ibmcloud login --sso -a cloud.ibm.com
    

    이 명령은 URL을 리턴하고 비밀번호를 입력하라는 프롬프트를 표시합니다. 브라우저의 해당 URL로 이동하여 로그인하십시오. 성공하면 일회성 비밀번호를 얻게 됩니다. 이 비밀번호를 복사하여 메시지에 응답으로 붙여넣습니다. 인증에 성공하면 계정을 선택하도록 프롬프트가 표시됩니다. 여러 계정을 사용할 수 있는 경우, 로그인할 계정을 선택하세요. 나머지 프롬프트에 응답하여 로그인을 완료하십시오.

  2. 블록 스토리지 볼륨을 암호화하는 데 사용할 루트 키의 CRN과 같은 필수 정보를 수집하십시오.

    1. ibmcloud resource service-instances 명령을 사용하여 KMS 인스턴스를 찾으십시오.
       $ ibmcloud resource service-instances
       Retrieving all instances of all services in resource group Default and all locations under account Test Account as test.user@ibm.com...
       OK
       Name             Location   State    Type
       Key Protect-17   us-south   active   service_instance
       HS-Crypto-60     us-south   active   service_instance
    
    1. ibmcloud resource service-instance 명령을 사용하여 KMS 인스턴스의 인스턴스 ID를 검색하십시오.
       ibmcloud resource service-instance "Key Protect-17" --id
       Retrieving service instance Key Protect-17 in resource group Default under account Test Account as test.user@ibm.com...
       crn:v1:bluemix:public:kms:us-south:a/a1234567-3jkl4xxxx567::7mnxxxo8-91xx-23px-q4rs-xxtuv5w6xxx7
    

    인스턴스 ID는 CRN에서 마지막 :: 뒤에 오는 문자열입니다. 이 예제에서는 7mnxxxo8-91xx-23px-q4rs-xxtuv5w6xxx7입니다.

    1. 인스턴스 ID를 지정하여 ‘ Key Protect ’ 서비스 인스턴스에 대해 사용 가능한 키와 해당 키에 연결된 CRN을 나열합니다.
      $ ibmcloud kp keys -c --instance-id 7mnxxxo8-91xx-23px-q4rs-xxtuv5w6xxx7
      Retrieving keys...
      SUCCESS
      Key ID                                 Key Name               CRN
      ef1gxxxh-ijxx-234x-56k7-xxxxlmnoxxp8   test-key               crn:v1:bluemix:public:kms:us-south:a/a1234567:key:ef1gxxxh-ijxx-234x-56k7-xxxxlmnoxxp8
      cdex12ef-xxxg-3hxx-i456-7xxx8jk9xl12   vsi_encrypt_root_key   crn:v1:bluemix:public:kms:us-south:a/a1234567:key:cdex12ef-xxxg-3hxx-i456-7xxx8jk9xl12
      c12xxxx3-45d6-7efg-xxx8-9xxx12345x6h   vsi_encrypt_key        crn:v1:bluemix:public:kms:us-south:a/a1234567:key:c12xxxx3-45d6-7efg-xxx8-9xxx12345x6h
      

    이전 단계에 따라 계정에서 고객 루트 키의 CRN을 검색할 수 있습니다. 고객 루트 키를 다른 계정이 소유한 경우 해당 계정 관리자에게 CRN을 문의하세요.

    올바른 볼륨 이름에는 최대 63자의 소문자 영숫자 문자(a-z, 0-9) 및 하이픈(-)이 포함될 수 있습니다. 볼륨 이름은 소문자로 시작되어야 합니다. 볼륨 이름은 전체 VPC 인프라에서 고유해야 합니다.

CLI에서 고객 관리 암호화를 사용하여 데이터 볼륨 작성

CLI에서 고객 관리 암호화를 사용하여 데이터 볼륨을 생성하려면 먼저 고객 루트 키의 CRN을 수집한 다음 ibmcloud is volume-create 명령을 사용하여 --encryption-key 옵션. encryption_key 옵션에는 키 관리 서비스의 루트 키에 대한 유효한 CRN을 지정해야 합니다.

다음 예제는 사용자 관리형 암호화를 사용하여 생성된 볼륨을 보여줍니다.

ibmcloud is volume-create my-customer-key-volume custom us-east-1 --capacity 300 --iops 1500 --encryption-key crn:v1:bluemix:public:kms:us-east:a/a1234567:3b05b403-8f51-4dac-9114-c777d0a760d4:key:7a8a2761-08e3-455f-a348-144ed604bba9
Creating volume my-customer-key-volume under account Test Account as user test.user@ibm.com...
ID                                     r014-3984600c-6f4d-4940-82de-519a867fa3c0
Name                                   my-customer-key-volume
CRN                                    crn:v1:bluemix:public:is:us-east-1:a/a1234567::volume:r014-3984600c-6f4d-4940-82de-519a867fa3c0
Status                                 pending
Attachment state                       unattached
Capacity                               300
IOPS                                   1500
Bandwidth(Mbps)                        3145
Profile                                custom
Encryption key                         crn:v1:bluemix:public:kms:us-east:a/a1234567:3b05b403-8f51-4dac-9114-c777d0a760d4:key:7a8a2761-08e3-455f-a348-144ed604bba9
Encryption                             user_managed
Resource group                         defaults
Created                                2024-09-24T20:10:52+00:00
Zone                                   us-east-1
Health State                           inapplicable
Volume Attachment Instance Reference   -
Active                                 false
Adjustable Capacity States             attached
Adjustable IOPS State                  attached
Busy                                   false
Tags                                   -
Storage Generation                     1

또한 인스턴스 프로비저닝 중에 고객 관리 암호화로 볼륨을 작성할 수도 있습니다.

API를 사용하여 고객 관리 암호화로 데이터 볼륨 작성

다음 샘플 요청에 표시된 대로 VPC API 에서 /volumes 메소드를 호출하여 고객 관리 암호화로 프로그래밍 방식으로 데이터 볼륨을 작성할 수 있습니다. encryption_key 속성을 사용하여 고객 루트 키(CRK)를 지정하십시오. 예시에서는 crn:[...key:...] 로 표시되어 있습니다.

올바른 볼륨 이름에는 최대 63자의 소문자 영숫자 문자(a-z, 0-9) 및 하이픈(-)이 포함될 수 있습니다. 볼륨 이름은 소문자로 시작되어야 합니다. 볼륨 이름은 전체 VPC 인프라에서 고유해야 합니다.

다음 예는 고객 관리 암호화를 사용하여 범용 데이터 볼륨을 작성합니다.

curl -X POST \
"$vpc_api_endpoint/v1/volumes?version=2025-02-18&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
      "name": "my-volume-1",
      "iops": 100,
      "capacity": 20,
      "zone": {"name": "us-south-3"},
      "profile": {"name": "general-purpose"},
      "encryption_key":{"crn":"crn:[...key:...]"},
      "resource_group": {"id": "a342dbfb-3ea7-48d1-96e8-2825ec5feab4"}
    }

성공적인 응답은 다음 예제와 유사합니다.

{
    "id": "8948ad59-bc0f-7510-812f-5dc64f59fab8",
    "crn": "crn:[...]",
    "name": "my-volume-1",
    "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/8948ad59-bc0f-7510-812f-5dc64f59fab8",
    "capacity": 20,
    "iops": 100,
    "encryption_key": {"crn": "crn:[...key:...]"},
    "encryption": "user_managed",
    "status": "available",
    "zone": {
        "name": "us-south-3",
        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/
         us-south-3"
    },
    "profile": {
        "name": "general-purpose",
        "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/general-purpose"
    },
    "resource_group": {
        "id": "a342dbfb-3ea7-48d1-96e8-2825ec5feab4",
        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/
         a342dbfb-3ea7-48d1-96e8-2825ec5feab4",
        "name": "Default"
    },
    "storage_generation": 1,
    "volume_attachments": [],
    "created_at": "2025-02-18T16:03:22.000Z"
}

콘솔에서 고객 관리형 키로 암호화된 부팅 볼륨으로 인스턴스 프로비저닝

가상 서버 인스턴스를 프로비저닝할 때, 부팅 볼륨과 추가하려는 모든 데이터 볼륨에 대해 고객 관리형 암호화를 지정할 수 있습니다. 원하는 경우, 인스턴스와 연관된 볼륨에 대해 제공자 관리 암호화 및 고객 관리 암호화의 조합을 사용할 수 있습니다.

새 블록 스토리지 볼륨으로 인스턴스를 작성하려면 다음 단계를 따르십시오.

  1. IBM Cloud 콘솔에서 탐색 메뉴 아이콘 메뉴 아이콘 인프라 > 인프라 VPC 아이콘 > 컴퓨팅 > 가상 서버 인스턴스을 클릭합니다.

  2. 새 인스턴스클릭하여 필수 필드를 완료하십시오. 자세한 정보는 가상 서버 인스턴스 작성을 참조하십시오.

  3. '부팅 볼륨' 섹션에는 네 개의 용량 타일이 표시됩니다. 대부분의 컴퓨팅 프로필에서는 100 GB가 기본값으로 설정되어 있습니다. 사용자 지정 타일에서 편집 아이콘 편집 아이콘 클릭하여 ‘부팅 볼륨 편집 ’ 사이드 패널을 엽니다.

    2세대 스냅샷을 선택하여 볼륨을 생성한 경우, 볼륨의 암호화 유형이 스냅샷의 암호화 유형과 일치해야 합니다. 스냅샷에 공급자 관리 키가 있는 경우 키 관리 서비스의 키를 지정하지 마세요.

    1. ‘부팅 볼륨 편집’ 사이드 패널에서 볼륨 이름을 변경하고 다음 설정을 구성할 수 있습니다. 리소스 그룹과 영역은 참고용으로 표시된 것이며 변경할 수 없습니다.
      • 자동 삭제: 기본적으로 활성화되어 있습니다. 인스턴스가 삭제된 후에도 볼륨을 유지하려면 이 토글을 비활성화하세요.
      • 태그: 원하는 경우 볼륨에 사용자 태그를 추가할 수 있습니다.
    2. ‘암호화’ 카드에서는 공급자 관리형 암호화가 기본적으로 활성화되어 있습니다. 자사 암호화 키를 사용하려면 토글 버튼을 클릭하여 고객 관리형 암호화를 활성화하십시오. 이미 KMS 인스턴스와 루트 키가 있는 경우, 시스템이 이를 자동으로 선택하며 키 관리 서비스 인스턴스 이름과 키 이름을 표시합니다. 선택 항목을 변경하려면 ‘ 편집 편집 아이콘 ’을 클릭하여 ‘ 암호화 설정 ’ 사이드 패널을 엽니다. 암호화 키를 찾으려면 다음 옵션 중 하나를 선택하십시오:
      • 인스턴스별 검색: 이 패널은 세 단계로 구성됩니다:
        1. KMS 인스턴스 선택: 이 목록에는 사용 가능한 각 Key Protect 인스턴스의 이름, ID, 유형(Standard 또는 Dedicated) 및 위치가 표시됩니다. 인스턴스를 선택한 후 ‘선택’을 클릭하십시오. 아직 인스턴스가 없다면 ‘생성’을 클릭하여 인스턴스를 프로비저닝하세요.
        2. 보조 키: 이 목록에는 사용 가능한 각 루트 키의 이름, ID, 최종 업데이트 날짜, 별칭 및 키링이 표시됩니다. 키를 선택한 다음 ‘선택’을 클릭하세요. 아직 키가 없다면 ‘새 키 생성’을 클릭하세요.
        3. 검토: 키 관리 서비스, 인스턴스 유형, 인스턴스 이름, 키 이름을 포함한 선택 사항을 확인하십시오. '서비스 권한' 섹션에서는 Block Storage for VPC 과 KMS 인스턴스 간에 필요한 권한이 이미 설정되어 있는지 여부를 확인할 수 있습니다. 그렇지 않은 경우, Key Protect 에서 권한을 자동으로 생성하도록 허용하거나 수동으로 생성할 수 있습니다. 자세한 내용은 ‘ Block Storage for VPC 에 대한 서비스 간 권한 설정’을 참조하십시오. ‘확인’을 클릭하면 선택한 내용이 적용되고 ‘부팅 볼륨 편집’ 사이드 패널로 돌아갑니다.
      • CRN으로 찾기: 볼륨 암호화에 사용할 고객 루트 키의 CRN을 입력합니다. 다른 계정의 CRK를 사용하는 경우 이 옵션을 선택하세요. ‘선택’을 클릭하면 ‘인스턴스별 검색 ’ 옵션에 설명된 검토 단계로 진행됩니다.
    3. 변경 사항이 모두 완료되면 ‘저장’을 클릭하여 인스턴스 프로비저닝 페이지로 돌아가십시오.
  4. '데이터 볼륨' 섹션에서 ‘생성’을 클릭하여 데이터 볼륨을 추가하고, 고객 관리형 암호화를 지정할 수 있습니다. '데이터 볼륨 생성' 페이지에서 필수 입력란을 작성한 후, '암호화' 섹션에 있는 토글 버튼을 클릭하십시오. 변경이 완료되면 연결을 클릭하십시오.

CLI에서 고객 관리형 키로 암호화된 부팅 볼륨으로 인스턴스 프로비저닝

ibmcloud is instance-create 명령을 사용하여 부트 및 데이터 볼륨에 대한 고객 관리 암호화를 사용하여 인스턴스를 작성하십시오. 다음 구문은 다음을 지정하는 방법을 보여줍니다.--boot-volume 그리고 --volume-attach 볼륨을 정의하는 JSON 파일을 포함하는 속성입니다.

ibmcloud is instance-create INSTANCE_NAME VPC ZONE_NAME PROFILE_NAME SUBNET --image-id IMAGE_ID [--boot-volume @BOOT_VOLUME_JSON_FILE] [--volume-attach @VOLUME_ATTACH_JSON_FILE]...

다음 BOOT_VOLUME_JSON_FILE 예제는 부트 볼륨의 특성을 정의합니다. encryption key 속성에는 고객 관리형 암호화를 위한 루트 키의 CRN이 포함되어 있습니다.

{
   "name":"volume-attachment-1",
   "volume":{
      "name":"boot-volume-1",
      "capacity":250,
      "profile":{"name":"general-purpose"},
      "encryption_key":{"crn":"crn:[...key:...]"}
   },
   "delete_volume_on_instance_delete":true
}

다음 VOLUME_ATTACH_JSON_FILE 예제에서는 10iops-tier 프로파일과 고객 관리 암호화를 사용하는 데이터 볼륨을 정의합니다.

   {
      "name":"volume-attachment-1",
      "volume":{
         "name":"data-volume-1",
         "capacity":2000,
         "profile":{"name":"10iops-tier"},
         "encryption_key":{"crn":"crn:[...key:...]"}
      },
      "delete_volume_on_instance_delete":true
   }

API를 사용하여 고객 관리형 키로 암호화된 부팅 볼륨으로 인스턴스 프로비저닝

다음 샘플 요청에 표시된 대로 VPC API 에서 /instances 메소드를 호출하여 고객 관리 암호화를 프로그래밍 방식으로 사용하는 부트 볼륨으로 가상 서버 인스턴스를 작성할 수 있습니다. encryption_key 속성을 사용하여 고객 루트 키(CRK)를 지정하십시오. 예시에서는 crn:[...key:...] 로 표시되어 있습니다.

다음 예제는 고객 관리 암호화를 사용한 부트 볼륨과 고객 관리 암호화를 사용한 두 개의 보조 볼륨으로 인스턴스를 작성합니다.

curl -X POST \
 "$vpc_api_endpoint/v1/instances?version=version=2020-03-10&generation=2" \
 -H "Authorization: Bearer $iam_token" \
 -d '{
     "boot_volume_attachment":{
           "volume": {
              "name":"boot-volume-1",
              "profile": {"name": "general-purpose"},
              "encryption_key": {"crn": "crn:[...key:...]"}}},
     "volume_attachments": [
            {"volume": {
              "name": "my-volume-1",
              "capacity": 1500,
              "profile": {"name": "general-purpose"},
              "encryption_key": {"crn": "crn:[...key:...]"}}},
            {"volume": {
              "name": "my-volume-2",
              "capacity": 2000,
              "profile": {"name": "general-purpose"},
              "encryption_key": {"crn": "crn:[...key:...]"}}}],
     "image": {"id": "9aaf3bcb-dcd7-4de7-bb60-24e39ff9d366"},
     "keys": [{"id": "cf7678a3-d4fa-458b-993d-015bd4aeac80"}],
     "name": "my-test-vm2",
     "virtual_network_interface": {"subnet": {"id": "bea6a632-5e13-42a4-b4b8-31dc877abfe4"}},
     "profile": {"name": "cx2-2x4"},
     "vpc": {"id": "f0aae929-7047-46d1-92e1-9102b07a7f6f"},
     "zone": {"name": "us-south-3"}
    }'

성공적인 응답은 다음 예제와 유사합니다. 부팅 볼륨은 ‘ boot_volume_attachment ’과 ‘ volume_attachment ’ 두 곳 모두에 표시됩니다.

{
    "id": "eb1b7391-2ca2-4ab5-84a8-b92157a633b0",
    "crn": "crn:[...]",
    "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/eb1b7391-2ca2-4ab5-84a8-
     b92157a633b0",
    "name": "my-test-vm2",
    "bandwidth": 4000,
    "resource_group": {
        "id": "08b7af6d-41d9-435a-8b22-fd8f640863a5",
        "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/
         08b7af6d-41d9-435a-8b22-fd8f640863a5",
        "name": "Default"
    },
    "boot_volume_attachment": {
        "id": "a8a15363-a6f7-4f01-af60-715e85b28141",
        "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/eb1b7391-2ca2-4ab5-
         84a8-b92157a633b0/volume_attachments/7389-a8a15363-a6f7-4f01-af60-
         715e85b28141",
        "name": "volume-attachment",
        "volume": {
            "id": "49c5d61b-41e7-4c01-9b7a-1a97366c6916",
            "crn": "crn:[...]",
            "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/49c5d61b-41e7-
             4c01-9b7a-1a97366c6916",
            "name": "boot-volume-1"
        }
    },
    "created_at": "2020-04-20T16:11:57Z",
    "image": {
        "id": "9aaf3bcb-dcd7-4de7-bb60-24e39ff9d366",
        "crn": "crn:[...]",
        "href": "https://us-south.iaas.cloud.ibm.com/v1/images/
         9aaf3bcb-dcd7-4de7-bb60-24e39ff9d366",
        "name": "ubuntu-amd64-1"
    },
    "memory": 4,
    "network_interfaces": [
        {
            "id": "7ca88dfb-8962-469d-b1de-1dd56f4c3275",
            "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/e402fa1b-96f6-
             4aa2-a8d7-703aac843651/network_interfaces/7ca88dfb-8962-469d-b1de-
             1dd56f4c3275",
            "name": "helpless-profanity-unmixable-fool-hazard-staging",
            "primary_ipv4_address": "",
            "subnet": {
                "id": "bea6a632-5e13-42a4-b4b8-31dc877abfe4",
                "crn": "crn:[...]",
                "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/7389-bea6a632-
                 5e13-42a4-b4b8-31dc877abfe4",
                "name": "my-byok-vpc-subnet"
            }
        }
    ],
    "primary_network_interface": {
        "id": "7ca88dfb-8962-469d-b1de-1dd56f4c3275",
        "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/e402fa1b-96f6-4aa2-
         a8d7-703aac843651/network_interfaces/7ca88dfb-8962-469d-b1de-1dd56f4c3275",
        "name": "network-interface-1",
        "primary_ipv4_address": "10.0.0.32",
        "subnet": {
            "id": "bea6a632-5e13-42a4-b4b8-31dc877abfe4",
            "crn": "crn:[...]",
            "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/bea6a632-5e13-
             42a4-b4b8-31dc877abfe4",
            "name": "my-byok-vpc-subnet"
        }
    },
    "profile": {
        "name": "cx2-2x4",
        "href": "https://us-south.iaas.cloud.ibm.com/v1/instance/profiles/cx2-2x4"
    },
    "status": "running",
    "vcpu": {
        "architecture": "amd64",
        "count": 2
    },
    "volume_attachments": [
        {
            "id": "a8a15363-a6f7-4f01-af60-715e85b28141",
            "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/e402fa1b-96f6-
             4aa2-a8d7-703aac843651/volume_attachments/7389-a8a15363-a6f7-4f01-af60-
             715e85b28141",
            "name": "volume-attachment",
            "volume": {
                "id": "49c5d61b-41e7-4c01-9b7a-1a97366c6916",
                "crn": "crn:[...]",
                "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/49c5d61b-41e7-
                 4c01-9b7a-1a97366c6916",
                "name": "boot-volume-1"
            }
        },
        {
            "id": "e77125cb-4df0-4988-a878-531ae0ae0b70",
            "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/e402fa1b-96f6-
             4aa2-a8d7-703aac843651/volume_attachments/7389-e77125cb-4df0-4988-a878-
             531ae0ae0b70",
            "name": "volume-attachment",
            "volume": {
                "id": "2cc091f5-4d46-48f3-99b7-3527ae3f4392",
                "crn": "crn:[...]",
                "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/2cc091f5-4d46-
                 48f3-99b7-3527ae3f4392",
                "name": "my-volume-2"
            }
        },
        {
            "id": "a7641494-5724-46de-9c72-c6b16971ddf4",
            "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/e402fa1b-96f6-
             4aa2-a8d7-703aac843651/volume_attachments/a7641494-5724-46de-9c72-
             c6b16971ddf4",
            "name": "volume-attachment",
            "volume": {
                "id": "ec419496-d79e-4fca-bce7-b4be72e77654",
                "crn": "crn:[...]",
                "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/ec419496-d79e-
                 4fca-bce7-b4be72e77654",
                "name": "my-volume-2"
            }
        }
    ],
    "vpc": {
        "id": "f0aae929-7047-46d1-92e1-9102b07a7f6f",
        "crn": "crn:[...]",
        "href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/f0aae929-7047-46d1-92e1-
         9102b07a7f6f",
        "name": "my-byok-vpc"
    },
    "zone": {
        "name": "us-south-3",
        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/
         us-south-3"
    }
}

Terraform을 사용하여 고객 관리 암호화로 데이터 볼륨 생성

전제조건

Terraform을 사용하려면 Terraform CLI를 다운로드하고 IBM Cloud® 공급자 플러그인을 구성하세요. 자세한 내용은 다음을 참조하세요.Terraform 시작하기.

VPC 인프라 서비스는 다음을 목표로 하는 특정 지역 엔드포인트를 사용합니다.us-south 기본적으로. VPC가 다른 지역에서 생성된 경우 다음의 공급자 블록에서 적절한 지역을 대상으로 지정해야 합니다.provider.tf 파일. 기본 지역이 아닌 지역을 타겟팅하는 다음 예를 참조하세요.us-south.

provider "ibm" {
  region = "eu-de"
}

고유한 볼륨 이름과 같은 필수 정보를 수집하고 프로필, 용량 및 IOPS 요구 사항을 결정합니다.

올바른 볼륨 이름에는 최대 63자의 소문자 영숫자 문자(a-z, 0-9) 및 하이픈(-)이 포함될 수 있습니다. 볼륨 이름은 소문자로 시작되어야 합니다. 볼륨 이름은 전체 VPC 인프라에서 고유해야 합니다.

ibm_kms_key 데이터 소스를 참조하여 암호화를 위한 고객 루트 키의 CRN을 검색합니다. 자세한 내용은 Terraform 설명서를 참조하세요. ibm_kms_key. KMS가 다른 지역에 있거나 고객 루트 키를 다른 계정이 소유한 경우 Terraform에서 인스턴스를 검색할 수 없으며 Terraform 작업이 실패합니다. CRN에 대해서는 다른 계정의 관리자에게 문의하세요.

독립 실행형 만들기Block Storage for VPC Terraform을 사용한 볼륨

생성하려면Block Storage for VPC 볼륨을 사용하세요.ibm_is_volume 자원. 다음 예에서는 다음을 사용하여 볼륨을 생성합니다.custom 프로필. 생성된 볼륨의 용량은 200MB이며 1000 IOPS를 수행할 수 있습니다.

resource "ibm_is_volume" "example" {
  name           = "my-example-volume"
  profile        = "custom"
  zone           = "us-south-1"
  iops           = 1000
  capacity       = 200
  encryption_key = "crn:v1:bluemix:public:kms:us-south:a/a1234567:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
}

인수 및 속성에 대한 자세한 내용은 다음을 참조하세요.ibm_is_volume.

다음 단계