【发布时间】:2018-06-19 05:11:56
【问题描述】:
在截图下方,似乎只在一个可用区成功。
我检查了一个失败的实例的 codedeploy 日志,我发现有一个错误,我认为它被识别为一个本地实例。
2018-01-10 04:40:22 INFO [codedeploy-agent(2696)]:本地配置文件不存在或不可读
2018-01-10 04:40:43 错误 [codedeploy-agent(2696)]: CodeDeploy Instance Agent Service: CodeDeploy Instance Agent Service: error during start or run: InstanceMetadata::InstanceMetadataError - 不是 EC2 实例和区域未在环境变量 AWS_REGION 中提供。请使用环境变量 AWS_REGION 指定您的区域......
我为此问题搜索了大约三天,但 AWS 文档中没有提及。在生产环境中,我计划使用两个附加到 Auto Scaling 组的可用区。我想知道我是否忽略了除 CodeDeploy 之外的其他事情......我应该检查什么?提前谢谢你。
[更新] 我使用 ASG 和 ASG Config 屏幕截图进行更新。没有什么特别的,它是 vanila 和默认过程。我从 AWS 支持中心等待了 5 天,但仍在等待回复。
【问题讨论】:
-
为什么不将 ELB 附加到在两个不同实例中添加实例的 codedeploy 配置实例?
-
@KushVyas 我已经用 ELB + ASG 组合进行了测试,但是如果可用区不同,它仍然无法部署。为了简化问题,我已经配置了情况。
-
你可以尝试登录到那个 ec2 并发布命令的输出
curl http://169.254.169.254/latest/meta-data -
@Ravi 该实例似乎有问题。当我输入 169.254.169.254 时,我无法连接。另一方面,在成功部署的实例上可以正确看到元数据。这似乎是问题所在。我的 ASG 启动配置的 AMI 有问题吗?我的 AMI 在 ap-southeast-1a 中,因此 ap-southeast-1b 中的实例似乎无法部署。
-
@hyunsu AMI 因地区而异,而不是 AZ,所以只要您使用相同的 AMI,它应该可以工作。
标签: amazon-web-services aws-code-deploy