Creazione di un template istanza

È possibile creare un modello di istanza per definire i dettagli dell'istanza per il provisioning di uno o più server virtuali. Quando viene creato il tuo template dell'istanza, puoi utilizzarlo per eseguire il provisioning di singole istanze del server virtuale oppure puoi eseguire il provisioning di più istanze contemporaneamente come parte di un gruppo di istanze.

Creazione di un template istanza con l'IU

Il template istanza definisce i dettagli delle istanze del server virtuale create dal template. Ad esempio, specifica il profilo (vCPU e memoria), l'immagine, volumi collegati e le interfacce di rete per il template dell'immagine.

Per creare un modello di istanza, seguire i passaggi riportati di seguito.

  1. Nella console IBM Cloud console, fare clic sull'icona Menu di navigazione Icona menu > Infrastruttura Icona VPC > Calcolo > Modelli di istanza.
  2. Fare clic su " Nuovo modello di istanza " e inserire le informazioni riportate nella Tabella 1.
  3. Fare clic su Crea template istanza una volta completate le informazioni.

Quando crei un template dell'istanza, vengono eseguite le operazioni di convalida per assicurarti di poter utilizzare il tuo template per eseguire il provisioning di un'istanza del server virtuale.

Selezioni del modello di istanza
Campo Valore
Posizione Le ubicazioni sono formate da regioni (aree geografiche specifiche) e zone (data center a tolleranza di errore all'interno di una regione). Seleziona l'area geografica, la regione e la zona in cui desideri che venga creata l'istanza del tuo server virtuale.
Nome È obbligatorio un nome per la tua VSI (virtual server instance).
Gruppo di risorse Seleziona un gruppo di risorse per l'istanza.
Immagine

Fare clic su Modifica immagine per selezionare un'immagine. Nella pagina Seleziona un'immagine, è possibile selezionare un'immagine stock, un'immagine personalizzata, un'immagine catalogo, un'istantanea o un volume esistente. Se la posizione geografica in cui si sta eseguendo il provisioning di un'istanza lo supporta, è possibile selezionare una delle seguenti opzioni:

  • x86 architettura

  • Deprecata s390x architettura

Dopo aver selezionato l'immagine, fare clic su Salva.

Profilo Fare clic su Cambia profilo per scegliere tra tutte le combinazioni disponibili di vCPU e RAM. Le famiglie di profili sono: Balanced, Compute, Memory, Ultra High Memory, Very High Memory, Storage Optimized, GPU, Flex, Confidential Compute e High Frequency.

Verifica che il profilo che utilizzi sia disponibile nella zona in cui intendi creare l'istanza.

Per ulteriori informazioni, vedi Profili.

Alcuni profili potrebbero non essere disponibili poiché il numero di interfacce di rete nel server virtuale supera i limiti previsti per i profili. È possibile rimuovere le interfacce di rete per selezionare più profili. Per ulteriori informazioni, consultare la sezione " Ridimensionamento di un server virtuale ".

Alcuni profili potrebbero non essere disponibili perché l'immagine selezionata contiene una clausola di utilizzo consentito non compatibile con il profilo. In questi casi, selezionare un'immagine con un'espressione di uso consentito compatibile con il profilo desiderato. Per ulteriori informazioni, vedere Aggiunta di espressioni di uso consentito alle immagini personalizzate.

Thread per core Il numero di thread per core ti offre la flessibilità necessaria per ottimizzare il tuo carico di lavoro. Sebbene il numero di thread per core venga visualizzato per tutti i profili, è possibile modificarlo solo per la famiglia di profili “High Frequency ”. Per i profili ad alta frequenza, il valore predefinito è 2, ma può essere impostato su 1.
Chiave SSH Devi selezionare una chiave SSH pubblica esistente o fare clic su Crea una chiave SSH per crearne una nuova. Puoi creare solo chiavi SSH RSA. Per ED25519 Chiavi SSH, è necessario caricare le informazioni sulla chiave. Per ulteriori informazioni sulla creazione di una chiave SSH, vedi Creazione della tua chiave SSH utilizzando l'IU. Le chiavi SSH sono utilizzate per la connessione sicura all'istanza dopo che è in esecuzione.

Nota:** Le combinazioni alfanumeriche sono limitate a 100 caratteri. Le chiavi SSH possono essere RSA o Ed25519. Ed25519 può essere utilizzato solo se il sistema operativo supporta questo tipo di chiave. Ed25519 non può essere utilizzato con immagini Windows o VMware.

Per ulteriori informazioni, consultare il sito Introduzione alle chiavi SSH.

Volume di avvio La dimensione del volume di avvio predefinita per tutti i profili è 100 GB. È possibile specificare una maggiore capacità del volume di avvio, fino a 250 GB quando si utilizzano i profili di volume di prima generazione e fino a 32.000 GB quando si utilizza il profilo sdp, a seconda delle esigenze dell'immagine. È anche possibile specificare tag utente.
Volumi di dati Puoi aggiungere uno o più volumi di dati secondari che devono essere inclusi quando esegui il provisioning dell'istanza. Per aggiungere volumi, fare clic su Crea. Puoi specificare la crittografia gestita dal cliente e le tag utente per il volume.
VPC (Virtual Private Cloud) Specifica l'IBM Cloud VPC in cui vuoi creare la tua istanza. È possibile utilizzare un VPC esistente oppure è possibile creare un nuovo VPC. Per creare una nuova VPC, fare clic su " Nuova VPC ".
Interfacce di rete Definisce la connessione di rete nella IBM Cloud VPC. Per impostazione predefinita, la nuova opzione Collegamento di rete con un'interfaccia di rete virtuale è selezionata per il template dell'istanza. In alternativa, è possibile scegliere l'opzione legacy Istanza interfaccia di rete. Qualsiasi tipo di opzione di interfaccia di rete che selezioni quando esegui il provisioning del server virtuale persiste durante il ciclo di vita del server virtuale. Dopo aver selezionato il tipo di interfaccia di rete, è possibile fare clic sull'icona Modifica Icona Modifica per aggiornare i dettagli dell'interfaccia di rete, ad esempio la subnet o il gruppo di sicurezza associato.
Dati utente Puoi aggiungere dei dati utente che eseguono automaticamente le attività di configurazione comuni o eseguono gli script. Per ulteriori informazioni, vedi Dati utente.
Metadati Disabilitato per impostazione predefinita, consente all'istanza creata da questo modello di raccogliere metadati su se stessa. Fare clic sull'interruttore per attivare il servizio di metadati. Per ulteriori informazioni, vedere Informazioni sui metadati per VPC.
Aggiungi a host dedicato Puoi aggiungere l'istanza del server virtuale a un host dedicato, creando l'istanza in uno spazio a tenant singolo. Per eseguire il provisioning di un'istanza dedicata, devi avere un host dedicato disponibile o crearne uno.
Aggiungi al gruppo di posizionamento È possibile selezionare un gruppo di collocazione per l'istanza. Per abilitare i gruppi di posizionamento, fare clic sull'interruttore. Quindi, selezionare o creare un gruppo di posizionamento per l'istanza. Se si aggiunge un gruppo di posizionamento, l'istanza viene posizionata in base alla strategia del gruppo di posizionamento. Per ulteriori informazioni, vedi Informazioni sui gruppi di posizionamento.
Allocazione dinamica della larghezza di banda del volume Fare clic sulla levetta per attivare l'allocazione della larghezza di banda del volume in pool per i volumi di dati collegati. Questa funzione è supportata per alcuni profili di calcolo.
Riavvio automatico in caso di errore host Questa impostazione è abilitata per impostazione predefinita. Per disabilitare il riavvio automatico dell'errore host, fare clic sull'interruttore. Per ulteriori informazioni, consultare Politiche di ripristino da errore host.

Creazione di un modello di istanza tramite la CLI

Il template istanza definisce i dettagli delle istanze del server virtuale create dal template. Ad esempio, specificare il profilo (vCPU e memoria), l'immagine, i volumi collegati e le interfacce di rete per il template dell'istanza. Puoi creare uno o più template dell'istanza nella tua IBM Cloud VPC utilizzando la CLI (command - line interface).

Per ulteriori informazioni sulla creazione di un'istanza del server virtuale con un'immagine personalizzata condivisa da un catalogo privato, vedi Provisioning da un'immagine del catalogo privata.

Prima di iniziare

Assicurati di configurare il tuo ambiente CLIIBM Cloud® e il IBM Cloud VPC.

Raccolta di informazioni per creare un template istanza

Sei pronto a creare un modello di istanza? Prima di poter eseguire il file ibmcloud is instance-template-create comando, devi raccogliere i dettagli da includere per il modello di istanza e le opzioni del comando. Ad esempio, è necessario l'ID o il nome del VPC e il nome della zona in cui deve essere creato il modello di istanza. Sono inoltre necessari il nome del profilo dell'istanza che desideri utilizzare e l'ID o il nome della sottorete in cui deve essere creato il modello.

Raccogliere i seguenti dettagli del template dell'istanza richiesti.

Dettagli del modello di istanza richiesti
Dettagli template istanza Comando di elenco Documentazione di riferimento CLI VPC
VPC ibmcloud is vpcs Elenca tutti i VPC
Zona ibmcloud is zones Elenco di tutte le zone nella regione
Profilo ibmcloud is instances Elenca tutte le istanze del server virtuale
Sottorete ibmcloud is subnets Elenca tutte le sottoreti
Immagine ibmcloud is image Elencare tutte le immagini
Chiavi ibmcloud is keys Elenca tutte le chiavi
Gruppi di posizionamento ibmcloud is placement-groups Elenca tutti i gruppi di posizionamento

Verificare che il profilo che si desidera utilizzare sia disponibile nella zona in cui si intende creare l'istanza.

Utilizzare i seguenti comandi per determinare le informazioni necessarie per creare un modello di istanza.

  1. Elenca le regioni associate al tuo account.

    ibmcloud is regions
    

    Vedi il seguente esempio.

    $ 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
    
  2. Passa alla tua regione di destinazione.

    ibmcloud target -r <region-name>
    
  3. Elenca le aree associate alla region di destinazione.

    ibmcloud is zones
    

    Nell'esempio seguente, il comando viene eseguito nella us-south regione e l'output mostra le zone disponibili presenti nella regione.

    $ 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
    
  4. Elenca i IBM Cloud VPC associati al tuo account.

    ibmcloud is vpcs
    

    In questo esempio, viene visualizzata una risposta simile all'output riportato di seguito.

    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
    

    Se non ne hai uno a disposizione, puoi creare un file “ IBM Cloud VPC ” utilizzando il comando “ ibmcloud is vpc-create ”. Per ulteriori informazioni sulla creazione di un IBM Cloud VPC, vedi IBM Cloud VPC CLI reference.

  5. Elenca i profili disponibili per la creazione del tuo modello di istanza.

    ibmcloud is instance-profiles
    

    L'output del comando è simile a quello riportato nell'esempio seguente.

    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
    
  6. Elenca le sottoreti associate al IBM Cloud VPC.

    ibmcloud is subnets
    

    L'output del comando è simile a quello riportato nell'esempio seguente.

    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
    

    Per le migliori prestazioni di un gruppo di istanze, assicurati di utilizzare una dimensione di sottorete pari a 32 o superiore.

    Se non disponi di una sottorete, puoi crearne una utilizzando il comando ibmcloud is subnet-create . Per ulteriori informazioni sulla creazione di una sottorete, consultare la guida di riferimento della CLI di IBM Cloud VPC.

  7. Elenca le immagini disponibili per la creazione del tuo modello di istanza.

    ibmcloud is images
    

    L'output del comando è simile a quello riportato nell'esempio seguente.

    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
    
  8. Elenca le chiavi SSH disponibili che puoi associare alla tua istanza.

    ibmcloud is keys
    

    L'output del comando è simile a quello riportato nell'esempio seguente.

    ID                                          Name     Type   Length   FingerPrint          Resource group
    r006-89ec781c-9630-4f76-b9c4-a7d204828d61   my-key   rsa    4096     gtnf+pdX2PYI9Ofq..   Default
    

    Se non si dispone di una chiave SSH, è possibile crearne una utilizzando il comando [ibmcloud is key-create](/docs/vpc?topic=vpc-vpc-reference#key-create).

    RSA e ED25519 sono i due tipi di chiavi SSH che è possibile utilizzare. Tuttavia, non è possibile utilizzare il tipo di ED25519 chiave SSH con Windows o VMware immagini. È possibile utilizzare solo chiavi SSH RSA per queste immagini. Per ulteriori informazioni, vedi Introduzione alle chiavi SSH.

  9. Elenca tutti i gruppi di collocazione disponibili che puoi associare alla tua istanza.

    ibmcloud is placement-groups
    

    L'output del comando è simile a quello riportato nell'esempio seguente.

    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
    

Creazione di un modello di istanza dalla CLI

Una volta individuati questi valori, utilizzali per eseguire il comando instance-template-create. Devi specificare anche un nome per l'istanza.

ibmcloud is instance-template-create INSTANCE_TEMPLATE_NAME VPC ZONE_NAME PROFILE_NAME SUBNET --image IMAGE

Il comando di esempio seguente crea un modello di istanza denominato my-instance-template nella VPC specificata dall'ID r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b. Il modello viene creato nella cartella us-south-3 ZONA e utilizza il bx2-2x8 PROFILO. La SUBNET è definita dal suo ID 0726-298acd6c-e71e-4204-a04f-fe4a4dd89805. L'IMMAGINE è specificata dal suo 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

L'esempio seguente crea un modello di istanza denominato my-gen3-instance-template nella VPC specificata dall'ID r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b. Il modello viene creato nella ZONA us-south-3_ e utilizza l'opzione cx3d-8x20 PROFILO. La SUBNET è definita dal suo ID 00726-298acd6c-e71e-4204-a04f-fe4a4dd89805. L'IMMAGINE è specificata dal suo ID r006-534ef2ac-6158-45b3-9657-57629fa85305. Quando il profilo di calcolo selezionato supporta l'allocazione di larghezza di banda in pool per i volumi di dati, è possibile includere anche --storage_qos_modes l'opzione.

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

Per ulteriori esempi del comando ibmcloud is instance-template-create, vedi il riferimento alla CLI VPC.

Quando crei un template dell'istanza, vengono eseguite le operazioni di convalida per assicurarti di poter utilizzare il tuo template per eseguire il provisioning di un'istanza del server virtuale. Hai bisogno di più aiuto? È possibile eseguire il ibmcloud is help instance-template-create comando per visualizzare la guida.

Creazione di un template istanza con l'API

Il template istanza definisce i dettagli delle istanze del server virtuale create dal template. Ad esempio, specificare il profilo (vCPU e memoria), l'immagine, i volumi collegati e le interfacce di rete per il template dell'istanza. Puoi creare uno o più modelli di istanza nel tuo file IBM Cloud VPC utilizzando l'interfaccia di programmazione dell'applicazione (API).

Per ulteriori informazioni sulla creazione di un'istanza del server virtuale con un'immagine personalizzata condivisa da un catalogo privato, vedi Provisioning da un'immagine del catalogo privata.

Prima di iniziare

Definisci le variabili per il token IAM, l'endpoint API e la versione API. Per le istruzioni, vedi Configurazione del tuo ambiente API e CLI.

Assicurati di disporre dei diritti di accesso necessari. Per richiamare questi metodi, ti devono essere assegnati uno o più ruoli di accesso IAM che includono le seguenti azioni, a seconda di qualsiasi condizione elencata. Puoi controllare il tuo accesso andando alla pagina Utenti del dashboardCloud Identity and Access Management.

Un buon modo per saperne di più sull'API consiste nel fare clic su Get sample API call nelle pagine di provisioning nella console IBM Cloud. Puoi visualizzare la sequenza corretta di richieste API e comprendere meglio le azioni e le loro dipendenze.

Raccolta di informazioni per creare un template istanza

Sei pronto a creare un modello di istanza? Prima di poter effettuare il POST richiesta con il /instance/templates metodo, devi conoscere i dettagli che desideri includere nel modello di istanza. Ad esempio, è necessario l'ID o il nome della VPC e il nome della zona in cui si desidera creare l'istanza. È inoltre necessario il nome del profilo dell'istanza che si desidera utilizzare e l'ID o il nome della sottorete in cui si desidera creare il modello. Raccogliere i seguenti dettagli del template dell'istanza richiesti effettuando le seguenti chiamate API:

Dettagli del modello di istanza API richiesto
Dettagli istanza Metodi di elencazione Documentazione specifica API
VPC GET /vpcs Elenca tutti i VPC
Zona GET /regions/<region>/zones Elenca tutte le zone in una regione
Profilo GET /instance/profiles Elenco di tutti i profili istanza
Sottorete GET /subnets Elenca tutte le sottoreti
Immagine GET /images Elencare tutte le immagini
Chiave GET /keys Elenca tutte le chiavi
Gruppi di posizionamento GET /placement_groups Elenca tutti i gruppi di posizionamento

Verificare che il profilo che si desidera utilizzare sia disponibile nella zona in cui si intende creare l'istanza.

Utilizzare i seguenti comandi per determinare le informazioni necessarie per creare un modello di istanza.

  1. Elenca i IBM Cloud VPC associati al tuo account.

    curl -X GET "$vpc_api_endpoint/v1/vpcs?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    

    Se non ne hai uno disponibile, puoi creare un IBM Cloud VPC utilizzando il metodo POST /vpcs. Per ulteriori informazioni sulla creazione di un IBM Cloud VPC, consulta IBM Cloud API Docs - Create a VPC.

  2. Elenca le regioni associate al tuo account.

    curl -X GET "$vpc_api_endpoint/v1/regions?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    
  3. Elenca le zone associate alla regione.

    curl -X GET "$vpc_api_endpoint/v1/regions/$region_name/zones?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    
  4. Elenca i profili disponibili per creare il modello dell'istanza.

    curl -X GET "$vpc_api_endpoint/v1/instance/profiles?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    
  5. Elenca le sottoreti associate al IBM Cloud VPC.

    curl -X GET "$vpc_api_endpoint/v1/subnets?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    

    Per le migliori prestazioni di un gruppo di istanze, assicurati di utilizzare una dimensione di sottorete pari a 32 o superiore.

    Se non hai una sottorete disponibile, puoi crearne una utilizzando il metodo POST /subnets. Per ulteriori informazioni sulla creazione di una IBM Cloud VPC, vedi IBM Cloud API Docs - Create a subnet.

  6. Elenca le immagini disponibili per creare il modello dell'istanza.

    curl -X GET "$vpc_api_endpoint/v1/images?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    
  7. Elenca le chiavi SSH disponibili che puoi associare alla tua istanza.

    curl -X GET "$vpc_api_endpoint/v1/keys?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    

    Se non si dispone di una chiave SSH, è possibile crearne una utilizzando il comando [ibmcloud is key-create](/docs/vpc?topic=vpc-vpc-reference#key-create).

    Se non hai una chiave SSH disponibile, puoi crearne una utilizzando il metodo POST /keys. Per maggiori informazioni sulla creazione di un IBM Cloud VPC, vedi IBM Cloud API Docs - Create a key.

    RSA e ED25519 sono i due tipi di chiavi SSH che è possibile utilizzare. Tuttavia, non è possibile utilizzare il tipo di ED25519 chiave SSH con Windows o VMware immagini. È possibile utilizzare solo chiavi SSH RSA per queste immagini. Per ulteriori informazioni, vedi Introduzione alle chiavi SSH.

  8. Elenca tutti i gruppi di collocazione disponibili che puoi associare alla tua istanza.

    curl -X GET "$vpc_api_endpoint/v1/placement_groups?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    

Creazione del template dell'istanza con l'API

Dopo aver conosciuto questi valori, usali per creare un file POST richiesta con il /instance/templates metodo. Devi specificare anche un nome per l'istanza.

L'esempio seguente crea un modello di istanza chiamato my-instance-template in us-south-1 e utilizza il profilo bx2-2x8 profilo.

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"}}`

L'esempio seguente crea un modello di istanza che si chiama my-gen3-instance-template in us-south-3 e utilizza il profilo cx3d-8x20 profilo. Quando il profilo di calcolo selezionato supporta l'allocazione della larghezza di banda in pool per i volumi di dati, è possibile includere anche la proprietà --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"
}'

Per ulteriori esempi del metodo /instance/templates, vedi la documentazione API Crea un modello di istanza.

Creazione di un template istanza con Terraform

Puoi creare uno o più template dell'istanza nel tuo IBM Cloud VPC utilizzando Terraform.

Per ulteriori informazioni sulla creazione di una istanza del server virtuale con un'immagine personalizzata condivisa da un catalogo privato, vedi Creazione di un'istanza utilizzando Terraform.

Prima di iniziare

Assicurati di configurare Terraform for VPC.

Raccolta di informazioni per creare un template istanza

Sei pronto a creare un modello di istanza? Prima di includere il ibm_is_instance_template risorsa nella tua configurazione, devi conoscere i dettagli che desideri includere nel modello di istanza. Ad esempio, è necessario l'ID o il nome della VPC e il nome della zona in cui si desidera creare il modello di istanza. È inoltre necessario il nome del profilo dell'istanza che si desidera utilizzare e l'ID o il nome della sottorete in cui si desidera creare il modello.

Raccogli i seguenti dettagli del template dell'istanza Terraform richiesti.

Dettagli richiesti del modello di istanza Terraform
Dettagli template istanza Blocco elenco Documentazione di riferimento dell'origine dati VPC Terraform
Profilo istanza ibm_is_instance_profiles profili_istanza_ibm_is
Immagine ibm_is_images immagine_ibm
VPC ibm_is_vpc ibm_è_vpc
Sottorete ibm_is_subnets ibm_is_subnet
Zona ibm_is_zone ibm_is_zona
Chiavi ibm_is_ssh_keys chiavi_is_ibm
Gruppi di posizionamento ibm_is_placement_groups ibm_è_gruppi_di_collocamento

Utilizza la seguente guida per determinare le informazioni necessarie per creare un modello di istanza.

Raccogliere le seguenti informazioni utilizzando il blocco DataSource.

  1. Raccogliere i dettagli del profilo dell'istanza. Esegui il seguente blocco per il profilo che hai selezionato. Per un elenco dei profili disponibili, consultare Profili istanzax86. Per ulteriori informazioni, consulta la documentazione di Terraform in ibm_is_instance_profiles. Per utilizzare un profilo istanza, fare riferimento all'origine dati del profilo istanza. Per ulteriori informazioni, consulta la documentazione di Terraform su ibm_is_instance_profile.

    data "ibm_is_instance_profile" "example_profile" {
       name = "bx2-2x8"
    }
    
  2. Elenca le immagini disponibili per la creazione della tua istanza. Puoi utilizzare un'immagine di stock, un'immagine personalizzata dal tuo account o un'immagine che è stata condivisa con il tuo account da un catalogo privato. Per ulteriori informazioni, consulta la documentazione di Terraform su ibm_is_image. Se prevedi di utilizzare un'immagine condivisa da un catalogo privato, consulta la documentazione di Terraform su ibm_cm_versione O ibm_cm_offering_instance.

    • Seleziona un'immagine stock o un'immagine personalizzata dal tuo account per la tua istanza.
    data "ibm_is_image" "example_image" {
       name = "ibm-centos-7-6-minimal-amd64-2"
    }
    
    • Seleziona un'immagine condivisa da un catalogo privato per l'istanza. Per ulteriori informazioni, consulta la documentazione di Terraform su ibm_is_images.
    data "ibm_is_images" "example_images" {
       catalog_managed = true
    }
    

    Se selezioni un'immagine del catalogo che appartiene a un account differente, hai ulteriori considerazioni e limitazioni da esaminare. Consulta Utilizzo dei riferimenti di immagine tra account in un catalogo privato in Terraform.

  3. Crea una risorsa VPC o utilizza un VPC esistente facendo riferimento all'origine dati VPC. Per ulteriori informazioni, consulta la documentazione di Terraform sull'origine dati ibm_is_vpc o sulla risorsa ibm_is_vpc.

    data "ibm_is_vpc" "example_vpc" {
       name = "example-vpc"
    }
    
  4. Creare una risorsa di sottorete o utilizzare una sottorete esistente facendo riferimento all'origine dati della sottorete. Per ulteriori informazioni, consulta la documentazione di Terraform sull'origine dati ibm_is_subnet o sulla risorsa ibm_is_subnet.

    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"
    }
    
  5. Per utilizzare una chiave ssh esistente, fare riferimento all'origine dati della chiave ssh ibm_is_ssh_key. Se non hai alcuna chiave SSH disponibile, utilizza la risorsa ibm_is_ssh_key per crearne una.

    RSA e ED25519 sono i due tipi di chiavi SSH che è possibile utilizzare. Tuttavia, non è possibile utilizzare il tipo di ED25519 chiave SSH con Windows o VMware immagini. È possibile utilizzare solo chiavi SSH RSA per queste immagini. Per ulteriori informazioni, vedi Introduzione alle chiavi 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"
    }
    

Creare il modello di istanza con Terraform

Dopo aver conosciuto questi valori, usali per scrivere il file ibm_is_instance_template blocco di risorse. Devi specificare anche un nome per l'istanza.

L'esempio seguente crea un modello di istanza che viene chiamato my-instance-template nella regione us-south-1 e utilizza il profilo bx2-8x32 profilo.

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
  }
}

L'esempio seguente crea un modello di istanza che si chiama my-gen3-instance-template in us-south-3 e utilizza il profilo cx3d-8x20 profilo. Quando il profilo di calcolo selezionato supporta l'allocazione della larghezza di banda in pool per i volumi di dati, è possibile includere anche l'opzione 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
    }
  }
}

Per ulteriori esempi di ibm_is_instance_template, consulta il riferimento Terraform ibm_is_instance_template.

Passi successivi

Dopo aver creato un template dell'istanza, puoi eseguire il provisioning di una singola istanza del server virtuale oppure puoi eseguire il provisioning di più istanze contemporaneamente come parte di un gruppo di istanze. Facoltativamente, puoi impostare le politiche di scalabilità automatica per il tuo gruppo di istanze per aggiungere o rimuovere dinamicamente le istanze del server virtuale dal tuo gruppo. Per ulteriori informazioni, vedi i seguenti argomenti: