Amazon ec2 Amazon EC2代码部署没有成功的主机

Amazon ec2 Amazon EC2代码部署没有成功的主机,amazon-ec2,amazon,aws-ec2,aws-code-deploy,Amazon Ec2,Amazon,Aws Ec2,Aws Code Deploy,我是亚马逊代码部署新手。部署时我遇到一个错误 部署失败 没有主机成功 我检查了Linux机器上的服务代码部署代理,它正在运行 如何解决此问题 正如BrunoLevy所说,我们需要更多关于您尝试进行的部署的信息 但是,作为调试的起点,您可以从部署页面观察部署失败的步骤 您还可以查看主机上的host agent日志文件(/var/log/aws/codedeploy agent/codedeploy agent.log)。该文件包含有关部署的信息。大多数情况下,由于实例和CodeDeploy服务的I

我是亚马逊代码部署新手。部署时我遇到一个错误

部署失败
没有主机成功

我检查了Linux机器上的服务代码部署代理,它正在运行
如何解决此问题

正如BrunoLevy所说,我们需要更多关于您尝试进行的部署的信息

但是,作为调试的起点,您可以从部署页面观察部署失败的步骤


您还可以查看主机上的host agent日志文件(/var/log/aws/codedeploy agent/codedeploy agent.log)。该文件包含有关部署的信息。

大多数情况下,由于实例和CodeDeploy服务的IAM权限不足,会出现此问题。您需要检查/var/log/aws/codedeploy-agent/codedeploy-agent.log文件以了解详细信息。同样在
/etc/codedeployagent/conf/codedeployagent.yml
文件中,您可以设置
:verbose:true
以在日志文件中获取更多信息

以下是您需要更新的IAM策略:

// Policy Role for Code Deploy
{
  "Version": "2012-10-17",
  "Statement": [
 {
  "Action": [
    "autoscaling:PutLifecycleHook",
    "autoscaling:DeleteLifecycleHook",
    "autoscaling:RecordLifecycleActionHeartbeat",
    "autoscaling:CompleteLifecycleAction",
    "autoscaling:DescribeAutoscalingGroups",
    "autoscaling:PutInstanceInStandby",
    "autoscaling:PutInstanceInService",
    "ec2:Describe*"
  ],
  "Effect": "Allow",
  "Resource": "*"
}
 ]
}

// Policy Trust for Code Deploy
{
  "Version": "2012-10-17",
  "Statement": [
{
  "Sid": "",
  "Effect": "Allow",
  "Principal": {
    "Service": [
      "codedeploy.us-west-2.amazonaws.com",
      "codedeploy.us-east-1.amazonaws.com"
    ]
  },
  "Action": "sts:AssumeRole"
}
 ]
}

// Instance Role for EC2 Instance
{ 
"Version": "2012-10-17", 
"Statement": [   
  {     
      "Action": [       
          "s3:Get*",       
          "s3:List*"     
      ],     
      "Effect": "Allow",     
      "Resource": "*"   
  } 
]
}

这是因为codeDeploy通过点击实例来检查ec2实例的运行状况。在部署之前,您需要在实例上运行bash脚本并检查脚本是否工作。必须启动httpd服务。重新启动实例

    #!/bin/bash
    sudo su
    yum update -y
    yum install httpd -y
    yum install ruby
    yum install aws-cli
    cd ~
    aws s3 cp s3://aws-codedeploy-us-east-1/latest/install . --region us-east-1
    chmod +x ./install auto
    ./install auto
    echo 'hello world' > /var/www/html/index.html
    hostname >> /var/www/html/index.html
    chkconfig httpd on
    service httpd start

顺便说一句,如果这有帮助的话,当我在错误页面中查看时,我还可以看到最小健康主机0/1实例。有什么想法吗?我们可能需要更多信息来帮助您。你运行了哪个命令?确切的输出是什么?