到Lightsail实例的部署失败,因为找不到部署组的实例

问题描述

Marci's answer开始,我继续尝试使用他提到的步骤(适应该地区)从GitHub进行部署,但是我得到了

部署失败,因为找不到您的实例 部署组。检查您的部署组设置以确保 您的Amazon EC2实例或Auto Scaling组的标签 正确标识要部署到的实例,然后尝试 再次。

@L_404_1@

根据Gabriel in 2017

Lightsail用于较小的项目,不支持负载 平衡或自动缩放组。

要做的唯一的事情就是确保每个实例都使用标签myasg,该标签与部署组中使用的标签相同。

Tagged instances

Deployment Group tags

但这还不够。

解决方法

基于评论:

Lightsale(LS)实例被视为本地实例。这意味着要与它们一起使用CodeDeploy(CD),需要将它们注册为CD 作为本地实例。

为此,可以遵循三个步骤:

  1. 确保已在LS实例上安装并运行CD代理。 answer包含有关安装过程的详细信息。

codedeploy-agent is running

  1. 在AWS CLI中,向CD注册LS实例(请注意,Amazon_Linux_2是实例的名称)
aws deploy register-on-premises-instance --instance-name Amazon_Linux_2 --iam-user-arn arn:aws:iam::525221857828:user/Linux2CodeDeployUser --region eu-west-2
  1. 向已注册的实例添加标签:
aws deploy add-tags-to-on-premises-instances --instance-names Amazon_Linux_2 --tags Key=myasg --region eu-west-2,(2.3) aws deploy list-on-premises-instances --region eu-west-2

instance is registered as on-premise instance

这意味着,在第一个OP的屏幕截图上,现在有“本地实例”菜单选项,其中包含以下内容

Instance can be seen in on-premises menu

如果先前的尝试在注册之前失败,请重试部署。

Deployment worked fine

,如果您检查实例的公用IP

Instance public IP

并在浏览器中导航到它,您应该看到预期的结果

Deployment using Amazon Linux 2 Lightsail instance