인스턴스 템플리트 작성
인스턴스 템플릿을 생성하여 하나 이상의 가상 서버를 프로비저닝할 인스턴스 세부 정보를 정의할 수 있습니다. 인스턴스 템플리트가 작성되면 이를 사용하여 단일 가상 서버 인스턴스를 프로비저닝하거나 인스턴스 그룹의 일부로 동시에 여러 인스턴스를 프로비저닝할 수 있습니다.
UI를 사용하여 인스턴스 템플리트 작성
인스턴스 템플리트는 템플리트에서 작성된 가상 서버 인스턴스의 세부사항을 정의합니다. 예를 들어, 이미지 템플리트에 대한 프로파일(vCPU 및 메모리), 이미지, 첨부된 볼륨 및 네트워크 인터페이스를 지정하십시오.
인스턴스 템플리트를 작성하려면 다음 단계를 완료하십시오.
- IBM Cloud 콘솔에서 탐색 메뉴 아이콘
인프라 > 인프라
> 계산 > 인스턴스 템플릿을 클릭합니다.
- 새 인스턴스 템플릿을 클릭하고 표 1에 있는 정보를 입력하십시오.
- 정보가 완료되면 인스턴스 템플리트 작성을 클릭하십시오.
인스턴스 템플릿을 생성할 때, 해당 템플릿을 사용하여 가상 서버 인스턴스를 프로비저닝할 수 있는지 확인하기 위한 유효성 검사 단계가 수행됩니다.
| 필드 | 값 |
|---|---|
| 위치 | 위치는 지역(특정 지리적 영역) 및 구역(지역 내 결함 허용 데이터 센터)으로 구성됩니다. 가상 서버 인스턴스를 생성할 지리적 위치, 지역 및 구역을 선택하십시오. |
| 이름 | 가상 서버 인스턴스에 필요한 이름입니다. |
| 리소스 그룹 | 인스턴스의 리소스 그룹을 선택하십시오. |
| 이미지 |
이미지 변경 을 클릭하여 이미지를 선택하십시오. 이미지 선택 페이지에서 재고 이미지, 사용자 정의 이미지, 카탈로그 이미지, 스냅샷 또는 기존 볼륨을 선택할 수 있습니다. 인스턴스를 프로비저닝하는 지리적 위치가 이를 지원하는 경우 다음을 선택할 수 있습니다.* x86* 또는* s390x* 건축학. 이미지를 선택한 후 저장을 클릭하십시오.
|
| 프로파일 | 딸깍 하는 소리 프로필 변경 사용 가능한 모든 것 중에서 선택하려면 vCPU 및 RAM 조합. 프로파일 패밀리는 Flex, Balanced, Compute, Memory, Ultra High Memory, Very High Memory, GPU 및 Confidential Compute입니다. 자세한 정보는 프로파일을 참조하십시오. |
| SSH 키 | 기존 공용 SSH키를 선택하거나 SSH키 작성 을 클릭하여 새 키를 작성해야 합니다. RSA SSH키만 작성할 수 있습니다. 을 위한 ED25519 SSH 키의 경우 키 정보를 업로드해야 합니다. SSH키 작성에 대한 자세한 정보는 UI를 사용하여 SSH키 작성 을 참조하십시오. SSH 키는 인스턴스가 실행 중일 때 안전하게 연결하는 데 사용됩니다.
참고:** 영숫자 조합은 100자로 제한됩니다. SSH 키는 RSA 또는 Ed25519 중 하나를 사용할 수 있습니다. Ed25519는 운영 체제가 이 키 유형을 지원하는 경우에만 사용할 수 있습니다. ED25519 Windows 또는 VMware 이미지와 함께 사용할 수 없습니다. 자세한 내용은 다음을 참조하세요. SSH 키 시작하기. |
| 부트 볼륨 | 모든 프로파일에 대한 기본 부트 볼륨 크기는 100GB입니다. 이미지에서 허용되는 용량에 따라 더 큰 부트 볼륨 용량(최대 250GB)을 지정할 수 있습니다. 사용자 태그를 지정할 수도 있습니다. |
| 데이터 볼륨 | 인스턴스를 프로비저닝할 때 포함할 하나 이상의 보조 데이터 볼륨을 추가할 수 있습니다. 볼륨을 추가하려면 작성을 클릭하십시오. 볼륨에 대한 고객 관리 암호화 및 사용자 태그를 지정할 수 있습니다. |
| Virtual Private Cloud | 인스턴스를 작성할 IBM Cloud VPC를 지정합니다. 기존의 VPC를 사용하거나 새 VPC를 작성할 수 있습니다. 새 VPC를 작성하려면 새 VPC를 클릭하십시오. |
| 네트워크 인터페이스 | IBM Cloud VPC.에 대한 네트워킹 연결을 정의합니다. 기본적으로 인스턴스 템플리트에 대해 새 옵션 가상 네트워크 인터페이스가 있는 네트워크 연결 이 선택됩니다. 또는 레거시 옵션 인스턴스 네트워크 인터페이스를 선택할 수 있습니다. 가상 서버를 프로비저닝할 때 선택하는 네트워크 인터페이스 옵션의 유형은 가상 서버의 라이프사이클을 통해 지속됩니다. 네트워크
인터페이스 유형을 선택한 후 수정 아이콘 |
| 사용자 데이터 | 자동으로 공통 구성 태스크를 수행하거나 스크립트를 실행하는 사용자 데이터를 추가할 수 있습니다. 자세한 정보는 사용자 데이터를 참조하십시오. |
| 메타데이터 | 기본적으로 비활성화되어 있으며, 이 템플릿으로 생성된 인스턴스가 자체에 대한 메타데이터를 수집하도록 허용합니다. 토글을 클릭하여 메타데이터 서비스를 켭니다. 자세한 내용은 VPC용 메타데이터 정보를 참조하세요. |
| 전용 호스트에 추가 | 가상 서버 인스턴스를 전용 호스트에 추가하여 단일 테넌트 공간에 인스턴스를 생성할 수 있습니다. 전용 인스턴스를 프로비저닝하려면 사용 가능한 전용 호스트가 있거나 하나를 작성해야 합니다. |
| 배치 그룹에 추가 | 인스턴스에 대한 배치 그룹을 선택할 수 있습니다. 배치 그룹을 사용하려면 전환을 클릭하십시오. 그런 다음 인스턴스에 대한 배치 그룹을 선택하거나 작성하십시오. 배치 그룹을 추가하는 경우 배치 그룹 전략에 따라 인스턴스가 배치됩니다. 자세한 정보는 배치 그룹 정보를 참조하십시오. |
| 동적 볼륨 대역폭 할당 새 | 토글을 클릭하여 연결된 데이터 볼륨에 대해 풀링된 볼륨 대역폭 할당을 사용하도록 설정합니다. 이 기능은 일부 컴퓨팅 프로필에 대해 지원됩니다. |
| 호스트 실패 자동 재시작 | 이 설정은 |
| 기본적으로 사용으로 설정됩니다. 호스트 실패 자동 다시 시작을 사용하지 않으려면 전환을 클릭하십시오. 자세한 정보는 호스트 장애 복구 정책을 참조하십시오. |
CLI를 사용하여 인스턴스 템플리트 작성
인스턴스 템플리트는 템플리트에서 작성된 가상 서버 인스턴스의 세부사항을 정의합니다. 예를 들어, 인스턴스 템플릿에 대한 프로필( vCPU 및 메모리), 이미지, 연결된 볼륨 및 네트워크 인터페이스를 지정합니다. 명령행 인터페이스(CLI)를 사용하여 IBM Cloud VPC에서 하나 이상의 인스턴스 템플리트를 작성할 수 있습니다.
개인용 카탈로그에서 공유되는 사용자 정의 이미지를 사용하여 가상 서버 인스턴스를 작성하는 방법에 대한 자세한 정보는 개인용 카탈로그 이미지에서 프로비저닝 을 참조하십시오.
시작하기 전에
IBM Cloud® CLI 환경 및 IBM Cloud VPC를 설정했는지 확인하십시오.
인스턴스 템플리트 작성을 위한 정보 수집
인스턴스 템플리트를 작성할 준비가 되셨습니까? 실행하기 전에 ibmcloud is instance-template-create 명령을 사용하려면 인스턴스 템플릿 및 명령 옵션에 포함해야 하는 세부 정보를 수집해야 합니다. 예를 들어 VPC의 ID나 이름, 인스턴스 템플릿이 생성될 영역의 이름이 필요합니다. 또한 사용하려는 인스턴스 프로파일의 이름과 템플릿이 생성될 서브넷의 ID 또는 이름도 필요합니다.
다음과 같은 필수 인스턴스 템플리트 세부사항을 수집하십시오.
| 인스턴스 템플리트 세부사항 | 명령 나열 | VPC CLI 참조 문서 |
|---|---|---|
| VPC | ibmcloud is vpcs |
모든 VPC 나열 |
| 구역 | ibmcloud is zones |
지역의 모든 구역 나열 |
| 프로파일 | ibmcloud is instances |
모든 가상 서버 인스턴스 나열 |
| 서브넷 | ibmcloud is subnets |
모든 서브넷 나열 |
| 이미지 | ibmcloud is image |
모든 이미지 나열 |
| 키 | ibmcloud is keys |
모든 키 나열 |
| 배치 그룹 | ibmcloud is placement-groups |
모든 배치 그룹 나열 |
인스턴스 템플릿을 생성하는 데 필요한 정보를 확인하려면 다음 명령을 사용하십시오.
-
계정과 연관된 지역을 나열하십시오.
ibmcloud is regions다음 예를 참조하십시오.
$ ibmcloud is regions Listing regions under account Test Account as user test.user@ibm.com... Name Endpoint Status au-syd https://au-syd.iaas.cloud.ibm.com available br-sao https://br-sao.iaas.cloud.ibm.com available ca-tor https://ca-tor.iaas.cloud.ibm.com available eu-de https://eu-de.iaas.cloud.ibm.com available eu-es https://eu-es.iaas.cloud.ibm.com available eu-gb https://eu-gb.iaas.cloud.ibm.com available jp-osa https://jp-osa.iaas.cloud.ibm.com available jp-tok https://jp-tok.iaas.cloud.ibm.com available us-east https://us-east.iaas.cloud.ibm.com available us-south https://us-south.iaas.cloud.ibm.com available -
대상 리젼으로 전환하십시오.
ibmcloud target -r <region-name> -
대상 영역과 연관된 구역을 나열하십시오.
ibmcloud is zones다음 예시에서 명령어는 리전에서
us-south실행되며, 출력 결과는 해당 리전에 속한 사용 가능한 존들을 보여줍니다.$ ibmcloud is zones Listing zones in target region us-south under account Test Account as user test.user@ibm.com... Name Region Status us-south-1 us-south available us-south-2 us-south available us-south-3 us-south available -
계정과 연관된 IBM Cloud VPC를 나열하십시오.
ibmcloud is vpcs이 예에서는 다음 결과물과 유사한 응답을 확인할 수 있습니다.
ID Name Status Classic access Default network ACL Default security group Resource group r006-0d37163a-701d-4ad6-9ece-a3e34cf28935 cdl available false acl-test-1 pedicure-budding-providing-excluded Default r006-212def4b-93f0-4b9a-a331-94178b99d474 cli-test-1 available false surprise-pacifier-cubicle-demystify foyer-alongside-rug-zen Default사용 가능한 VPC가 없으면
ibmcloud is vpc-create명령을 사용하여 IBM Cloud VPC를 작성할 수 있습니다. IBM Cloud VPC 작성에 대한 자세한 정보는 IBM Cloud VPC CLI 참조를 참조하십시오. -
인스턴스 템플리트 작성을 위해 사용 가능한 프로파일을 나열하십시오.
ibmcloud is instance-profiles명령어 출력은 다음과 같은 예시와 유사합니다.
Name vCPU Manufacturer Architecture Family vCPUs Memory(GiB) Bandwidth(Mbps) Volume bandwidth(Mbps) GPUs Storage(GB) bx2-2x8 intel amd64 balanced 2 8 4000 1000 - - bx2d-2x8 intel amd64 balanced 2 8 4000 1000 - 1x75 bx2-4x16 intel amd64 balanced 4 16 8000 2000 - - bx2d-4x16 intel amd64 balanced 4 16 8000 2000 - 1x150 bx2-8x32 intel amd64 balanced 8 32 16000 4000 - - bx2d-8x32 intel amd64 balanced 8 32 16000 4000 - 1x300 bx2-16x64 intel amd64 balanced 16 64 32000 8000 - - bx2d-16x64 intel amd64 balanced 16 64 32000 8000 - 1x600 -
IBM Cloud VPC와 연관된 서브넷을 나열하십시오.
ibmcloud is subnets명령어 출력은 다음과 같은 예시와 유사합니다.
ID Name Status Subnet CIDR Addresses ACL Public Gateway VPC Zone Resource group 0717-cd4f74f1-bfae-423a-886b-9163256ec4a9 subnet-south-1 available 10.240.0.0/24 124/256 acl-test-1 - cdl us-south-1 Default 0727-9447a2c3-efb8-44d2-a180-115531e0b0d3 cdl available 10.240.64.0/24 238/256 acl-test-1 - cdl us-south-2 Default인스턴스 그룹의 최적 성능을 위해 서브넷 크기를 32 이상으로 설정하십시오.
사용 가능한 서브넷이 없으면
ibmcloud is subnet-create명령을 사용하여 서브넷을 작성할 수 있습니다. 서브넷 생성 방법에 대한 자세한 내용은 CLI 참조 IBM Cloud VPC 문서를 참조하십시오. -
인스턴스 템플리트 작성을 위해 사용 가능한 이미지를 나열하십시오.
ibmcloud is images명령어 출력은 다음과 같은 예시와 유사합니다.
ID Name Status Arch OS name OS version File size(GB) Visibility Encryption Resource group Catalog Offering User Data Format Remote Account ID r006-3fa3bea4-7f9c-4eeb-8248-ab1f6e03185b my-test-image available amd64 centos-7-amd64 7.x - Minimal Install 1 private none Default - cloud_init r006-c55167af-ea8c-4c27-871f-ccc9c868753e ibm-centos-stream-8-amd64-1 available amd64 centos-stream-8-amd64 8 2 public none Default - cloud_init 811f8abfbd32425597dc7ba40da98fa6 -
인스턴스와 연관할 수 있는 사용 가능한 SSH 키를 나열하십시오.
ibmcloud is keys명령어 출력은 다음과 같은 예시와 유사합니다.
ID Name Type Length FingerPrint Resource group r006-89ec781c-9630-4f76-b9c4-a7d204828d61 my-key rsa 4096 gtnf+pdX2PYI9Ofq.. DefaultSSH 키가 없는 경우, ibmcloud is key-create 명령어를 사용하여 SSH 키를 생성할 수 있습니다.
RSA와 ED25519 는 사용할 수 있는 두 가지 유형의 SSH 키입니다. 그러나 Windows 또는 VMware 이미지에서는 SSH 키 ED25519 유형을 사용할 수 없습니다. 이러한 이미지에는 RSA SSH키만 사용할 수 있습니다. 자세한 정보는 SSH키 시작하기 를 참조하십시오.
-
인스턴스와 연관시킬 수 있는 사용 가능한 배치 그룹을 모두 나열하십시오.
ibmcloud is placement-groups명령어 출력은 다음과 같은 예시와 유사합니다.
Listing placement groups for generation 2 compute in all resource groups and region us-east under account vpcdemo as user yaohaif@cn.ibm.com... ID Name State Strategy Resource Group c5f1f366-b92a-4080-991a-aa5c2e33d96b placement-group-region-us-east stable power_spread 5018a8564e8120570150b0764d39ebcc placement-group-cccc-cccc-cccc-cccccccccccc vsi-placementGroup1 stable host_spread 5018a8564e8120570150b0764d39ebcc placement-group-bbbb-bbbb-bbbb-bbbbbbbbbbbb vsi-placementGroup2 stable power_spread 5018a8564e8120570150b0764d39ebcc placement-group-aaaa-aaaa-aaaa-aaaaaaaaaaaa vsi-placementGroup3 stable power_spread 1d18e482b282409e80eff354c919c6a2
CLI를 통해 인스턴스 템플릿 생성하기
이러한 값을 알게 된 후에는 이를 사용하여 instance-template-create 명령을 실행하십시오. 인스턴스 이름도 지정해야 합니다.
ibmcloud is instance-template-create INSTANCE_TEMPLATE_NAME VPC ZONE_NAME PROFILE_NAME SUBNET --image IMAGE
다음 예제 명령은 ID로 지정된 VPC에 내 인스턴스 템플릿이라는 이름의 인스턴스 템플릿을 생성합니다 r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b. 템플릿은 us-south-3 영역에서 생성되며 bx2-2x8 PROFILE. SUBNET은 ID 0726-298acd6c-e71e-4204-a04f-fe4a4dd89805. 이미지는 해당 이미지의 ID r006-534ef2ac-6158-45b3-9657-57629fa85305.
ibmcloud is instance-template-create my-instance-template r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b us-south-3 bx2-2x8 0076-2249dabc-8c71-4a54-bxy7-953701ca3999 --image r006-534ef2ac-6158-45b3-9657-57629fa85305 --placement-group r006-953db18c-068c-4a11-9b07-645684b444b2
Creating instance template my-instance-template under account Test Account as user test-user@ibm.com...
ID 0727-0fdac0fb-ad59-4d7b-9f03-604ddc1db002
Name my-instance-template
CRN crn:v1:bluemix:public:is:us-south-2:a/a1234567::instance-template:0727-0fdac0fb-ad59-4d7b-9f03-604ddc1db002
Resource group Default
Image r006-3fa3bea4-7f9c-4eeb-8248-ab1f6e03185b
VPC r006-212def4b-93f0-4b9a-a331-94178b99d474
Zone us-south-2
Profile bx2-2x8
Boot volume Name Capacity Profile IOPS Attachment name Auto delete Tags
- 100 general-purpose 0 illude-education-spotted-reanalyze true -
Primary Network Interface Name Subnet ID Security Groups Allow source IP spoofing Reserved IP Address Reserved IP ID Reserved IP Name Reserved IP Auto Delete
primary 0727-944126da-e46d-4104-8ba4-ab5a5832864b r006-2295f00e-8af0-4736-be11-94677955b6b2 false - - - -
Placement ID
r006-9994e3ab-18ae-49a7-95cf-25c77e09fa76
Created 2023-03-29T22:02:59+05:30
다음 예는 ID가 지정된 VPC에 이름이 my-gen3-instance-template 라는 이름의 인스턴스 템플릿을 생성합니다 r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b. 템플릿은 us-south-3_ 영역에서 생성되며 cx3d-8x20 PROFILE. SUBNET은 ID 00726-298acd6c-e71e-4204-a04f-fe4a4dd89805.
이미지는 해당 이미지의 ID r006-534ef2ac-6158-45b3-9657-57629fa85305. 선택한 컴퓨팅 프로파일이 데이터 볼륨에 대한 풀링된 대역폭 할당을 지원하는 경우, 해당 --storage_qos_modes 옵션을 포함할 수도 있습니다.
ibmcloud is instance-template-create my-gen3-instance-template r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b us-south-3 cx3d-8x20 00726-298acd6c-e71e-4204-a04f-fe4a4dd89805 --image r006-534ef2ac-6158-45b3-9657-57629fa85305 --storage_qos_modes pooled
ibmcloud is instance-template-create 명령의 자세한 예제는 VPC CLI 참조를 참조하십시오.
인스턴스 템플릿을 생성할 때, 해당 템플릿을 사용하여 가상 서버 인스턴스를 프로비저닝할 수 있는지 확인하기 위한 유효성 검사 단계가 수행됩니다. 추가 도움이 필요하십니까? 명령어를 ibmcloud is help instance-template-create 실행하면 도움말을 표시할 수 있습니다.
API를 사용하여 인스턴스 템플릿 생성
인스턴스 템플리트는 템플리트에서 작성된 가상 서버 인스턴스의 세부사항을 정의합니다. 예를 들어, 인스턴스 템플릿에 대한 프로필( vCPU 및 메모리), 이미지, 연결된 볼륨 및 네트워크 인터페이스를 지정합니다. 애플리케이션 프로그래밍 IBM Cloud VPC 인터페이스(API)를 사용하여 하나 이상의 인스턴스 템플릿을 생성할 수 있습니다.
개인용 카탈로그에서 공유되는 사용자 정의 이미지를 사용하여 가상 서버 인스턴스를 작성하는 방법에 대한 자세한 정보는 개인용 카탈로그 이미지에서 프로비저닝 을 참조하십시오.
시작하기 전에
IAM 토큰, API 엔드포인트 및 API 버전에 대한 변수를 정의하십시오. 지시사항은 API 및 CLI 환경 설정을 참조하십시오.
필요한 접근 권한이 있는지 확인하십시오. 이러한 메소드를 호출하려면 나열된 조건에 따라 다음 조치를 포함하는 하나 이상의 IAM 액세스 역할이 지정되어야 합니다. Cloud Identity and Access Management 대시보드의 사용자 페이지로 이동하여 액세스를 확인할 수 있습니다.
API에 대해 자세히 알아보려면 IBM Cloud 콘솔의 프로비저닝 페이지에서 샘플 API 호출 가져오기를 클릭하십시오. 올바른 API 요청 순서를 확인하고 작업 및 종속성을 보다 잘 이해할 수 있습니다.
인스턴스 템플리트 작성을 위한 정보 수집
인스턴스 템플리트를 작성할 준비가 되셨습니까? 만들기 전에 POST 으로 요청하세요 /instance/templates 방법을 사용하려면 인스턴스 템플릿에 포함하려는 세부정보를 알아야 합니다. 예를 들어, VPC의 ID 또는 이름과 인스턴스를 생성하려는 지역의 이름이 필요합니다. 사용하려는 인스턴스 프로파일의 이름과 템플릿을 생성하려는 서브넷의 ID 또는 이름도 필요합니다. 다음
API 호출을 작성하여 다음 필수 인스턴스 템플리트 세부사항을 수집하십시오.
| 인스턴스 세부사항 | 나열 방법 | API 스펙 문서 |
|---|---|---|
| VPC | GET /vpcs |
모든 VPC 나열 |
| 구역 | GET /regions/<region>/zones |
지역의 모든 구역 나열 |
| 프로파일 | GET /instance/profiles |
모든 인스턴스 프로파일 나열 |
| 서브넷 | GET /subnets |
모든 서브넷 나열 |
| 이미지 | GET /images |
모든 이미지 나열 |
| 키 | GET /keys |
모든 키 나열 |
| 배치 그룹 | GET /placement_groups |
모든 배치 그룹 나열 |
인스턴스 템플릿을 생성하는 데 필요한 정보를 확인하려면 다음 명령을 사용하십시오.
-
계정과 연관된 IBM Cloud VPC를 나열하십시오.
curl -X GET "$vpc_api_endpoint/v1/vpcs?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"사용 가능한 객체가 없다면,
POST /vpcs메서드를 사용하여 IBM Cloud VPC 를 생성할 수 있습니다. IBM Cloud VPC작성에 대한 자세한 정보는 IBM Cloud API Docs-VPC 작성 을 참조하십시오. -
계정과 연관된 지역을 나열하십시오.
curl -X GET "$vpc_api_endpoint/v1/regions?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token" -
지역과 연관된 구역을 나열하십시오.
curl -X GET "$vpc_api_endpoint/v1/regions/$region_name/zones?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token" -
인스턴스 템플릿을 생성할 수 있는 사용 가능한 프로필을 나열하십시오.
curl -X GET "$vpc_api_endpoint/v1/instance/profiles?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token" -
IBM Cloud VPC와 연관된 서브넷을 나열하십시오.
curl -X GET "$vpc_api_endpoint/v1/subnets?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"인스턴스 그룹의 최적 성능을 위해 서브넷 크기를 32 이상으로 설정하십시오.
사용 가능한 서브넷이 없는 경우,
POST /subnets메서드를 사용하여 생성할 수 있습니다. IBM Cloud VPC작성에 대한 자세한 정보는 IBM Cloud API Docs-서브넷 작성 을 참조하십시오. -
인스턴스 템플릿을 생성하는 데 사용할 수 있는 이미지를 나열하십시오.
curl -X GET "$vpc_api_endpoint/v1/images?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token" -
인스턴스와 연관할 수 있는 사용 가능한 SSH 키를 나열하십시오.
curl -X GET "$vpc_api_endpoint/v1/keys?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"SSH 키가 없는 경우, ibmcloud is key-create 명령어를 사용하여 SSH 키를 생성할 수 있습니다.
사용 가능한 SSH키가 없는 경우
POST /keys메소드를 사용하여 키를 작성할 수 있습니다. IBM Cloud VPC작성에 대한 자세한 정보는 IBM Cloud API 문서-키 작성 을 참조하십시오.RSA와 ED25519 는 사용할 수 있는 두 가지 유형의 SSH 키입니다. 그러나 Windows 또는 VMware 이미지에서는 SSH 키 ED25519 유형을 사용할 수 없습니다. 이러한 이미지에는 RSA SSH키만 사용할 수 있습니다. 자세한 정보는 SSH키 시작하기 를 참조하십시오.
-
인스턴스와 연관시킬 수 있는 사용 가능한 배치 그룹을 모두 나열하십시오.
curl -X GET "$vpc_api_endpoint/v1/placement_groups?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
API를 사용하여 인스턴스 템플리트 작성
이러한 값을 알고 나면 이를 사용하여 POST 으로 요청하세요 /instance/templates 방법. 인스턴스 이름도 지정해야 합니다.
다음 예제는 내 인스턴스 템플릿이라는 이름의 인스턴스 템플릿을 생성합니다 us-south-1 로 이름을 지정하고 bx2-2x8 프로필을 사용합니다.
curl -X POST "$vpc_api_endpoint/v1/instance/templates?version=2023-07-13&generation=2"
-H "Authorization: Bearer $iam_token"
-d '{
"zone": {"name": "us-south-1"},
"resource_group": {"id": "db8e8d865a83e0aae03f25a492c5b39e"},
"name": "my-instance-template",
"vpc": {"id": "r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b"},
"user_data": "",
"profile": {"name": "bx2-2x8"},
"keys": [{"id": "r006-68f8333a-1169-42da-ba01-75268bac8362"}],
"volume_attachments": [],
"boot_volume_attachment": {
"volume": {
"name": "my-instance-template-boot-1720804230000",
"capacity": 100,
"profile": {"name": "general-purpose"}},
"delete_volume_on_instance_delete": true
},
"metadata_service": {
"enabled": true,
"protocol": "https",
"response_hop_limit": 1},
"primary_network_attachment": {
"name": "eth0",
"virtual_network_interface": {
"allow_ip_spoofing": false,
"auto_delete": true,
"enable_infrastructure_nat": true,
"primary_ip": {"auto_delete": true,
"subnet": {"id": "0726-298acd6c-e71e-4204-a04f-fe4a4dd89805"},
"security_groups": [{"id": "r006-ccdd1f58-f0f2-4ea0-8774-a24bbe61b5d9"}],
"protocol_state_filtering_mode": "auto"}
},
"network_attachments": [],
"image": {"id": "r006-534ef2ac-6158-45b3-9657-57629fa85305"}}`
다음 예제는 인스턴스 템플릿의 이름이 my-gen3-instance-template 로 명명된 us-south-3 로 명명되고 cx3d-8x20 프로필을 사용합니다. 선택한 컴퓨팅 프로필이 데이터 볼륨에 대한 풀링된 대역폭 할당을 지원하는 경우 --storage_qos_modes 속성도 포함할 수 있습니다.
curl -X POST "$vpc_api_endpoint/v1/instance/templates?version=2024-07-12&generation=2"
-H "Authorization: Bearer $iam_token"
-H "Content-Type: application/json" \
-H "accept: application/json" \
-d '{
"zone": {"name": "us-south-3"},
"resource_group": {"id": "db8e8d865a83e0aae03f25a492c5b39e"},
"name": "my-gen3-instance-template",
"vpc": {"id": "r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b"},
"user_data": "",
"profile": {"name": "cx3d-8x20"},
"keys": [{"id": "r006-68f8333a-1169-42da-ba01-75268bac8362"},
"volume_attachments": [
{"volume": {
"name": "my-data-volume-1",
"capacity": 3000,
"profile": {"name": "5iops-tier"}},
"delete_volume_on_instance_delete": false},
{"volume": {
"name": "my-data-volume-2",
"capacity": 3000,
"profile": {"name": "5iops-tier"}},
"delete_volume_on_instance_delete": false},
{"volume": {
"name": "my-data-volume-3",
"capacity": 3000,
"profile": {"name": "5iops-tier"}},
"delete_volume_on_instance_delete": false}
],
"boot_volume_attachment": {
"volume": {
"name": "my-gen3-instance-template-boot-1720803726000",
"capacity": 100,
"profile": {"name": "general-purpose"}
},
"delete_volume_on_instance_delete": true
},
"metadata_service": {
"enabled": false,
"response_hop_limit": 1},
"primary_network_attachment": {
"name": "eth0",
"virtual_network_interface": {
"allow_ip_spoofing": false,
"auto_delete": true,
"enable_infrastructure_nat": true,
"primary_ip": {"auto_delete": true},
"subnet": {"id": "0726-298acd6c-e71e-4204-a04f-fe4a4dd89805"},
"security_groups": [
{"id": "r006-ccdd1f58-f0f2-4ea0-8774-a24bbe61b5d9"}],
"protocol_state_filtering_mode": "auto"}
},
"network_attachments": [],
"image": {"id": "r006-534ef2ac-6158-45b3-9657-57629fa85305"},
"enable_secure_boot": false
"storage_qos_modes": "pooled"
}'
/instance/templates 메소드의 추가 예제는 인스턴스 템플리트 작성 API 문서를 참조하십시오.
Terraform을 사용하여 인스턴스 템플리트 작성
Terraform을 사용하여 IBM Cloud VPC 에서 하나 이상의 인스턴스 템플리트를 작성할 수 있습니다.
개인용 카탈로그에서 공유되는 사용자 정의 이미지를 사용하여 가상 서버 인스턴스를 작성하는 방법에 대한 자세한 정보는 Terraform을 사용하여 인스턴스 작성 을 참조하십시오.
시작하기 전에
Terraform for VPC를 설정했는지 확인하십시오.
인스턴스 템플리트 작성을 위한 정보 수집
인스턴스 템플리트를 작성할 준비가 되셨습니까? 포함하기 전에 ibm_is_instance_template 리소스를 구성하려면 인스턴스 템플릿에 포함하려는
세부정보를 알아야 합니다. 예를 들어, VPC의 ID 또는 이름과 인스턴스 템플릿을 생성하려는 지역의 이름이 필요합니다. 사용하려는 인스턴스 프로파일의 이름과 템플릿을 생성하려는 서브넷의 ID 또는 이름도 필요합니다.
다음 필수 Terraform 인스턴스 템플릿 세부 정보를 수집하십시오.
| 인스턴스 템플리트 세부사항 | 목록 블록 | VPC Terraform 데이터 소스 참조 문서 |
|---|---|---|
| 인스턴스 프로파일 | ibm_is_instance_profiles |
ibm_is_instance_프로필 |
| 이미지 | ibm_is_images |
ibm_is_images |
| VPC | ibm_is_vpc |
ibm_is_vpc |
| 서브넷 | ibm_is_subnets |
ibm_is_subnets |
| 구역 | ibm_is_zone |
ibm_is_zone(ibm_is_zone) |
| 키 | ibm_is_ssh_keys |
ibm_is_ssh_keys |
| 배치 그룹 | ibm_is_placement_groups |
ibm_is_placement_groups |
인스턴스 템플릿을 생성하는 데 필요한 정보를 결정하려면 다음 가이드를 참조하십시오.
DataSource 블록을 사용하여 다음 정보를 수집하십시오.
-
인스턴스 프로파일 세부사항을 수집하십시오. 선택한 프로필에 대해 다음 블록을 실행하십시오. 사용 가능한 프로파일 목록은 x86 인스턴스 프로파일 을 참조하십시오. 자세한 내용은 ibm_is_instance_profiles에 대한 Terraform 문서를 참조하십시오. 인스턴스 프로파일을 사용하려면 인스턴스 프로파일 데이터 소스를 참조하십시오. 자세한 내용은 ibm_is_instance_profile에 대한 Terraform 문서를 참조하십시오.
data "ibm_is_instance_profile" "example_profile" { name = "bx2-2x8" } -
인스턴스 작성을 위해 사용 가능한 이미지를 나열하십시오. 재고 이미지, 계정의 사용자 정의 이미지 또는 개인용 카탈로그의 계정과 공유된 이미지를 사용할 수 있습니다. 자세한 내용은 ibm_is_image에 대한 Terraform 문서를 참조하십시오. 비공개 카탈로그에서 공유된 이미지를 사용하려는 경우 Terraform 설명서를 참조하세요. ibm_cm_버전 또는 ibm_cm_offering_instance.
- 인스턴스의 계정에서 재고 이미지 또는 사용자 정의 이미지를 선택하십시오.
data "ibm_is_image" "example_image" { name = "ibm-centos-7-6-minimal-amd64-2" }- 인스턴스의 개인용 카탈로그에서 공유되는 이미지를 선택하십시오. 자세한 내용은 ibm_is_images에 대한 Terraform 문서를 참조하십시오.
data "ibm_is_images" "example_images" { catalog_managed = true }다른 계정에 속하는 카탈로그 이미지를 선택하는 경우 검토할 추가 고려사항 및 제한사항이 있습니다. Terraform의 사설 카탈로그에서 교차 계정 이미지 참조 사용 을 참조하십시오.
-
VPC 데이터 소스를 참조하여 VPC 리소스를 작성하거나 기존 VPC를 사용하십시오. 자세한 정보는 데이터 소스 ibm_is_vpc 또는 리소스 ibm_is_vpc 에 대한 Terraform 문서를 참조하십시오.
data "ibm_is_vpc" "example_vpc" { name = "example-vpc" } -
서브넷 데이터 소스를 참조하여 서브넷 리소스를 작성하거나 기존 서브넷을 사용하십시오. 자세한 정보는 데이터 소스 ibm_is_subnet 또는 리소스 ibm_is_subnet 에 대한 Terraform 문서를 참조하십시오.
data "ibm_is_subnet" "example_subnet" { name = "example-subnet" vpc = ibm_is_vpc.example_vpc.id zone = "us-south-1" ipv4_cidr_block = "10.240.0.0/24" } -
기존 ssh 키를 사용하려면 ssh 키 데이터 소스 ibm_is_ssh_key를 참조하십시오. 사용 가능한 SSH키가 없는 경우 ibm_is_ssh_key 자원을 사용하여 SSH키를 작성하십시오.
RSA와 ED25519 는 사용할 수 있는 두 가지 유형의 SSH 키입니다. 그러나 Windows 또는 VMware 이미지에서는 SSH 키 ED25519 유형을 사용할 수 없습니다. 이러한 이미지에는 RSA SSH키만 사용할 수 있습니다. 자세한 정보는 SSH키 시작하기 를 참조하십시오.
resource "ibm_is_ssh_key" "example_sshkey" { name = "example-sshkey" public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVERRN7/9484SOBJ3HSKxxNG5JN8owAjy5f9yYwcUg+JaUVuytn5Pv3aeYROHGGg+5G346xaq3DAwX6Y5ykr2fvjObgncQBnuU5KHWCECO/4h8uWuwh/kfniXPVjFToc+gnkqA+3RKpAecZhFXwfalQ9mMuYGFxn+fwn8cYEApsJbsEmb0iJwPiZ5hjFC8wREuiTlhPHDgkBLOiycd20op2nXzDbHfCHInquEe/gYxEitALONxm0swBOwJZwlTDOB7C6y2dzlrtxr1L59m7pCkWI4EtTRLvleehBoj3u7jB4usR" }
Terraform으로 인스턴스 템플릿 만들기
이 값을 알고 나면 이를 사용하여 다음을 작성하십시오.ibm_is_instance_template 리소스 블록. 인스턴스 이름도 지정해야 합니다.
다음 예제에서는 내 인스턴스 템플릿이라는 이름의 인스턴스 템플릿을 us-south-1 영역에 이름을 지정하고 bx2-8x32 프로필을 사용합니다.
resource "ibm_is_instance_template" "my-instance-template" {
name = "my-instance-template"
image = r006-3fa3bea4-7f9c-4eeb-8248-ab1f6e03185b
profile = "bx2-8x32"
primary_network_interface {
subnet = 0727-944126da-e46d-4104-8ba4-ab5a5832864b
allow_ip_spoofing = true
}
placement_group = r006-9994e3ab-18ae-49a7-95cf-25c77e
vpc = r006-212def4b-93f0-4b9a-a331-94178b99d474
zone = "us-south-1"
keys = [363f6d70-0000-0001-0000-00000013b96c]
boot_volume {
name = "example-boot-volume"
delete_volume_on_instance_delete = true
}
}
다음 예제는 인스턴스 템플릿의 이름이 my-gen3-instance-template 로 명명된 us-south-3 로 명명되고 cx3d-8x20 프로필을 사용합니다. 선택한 컴퓨팅 프로필이 데이터 볼륨에 대한 풀링된 대역폭 할당을 지원하는 경우 storage_qos_modes 옵션도 포함할 수 있습니다.
resource "ibm_is_instance_template" "example" {
name = "my-gen3-instance-template"
image = r006-534ef2ac-6158-45b3-9657-57629fa85305
profile = "cx3d-8x20"
primary_network_interface {
subnet = 0d933c75-492a-4756-9832-1200585dfa79
allow_ip_spoofing = true
}
vpc = r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b
zone = "us-south-3"
keys = [363f6d70-0000-0001-0000-00000013b96c]
storage_qos_modes = [pooled]
boot_volume {
name = "example-boot-volume"
delete_volume_on_instance_delete = true
}
volume_attachments {
delete_volume_on_instance_delete = false
name = "example-data-vol-01"
volume_prototype {
profile = "5iops-tier"
capacity = 3000
}
}
volume_attachments {
delete_volume_on_instance_delete = false
name = "example-data-vol-02"
volume_prototype {
profile = "5iops-tier"
capacity = 3000
}
}
}
ibm_is_instance_template 의 추가 예는 ibm_is_instance_template Terraform 참조를 참조하십시오.
다음 단계
인스턴스 템플릿을 생성한 후에는 단일 가상 서버 인스턴스를 프로비저닝하거나, 인스턴스 그룹의 일부로 여러 인스턴스를 동시에 프로비저닝할 수 있습니다. 선택적으로, 인스턴스 그룹의 자동 스케일링 정책을 설정하여 그룹에서 가상 서버 인스턴스를 동적으로 추가하거나 제거할 수 있습니다. 자세한 정보는 다음 주제를 참조하십시오.