Maison > développement back-end > Golang > Comment modifier le type d'instance dans un modèle de lancement EC2 à l'aide du kit SDK AWS ?

Comment modifier le type d'instance dans un modèle de lancement EC2 à l'aide du kit SDK AWS ?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2024-02-05 23:33:12
avant
1042 Les gens l'ont consulté

如何使用 AWS SDK 更改 EC2 启动模板中的实例类型?

Contenu de la question

Je souhaite modifier quelque chose dans le modèle de lancement, comme le type d'instance. Cela signifie créer une nouvelle version en même temps.

J'ai parcouru la documentation du SDK pour Go et Python. Ni l’un ni l’autre ne semble avoir de paramètres me permettant d’atteindre le même objectif.

Je fais référence à ceux-ci : Allez les fonctions, Fonctions Python

S'il vous plaît, aidez-moi...


Bonne réponse


Les modèles de démarrage ec2 sont immuables. Si vous devez modifier la version actuelle du modèle de lancement, vous devez créer une nouvelle version.

Ce qui suit est un exemple d'utilisation du SDK aws v2 pour créer une nouvelle version et la définir comme version par défaut.

Installez ces deux packages :

"github.com/aws/aws-sdk-go-v2/service/ec2"
ec2types "github.com/aws/aws-sdk-go-v2/service/ec2/types"
Copier après la connexion

En supposant que vous ayez créé une configuration AWS :

func createLaunchTemplateVersion(cfg aws.Config) {
    ec2client := ec2.NewFromConfig(cfg)
    template := ec2types.RequestLaunchTemplateData{
        InstanceType: ec2types.InstanceTypeT2Medium}
    createParams := ec2.CreateLaunchTemplateVersionInput{
        LaunchTemplateData: &template,
        LaunchTemplateName: aws.String("MyTemplate"),
        SourceVersion:      aws.String("1"),
    }
    outputCreate, err := ec2client.CreateLaunchTemplateVersion(context.Background(), &createParams)
    if err != nil {
        log.Fatal(err)
    }
    if outputCreate.Warning != nil {
        log.Fatalf("%v\n", outputCreate.Warning.Errors)
    }
    // set the new launch type version as the default version
    modifyParams := ec2.ModifyLaunchTemplateInput{
        DefaultVersion:     aws.String(strconv.FormatInt(*outputCreate.LaunchTemplateVersion.VersionNumber, 10)),
        LaunchTemplateName: outputCreate.LaunchTemplateVersion.LaunchTemplateName,
    }
    outputModify, err := ec2client.ModifyLaunchTemplate(context.Background(), &modifyParams)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("default version %d\n", *outputModify.LaunchTemplate.DefaultVersionNumber)
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal