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 ?

WBOY
WBOYavant
2024-02-05 23:33:12875parcourir

如何使用 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"

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

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer