如何在中国区域的AWS beanstalk实例上部署美国区域的AWS beanstalk实例
Posted
技术标签:
【中文标题】如何在中国区域的AWS beanstalk实例上部署美国区域的AWS beanstalk实例【英文标题】:How to deploy AWS beanstalk instances in the U.S. region on AWS beanstalk instances in the Chinese region 【发布时间】:2018-11-21 16:59:37 【问题描述】:一个系统的两种服务存在于AWS中国区和AWS美国区。
根据这个链接:
Deploy AWS Elastic beanstalk to an environment in different region
我尝试在中国的 AWS beanstalk 实例上部署美国的 AWS beanstalk 实例。
我知道中国的 aws_access_key_id 和 aws_secret_access_key 与美国的 aws_access_key_id 和 aws_secret_access_key 不同。
所以我修改了两个文件:/root/.aws/config 和 /root/.aws/credentials
aws_access_key_id =(美国)
aws_secret_access_key =(美国)
然后我使用这个命令:
[root@ip-10-0-0-111 .aws]# eb init --region us-west-1
错误:InvalidParameterValueError - 平台“arn:aws-cn:elasticbeanstalk:cn-north-1::platform/Tomcat 8 with Java 8 running on 64bit Amazon Linux/2.7.7”位于不同的区域。
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:在错误本身中,它清楚地表明您正在尝试使用无效的平台值部署应用程序。默认情况下,eb init
将采用当前区域平台,除非您明确指定它。所以它是使用中国区域平台在美国区域部署,这将失败。
如果您比较错误中的 arn 和我在下面提到的一个,它们都有不同的替换。在 AWS 中国区域位于不同的分区中。对于所有其他地区,请使用 aws
,对于中国,请使用 aws-cn
。
使用类似的东西。
eb init --region us-west-1 --platform "arn:aws:elasticbeanstalk:us-west-1::platform/Tomcat 8 with Java 8 running on 64bit Amazon Linux/2.7.7"
有关更多详细信息和 eb 参数选项,请参阅以下文档
eb init
Amazon Resource Name Format for Elastic Beanstalk
【讨论】:
非常感谢!我会试试的以上是关于如何在中国区域的AWS beanstalk实例上部署美国区域的AWS beanstalk实例的主要内容,如果未能解决你的问题,请参考以下文章
AWS Certificate Manager 证书对控制台中的 AWS Beanstalk 不可见
如何在 aws elastic beanstalk 环境实例启动上运行 shell 脚本
AWS - 如何在不丢失实例和弹性 IP 的情况下暂停 Elastic Beanstalk 环境?