개인용 카탈로그에서 사용자 정의 이미지 사용 시 VPC 고려사항

엔터프라이즈 내의 다른 계정에 사용자 정의 이미지를 공유하거나 공개하려는 경우 개인용 카탈로그를 작성해야 합니다. 비공개 카탈로그를 사용하면 동일한 기업 내의 여러 계정에 대해 제품 접근 권한을 관리할 수 있습니다. 암호화된 이미지를 제외하고, 기존 x86 가상 서버 사용자 지정 이미지를 비공개 카탈로그와 공유할 수 있습니다.

콘솔에서 ‘ 탐색 메뉴 ’ 아이콘( 메뉴 아이콘 > 인프라 VPC 아이콘 > 컴퓨팅 > 이미지 > 이미지 카탈로그)을 클릭하면 비공개 카탈로그에 있는 사용자 지정 이미지를 확인할 수 있습니다.

개인용 카탈로그에 대한 자세한 정보는 VPC용 가상 서버 이미지 온보딩 튜토리얼을 참조하십시오.

사용자 정의 이미지를 IBM Cloud® 카탈로그 및 기타 (비엔터프라이즈) 계정에 공개할 수도 있습니다. 이 프로세스를 수행하려면 IBM Cloud® Partner Center 에 온보딩해야 합니다.

전제조건 및 제한사항

사용자 정의 이미지를 개인용 카탈로그로 가져오기 전에 다음 항목을 완료해야 합니다.

  • 개인용 카탈로그 작성
  • 사용자 정의 이미지를 작성하여 IBM Cloud VPC 로 가져오기

개인용 카탈로그의 사용자 정의 이미지에는 다음과 같은 제한사항이 있습니다.

  • x86 이미지여야 합니다.
  • 암호화할 수 없습니다.
  • Bare Metal 프로파일과 함께 사용할 수 없음
  • 한 번에 하나의 개인용 카탈로그에 있는 하나의 카탈로그 제품 오퍼링의 한 버전에만 존재할 수 있습니다.
  • available 상태여야 합니다.

콘솔의 비공개 카탈로그에서 교차 계정 이미지 참조 사용

사용자가 프로비저닝하는 인스턴스는 사용자의 계정에 속합니다. 개인용 카탈로그를 통해 계정에 공유되는 이미지는 다른 계정에 속할 수 있습니다. 다른 계정에 속하는 이미지 또는 이러한 이미지를 지정하는 인스턴스 템플리트에서 인스턴스를 프로비저닝하는 경우 인스턴스가 사용자 계정에 속하더라도 이미지는 여전히 다른 계정에 속합니다. 이러한 이미지에 대한 참조는 인스턴스 및 관련 자원의 세부사항에 존재할 수 있습니다. 예를 들어, 부트 볼륨 및 해당 부트 볼륨에서 작성된 스냅샷에 대한 세부사항이 해당 이미지를 참조할 수 있습니다. 권한 부여에 관계없이 해당 ID 또는 CRN으로 참조된 이미지에 액세스할 수 없으며 이미지가 존재하지 않는 것처럼 시도가 실패합니다.

또한 참조된 이미지가 계정의 사용자 정의 이미지와 동일한 이름을 가질 수 있습니다. 그러나 이 이미지 이름은 두 개의 서로 다른 계정에 있는 두 개의 서로 다른 이미지에 대한 것입니다. ID및 CRN은 각각 IBM Cloud®에서 이미지를 고유하게 식별합니다. 잘못된 이미지를 검색하거나 사용하지 않으려면 UI 외부에서 이미지의 ID를 잘라내어 붙여넣을 때 이름이 아닌 ID 또는 CRN을 사용하십시오.

CLI의 개인용 카탈로그에서 교차 계정 이미지 참조 사용

사용자가 프로비저닝하는 인스턴스는 사용자의 계정에 속합니다. 개인용 카탈로그를 통해 계정에 공유되는 이미지는 다른 계정에 속할 수 있습니다. 다른 계정에 속하는 이미지 또는 이러한 이미지를 지정하는 인스턴스 템플리트에서 인스턴스를 프로비저닝하는 경우 인스턴스가 사용자 계정에 속하더라도 이미지는 여전히 다른 계정에 속합니다. 이러한 이미지에 대한 참조는 인스턴스 및 관련 자원의 세부사항에 존재할 수 있습니다. 예를 들어, 부트 볼륨 및 해당 부트 볼륨에서 작성된 스냅샷에 대한 세부사항이 해당 이미지를 참조할 수 있습니다. 권한에 관계없이 ID로 이 유형의 사용자 정의 이미지에 액세스할 수 없으며 이미지가 존재하지 않는 것처럼 시도가 실패합니다.

이미지 참조는 CLI의 몇 가지 다른 위치에서 사용됩니다. 예를 들어, ibmcloud is instance 명령을 사용하여 인스턴스 데이터를 검색하는 경우 출력 내에 다음이 표시됩니다.

Image                                 ID                                          Name
                                      r006-6cab2dbd-4e57-4dc5-810b-b7366cb78999   test-image

해당 ID를 사용하여 이 이미지에 대한 정보를 검색하려는 경우,

ibmcloud is image r006-6cab2dbd-4e57-4dc5-810b-b7366cb78999

이 시도는 다음 예제와 같은 오류로 실패합니다.

FAILED
Response HTTP Status Code: 404
Error code: not_found
Error message: The requested resource does not exist, or cannot be accessed.
Error target name: id, type: parameter
Trace ID: d8b4d382-2993-4a89-a371-1db991b510d8

이 오류는 계정에 이미지가 없음을 의미합니다. 인스턴스가 다른 계정의 공유 카탈로그 이미지를 사용하여 프로비저닝된 경우 이 출력은 이미지가 소유 계정에 있는 경우에도 항상 표시되는 출력입니다.

또한 참조된 이미지가 계정의 사용자 정의 이미지와 동일한 이름을 가질 수 있습니다. 그러나 이 이미지 이름은 두 개의 서로 다른 계정에 있는 두 개의 서로 다른 이미지에 대한 것입니다. CLI는 ID와 이름을 모두 사용하여 이미지를 식별하지만 ID만 IBM Cloud®에서 이미지를 고유하게 식별합니다.

CLI 기반 자동화가 이미지 참조 검색 실패를 단계적으로 처리하는지 확인하고 이미지에 대한 전체 액세스 권한으로 실행되는 경우에도 액세스할 수 없는 이미지가 삭제되었다고 가정하지 마십시오. 이름별로 잘못된 이미지를 검색하거나 사용하지 않으려면 대신 이미지 ID를 지정하십시오.

API의 개인용 카탈로그에서 교차 계정 이미지 참조 사용

프로비저닝하는 인스턴스는 계정에 속합니다. 개인용 카탈로그를 통해 계정에 공유되는 이미지는 다른 계정에 속할 수 있습니다. 다른 계정에 속하는 이미지 또는 이러한 이미지를 지정하는 인스턴스 템플리트에서 인스턴스를 프로비저닝하는 경우 인스턴스가 사용자 계정에 속하더라도 이미지는 여전히 다른 계정에 속합니다. 이러한 이미지에 대한 참조는 인스턴스 및 관련 자원의 세부사항에 존재할 수 있습니다. 예를 들어, 부트 볼륨 및 해당 부트 볼륨에서 작성된 스냅샷에 대한 세부사항은 해당 이미지를 참조할 수 있습니다. 권한에 관계없이 id, crn 또는 href 로 이러한 이미지에 액세스할 수 없으며 이미지가 존재하지 않는 것처럼 시도가 실패합니다.

API에서 이미지 참조는 Instance 및 BareMetalServerInitialization 응답 스키마의 image 특성과 같은 위치와 Volume 및 Snapshot 응답 스키마의 source_image 특성에 표시됩니다. 다음 예제에서는 인스턴스 데이터 검색을 사용하여 이 오류가 발생하는 방법을 설명합니다.

curl -X GET "$vpc_api_endpoint/v1/instances/r006-44905aa4-119d-5622-00ce-face32b78999?version=2022-09-06&generation=2" -H "Authorization: Bearer $iam_token" | jq -r '(.image)'

이 예에서는 jqMIT 라이센스를 통해 라이센스가 부여된 써드파티 도구인 를 구문 분석기로 사용합니다. 일부 운영 체제에서는 기본적으로 ‘ jq ’가 포함되어 있지 않습니다. 사용하기 전에 jq 를 설치하거나 다른 JSON 파서를 대신 사용하십시오.

이 명령을 실행하면 다음 출력이 표시됩니다.

{
  "crn": "crn:v1:bluemix:public:is:us-south:a/123456::image:r006-6cab2dbd-4e57-4dc5-810b-b7366cb78999",
  "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-6cab2dbd-4e57-4dc5-810b-b7366cb78999",
  "id": "r006-6cab2dbd-4e57-4dc5-810b-b7366cb78999",
  "name": "test-image"
}

id 를 사용하여 이 이미지에 대한 정보를 검색하려는 경우,

curl -X GET "$vpc_api_endpoint/v1/images/r006-6cab2dbd-4e57-4dc5-810b-b7366cb78999?version=2022-09-06&generation=2" -H "Authorization: Bearer $iam_token"

그러면 이 시도는 HTTP 상태 코드 404(찾을 수 없음)로 실패합니다. 이 상태 코드는 이미지가 계정에 없음을 의미합니다. 인스턴스가 다른 계정의 공유 카탈로그 이미지를 사용하여 프로비저닝된 경우 이 응답은 이미지가 여전히 소유 계정에 있는 경우에도 항상 수신되는 응답입니다.

또한 참조된 이미지가 계정의 사용자 정의 이미지와 동일한 이름을 가질 수 있습니다. 그러나 이 이미지 이름은 두 개의 서로 다른 계정에 있는 두 개의 서로 다른 이미지에 대한 것입니다. id, crn 및 href 는 각각 IBM Cloud®에서 이미지를 고유하게 식별합니다.

클라이언트가 이미지 참조 검색 실패를 단계적으로 처리하고 액세스할 수 없는 이미지가 이미지에 대한 전체 액세스 권한으로 실행되는 경우에도 삭제되었다고 가정하지 않는지 확인하십시오. name 에서 잘못된 이미지를 검색하거나 사용하지 않도록 하려면 대신 이미지 id, crn 또는 href 를 지정하십시오.

Terraform의 개인용 카탈로그에서 교차 계정 이미지 참조 사용

프로비저닝하는 인스턴스는 계정에 속합니다. 개인용 카탈로그를 통해 계정에 공유되는 이미지는 다른 계정에 속할 수 있습니다. 다른 계정에 속하는 이미지 또는 이러한 이미지를 지정하는 인스턴스 템플리트에서 인스턴스를 프로비저닝하는 경우 인스턴스가 사용자 계정에 속하더라도 이미지는 여전히 다른 계정에 속합니다. 이러한 이미지에 대한 참조는 인스턴스 및 관련 자원의 세부사항에 존재할 수 있습니다. 예를 들어, 부트 볼륨 및 해당 부트 볼륨에서 작성된 스냅샷에 대한 세부사항이 해당 이미지를 참조할 수 있습니다. 권한에 관계없이 ID로 이 유형의 사용자 정의 이미지에 액세스할 수 없으며 이미지가 존재하지 않는 것처럼 시도가 실패합니다.

이미지 참조는 테라폼의 몇 가지 다른 위치에서 사용됩니다. 예를 들어, 인스턴스 데이터 소스 를 사용하여 인스턴스 데이터를 검색하는 경우 데이터 소스 응답 내에 다음이 표시됩니다.

"image": "r006-e0d3b6fb-5421-4421-9061-0ca9f79a4990"

데이터 소스 를 사용하여 이 이미지에 대한 정보를 검색하려는 경우,

data "ibm_is_image" "example" {
  identifier = "r006-e0d3b6fb-5421-4421-9061-0ca9f79a4990"
}

이 시도는 다음 예제와 같은 오류로 실패합니다.

Error: [ERROR] No image found with id  r006-e0d3b6fb-5421-4421-9061-0ca9f79a4990

이 오류는 계정에 이미지가 없음을 의미합니다. 인스턴스가 다른 계정의 공유 카탈로그 이미지를 사용하여 프로비저닝된 경우 이 출력은 이미지가 여전히 소유 계정에 있는 경우에도 항상 표시되는 출력입니다.

또한 참조된 이미지가 계정의 사용자 정의 이미지와 동일한 이름을 가질 수 있습니다. 그러나 이 이미지 이름은 두 개의 서로 다른 계정에 있는 두 개의 서로 다른 이미지에 대한 것입니다. 테라폼이 ID 또는 이름을 둘 다 사용하여 이미지를 식별하는 반면, ID만이 IBM Cloud®에서 이미지를 고유하게 식별합니다. 이름별로 잘못된 이미지를 검색하거나 사용하지 않으려면 대신 이미지 ID를 지정하십시오. 자세한 정보는 이미지 데이터 소스 를 참조하십시오.

개인용 카탈로그에서 사용자 정의 이미지 삭제

사용자 정의 이미지가 개인용 카탈로그에서 관리되는 동안에는 사용자 정의 이미지를 삭제하거나 다른 버전에 재사용하거나 다른 제품 오퍼링에 재사용할 수 없습니다.

제품 오퍼링을 직접 포함하는 개인용 카탈로그를 삭제해도 오퍼링이 즉시 제거되지 않습니다. 개인용 카탈로그에 의해 관리되는 사용자 정의 이미지는 개인용 카탈로그를 삭제한 날짜 이후 7일동안 카탈로그에 의해 계속 관리됩니다.

사용자 정의 이미지를 즉시 재사용하거나 삭제하려면 먼저 개인용 카탈로그 제품 오퍼링의 연관된 버전에서 해당 사용자 정의 이미지를 제거하거나 제품 오퍼링을 삭제해야 합니다.

개인용 카탈로그에서 공개되거나 공유된 사용자 정의 이미지를 삭제하려면 개인용 제품 사용 중단 학습을 참조하십시오. 전체 개인용 카탈로그를 삭제하려면 콘솔을 사용하여 개인용 카탈로그 삭제 학습을 참조하십시오.

인스턴스 그룹 및 개인용 카탈로그

개인용 카탈로그에서 사용자 정의 이미지를 사용하여 인스턴스 그룹을 작성할 수 있습니다. 그러나 인스턴스 그룹을 작성하려면 먼저 globalcatalog-collection.instance.retrieve 에 대한 서비스 대 서비스 정책을 작성해야 합니다. 자세한 정보는 인스턴스 그룹이 있는 개인용 카탈로그에서 사용자 정의 이미지 사용 을 참조하십시오.

인스턴스 프로비저닝에 사용된 개인용 카탈로그에 있는 사용자 정의 이미지에 대한 정보가 모든 IBM Cloud VPC 리소스에서 지속되지 않습니다. 개인용 카탈로그의 사용자 정의 이미지에 대한 정보는 VPC의 스냅샷 또는 볼륨의 이미지에서 사용할 수 없습니다. 가상 서버를 프로비저닝할 때 필요한 운영 체제 정보를 사용할 수 있습니다.

개인용 카탈로그로 사용자 정의 이미지 가져오기

사용자 정의 이미지를 IBM Cloud VPC로 가져온 후 해당 사용자 정의 이미지를 개인용 카탈로그로 가져올 수 있습니다.