登录
首页 >  Golang >  Go问答

如何找到现有 AWS VPC 的 Internet Gateway ID

来源:stackoverflow

时间:2024-03-27 22:39:28 429浏览 收藏

一分耕耘,一分收获!既然都打开这篇《如何找到现有 AWS VPC 的 Internet Gateway ID》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

背景:我们有一个 vpc,它附加了一个 internet 网关。

我想通过aws-cdk获取vpc的internetgatewayid

vpc := awsec2.Vpc_FromLookup(stack, jsii.String(viper.GetString(`vpc.id`)), &awsec2.VpcLookupOptions{
        VpcId: jsii.String(viper.GetString(`vpc.id`)),
    }) //Here it returns awsec2.Ivpc

但是根据代码,只有awsec2.vpc有方法internetgatewayid()。如何将 awsec2.ivpc 转换为 awsec2.vpc


正确答案


vpc_fromlookup 返回的 ivpc 类型是 CDK convenience method,用于在合成时缓存一组有限的 vpc 属性。不幸的是,Internet Gateway ID isn't one of them

一个简单的确定性解决方法是手动将 id 存储为 SSM Parameter Store Parameter。在合成时,stringparameter_valuefromlookupcdk.context.json 中查找并缓存 igw id 值 Context。:

igwID := awsssm.StringParameter_ValueFromLookup(stack, jsii.String("/my-params/vpc/igw-id"))

更高级的仅限 cdk 的解决方案是在部署时查找 id CustomResource,“可以在 cloudformation 部署期间进行任意查找或修改”(通常通过使用拉姆达)。请注意,这不一定是更好的解决方案,因为它 introduces non-determinacy 进入了部署。

理论要掌握,实操不能落!以上关于《如何找到现有 AWS VPC 的 Internet Gateway ID》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>