如何获取我的 AWS EC2 实例的公共 IP

问题描述 投票:0回答:1

我正在尝试使用 Go 获取我的 AWS EC2 实例的公共 IP 地址。

func getIpAdrress(svc *session.Session) {
    result, err := svc.DescribeAddresses(&ec2.DescribeAddressesInput{
        Filters: []*ec2.Filter{
            {
                Name:   aws.String("TeamSpeakServer"),
                Values: aws.StringSlice([]string{"vpc"}),
            },
        },
    })
    if err != nil {
        fmt.Println("Unable to elastic IP address, %v", err)
    }

    // Printout the IP addresses if there are any.
    if len(result.Addresses) == 0 {
        fmt.Printf("No elastic IPs for %s region\n", *svc.Config.Region)
    } else {
        fmt.Println("Elastic IPs")
        for _, addr := range result.Addresses {
            fmt.Println()
        }
    }
}

我希望获取 IP 地址和正在运行的实例,或者可能通过机器 ID 来获取 IP,但我整天都在查看 AWS 文档,这就是我目前所拥有的。 这是我得到的错误:

svc.DescribeAddresses 未定义(类型 *session.Session 没有字段或方法 DescribeAddresses)

amazon-web-services go amazon-s3 amazon-ec2 aws-sdk
1个回答
0
投票
func getDetaislOFAnInstance(sess *session.Session) {

ec2Svc := ec2.New(sess)
result, err := ec2Svc.DescribeInstances(nil)
if err != nil {
    fmt.Println("Error", err)
} else {
    fmt.Println("Success", result)
}

}

© www.soinside.com 2019 - 2024. All rights reserved.