私はASGで2つのEC2インスタンスを持っています。自動拡大を使用するように設定されたDeploymentGroup1でcodeDeployにApplication1を作成しました。コード生成されたASGの下で新しく作成されたEC2インスタンスにコードを自動的にデプロイする方法はありますか?
私が直面している問題は、新しいEC2インスタンスがプロビジョニングされると、codedeployは新しいデプロイメントを作成せず、コードがインスタンスにプッシュされないということです。何が起きているのかを見るためのログがあるようには見えません。
私は私の自動スケーリンググループのためのフックをリスト
私はそれらを参照してください行います$ aws autoscaling describe-lifecycle-hooks --auto-scaling-group-name SAND-web-ASG
{
"LifecycleHooks": [
{
"GlobalTimeout": 60000,
"HeartbeatTimeout": 600,
"AutoScalingGroupName": "SAND-web-ASG",
"LifecycleHookName": "CodeDeploy-managed-automatic-launch-deployment-hook-DeployToNewEC2underASG-...",
"NotificationMetadata": "....",
"DefaultResult": "ABANDON",
"NotificationTargetARN": "arn:aws:sqs:us-west-1:blabla:blahh-us-west-1-prod-default-autoscaling-lifecycle-hook",
"LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING"
}
]
}
不足しているものがあるか間違ってここに?これらはカスタムではなく、コード化された環境によって作成されます。
私はguide to setup codedeploy with ASGに従っていましたし、新しいインスタンスがcodedeployが新しい展開を作成しません作成されたときにすべてが作成されますが、何らかの理由ます。..と..
私のサービスの役割は2を持っているなぜ私は一種の迷ってしまいましたIAMポリシー:
1 - 次の権限でcodePipelinePolicy(カスタム) - アマゾンAWSCodedeployRole
2からデフォルト:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"autoscaling:CompleteLifecycleAction",
"autoscaling:DeleteLifecycleHook",
"autoscaling:DescribeAutoScalingGroups",
"autoscaling:DescribeLifecycleHooks",
"autoscaling:PutLifecycleHook",
"autoscaling:RecordLifecycleActionHeartbeat",
"autoscaling:CreateAutoScalingGroup",
"autoscaling:UpdateAutoScalingGroup",
"autoscaling:EnableMetricsCollection",
"autoscaling:DescribeAutoScalingGroups",
"autoscaling:DescribePolicies",
"autoscaling:DescribeScheduledActions",
"autoscaling:DescribeNotificationConfigurations",
"autoscaling:DescribeLifecycleHooks",
"autoscaling:SuspendProcesses",
"autoscaling:ResumeProcesses",
"autoscaling:AttachLoadBalancers",
"autoscaling:PutScalingPolicy",
"autoscaling:PutScheduledUpdateGroupAction",
"autoscaling:PutNotificationConfiguration",
"autoscaling:PutLifecycleHook",
"autoscaling:DescribeScalingActivities",
"autoscaling:DeleteAutoScalingGroup",
"ec2:DescribeInstances",
"ec2:DescribeInstanceStatus",
"ec2:TerminateInstances",
"tag:GetTags",
"tag:GetResources",
"sns:Publish",
"cloudwatch:DescribeAlarms",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeInstanceHealth",
"elasticloadbalancing:RegisterInstancesWithLoadBalancer",
"elasticloadbalancing:DeregisterInstancesFromLoadBalancer"
],
"Resource": "*"
}
]
}
ここに何かが見つからないのでしょうか、それとも私が見ていない何か間違った(愚かなミス)がありますか?
本当にありがとうございました。 ありがとう、 Ernest
これらのEC2インスタンスにCodeDeployエージェントをインストールして実行していますか?そうでない場合は、それが必要です。存在する場合は、CodeDeployエージェント(/ opt/codedeploy-agent/deployment-root/deployment-logs)のログを確認します。 – jarmod
はい、エージェントがインストールされています。:instance/i- ") 2017-07-19 15:18:14情報[codedeploy-agent(3534)]:/ opt/codedeploy-agent/.versionにあるバージョンファイル
は、Amazon LinuxのOSには、ログが/var/log/aws/codedeploy-agent/codedeploy-agent.log
の下でのIT、それは
'2017年7月19日15時17分13秒INFO [codedeploy-agentを(示してい3534)]:/opt/codedeploy-agent/.versionにあるバージョンファイル。 2017-07-19 15:18:13情報[codedeploy-agent(3534)]:[Aws :: CodeDeployCommand :: Client 200 60.290274 0 retries] poll_host_command(host_identifier: "arn:aws:ec2:us-west-1 :
ありがとう – kabucek
まだ解決していない場合は、トラブルシューティングガイド(http://docs.aws.amazon.com/codedeploy/latest/userguide/troubleshooting.html)を参照してください。 – jarmod