为什么EBS一直在等待被终止的实例? 2016-03-02 01:41:22 UTC + 0100 INFO还在等待以下3个例子变得健康:[i-1b5e9691,i-7f5c94f5,i-5d5e96d7]。 只有一个实例仍处于活动状态,并通过了负载均衡器运行状况检查,其他一些实例早已终止。 我可以用适当的生命周期或ebs健康检查来解决这个问题吗? 负载平衡器上的我的ec2实例通过TCP端口80上的健康检查,但可能由于文档根configurationebs失败。 http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/lifecycle-hooks.html http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-healthcheck.html (最终configuration回滚)。
有没有人有在AWS上运行Consul Agent的经验? 我有一个consul服务器集群正在运行,但想要使用AWS EB为每个Host实例部署Docker应用程序和docker consul代理(progrium / consul),以便应用程序可以使用本地主机上的consul,而不是我所有的应用程序直接回到领事服务器组。 这个页面提供了一个教科书Consulnetworking的一个很好的例子(没有引用AWS或者docker等) – https://jlordiales.me/2015/01/23/docker-consul/ 这是我的Dockerrun.aws.json { "AWSEBDockerrunVersion": "2", "authentication": { "bucket": "example-com", "key": "registry.example.com/example.json" }, "containerDefinitions": [ { … php app container defined here … "portMappings": [ { "containerPort": 80, "hostPort": 80 } ] }, { "cpu": 1000, "entryPoint": [], "environment": [ { "name": "CONSUL_JOIN", "value": "consul.example.com" }, { […]
我在Elastic Beanstalk环境中有两个环境(生产,分期),并且想要为这些环境使用的EC2实例设置CloudWatch Agent日志logging。 在阅读EB Cloudwatch日志时 ,该过程看起来相对比较简单,只需要进行两项修改,为CloudWatch Log添加到EB实例configuration文件的IAM权限,并将三个configuration文件添加到.ebextensions 。 不过,我不知道我是否正确部署新添加的configuration文件。 我只是重新启动实例,而不是运行eb deploy并且从CloudWatch界面不显示任何代理已安装。 只有在运行eb deploy时才会configuration.ebextensions eb deploy ?
我是AWS的新手,我正在尝试使用Beanstalk来运行Node.js应用程序。 该应用程序正在运行,我想从prod git分支部署代码。 我遵循这个教程: http : //docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-reference-branch-environment.html 但是当我尝试运行时: eb branch 我明白了 $ eb branch usage: eb (sub-commands …) [options …] {arguments …} eb: error: unrecognized arguments: branch 我安装了EB CLI 3.10.0(Python 3.6.0),我在maxOS Sierra(10.12.3)上。 为什么这个命令不起作用? 谢谢! nicondev
我试图使用Saved Configs自动configuration我的Elastic Beanstalk应用程序。 有没有人有一个如何让从Elastic Beanstalk创build的应用程序负载均衡器使用不同的健康检查端口的例子? 如果没有,是否有方法访问底层资源,以便我可以将自定义HealthCheckPort: 8081应用于目标组? 细节和尝试迄今: 该应用程序是一个简单的基于DropWizard的Java应用程序,它在端口8080上提供HTTP API,在端口8081上提供运行状况检查API。 我已经成功地使用Classic ELB通过以下OptionSettingsconfiguration环境: OptionSettings: aws:elasticbeanstalk:environment: EnvironmentType: LoadBalanced LoadBalancerType: classic aws:elasticbeanstalk:application: Application Healthcheck URL: HTTP:8081/healthcheck aws:elasticbeanstalk:environment:process:default: MatcherHTTPCode: '200' Port: '8080' Protocol: HTTP aws:elb:healthcheck: HealthyThreshold: '3' Interval: '10' Timeout: '5' UnhealthyThreshold: '5' aws:elb:listener:80: ListenerProtocol: HTTP InstancePort: '8080' InstanceProtocol: HTTP ListenerEnabled: true aws:elb:loadbalancer: CrossZone: true 但是,当我更新configuration以使用应用程序ELB时,与目标组关联的运行状况检查设置为应用程序端口(8080)而不是健康检查端口(8081)。 这会导致应用程序启动失败状态,只能通过手动更改目标组运行状况检查端口来纠正。 OptionSettings: aws:elasticbeanstalk:environment: […]
目前,你不能使用yum安装纱线,所以似乎没有一种简单的方法来创build一个在资产预编译之前安装它的configuration。
我目前有以下设置: 运行使用Elastic Beanstalk的API(Node.JS),目前只运行一个EC2实例 运行在独立EC2实例上的MongoDB实例 目前,我有两个安全组,一个用于DB,我们称之为sg-db ,另一个由Elastic Beanstalk生成,称为awseb-e-wwbtetapaa-stack-AWSEBSecurityGroup-xx 。 在sg-db上 ,我把端口27017打开到0.0.0.0/0。 我试图closures端口,以便只有我的Elastic Beanstalk应用程序可以访问它。 我已经尝试打开27017为awseb-e-wwbtetapaa-stack-AWSEBSecurityGroup-xx ,但它没有工作,我仍然无法访问它。 出于testing目的,我尝试连接运行API的EC2实例,然后尝试打开我的数据库实例上的端口22,我尝试打开awseb-e-wwbtetapaa-stack-AWSEBSecurityGroup-xx上的端口22并在亚马逊 -elb上-sg 。 两者都没有工作。 任何人有关于如何closuresMongoDB端口的想法? 这是一个相当大的安全缺陷,现在打开到0.0.0.0/0。 编辑 我想出了正在发生的问题。 显然,在指定Elastic Beanstalk应用程序的安全组时,您不能使用公共IP。 使用私有IP似乎工作得很好。 所以现在我只需要find一个方法来设置一个“静态”私人IP或类似的解决scheme。 编辑2 似乎使用公共DNS在EC2实例中使用它时返回私有IP。
我想在cloudwatch中查看我所有的日志。 我目前有一个多docker Elastic beanstalk环境。 我已经select了日志来推到cloudwatch去 Elastic Beanstalk > App > Env > Configuration > Software Configuration > CloudWatch Logs 这是启用的。 当我在看cloudwatch,我看到以下几点.. /aws/elasticbeanstalk/myapp-staging/var/log/docker-events.log /aws/elasticbeanstalk/myapp-staging/var/log/eb-activity.log /aws/elasticbeanstalk/myapp-staging/var/log/eb-ecs-mgr.log /aws/elasticbeanstalk/myapp-staging/var/log/ecs/ecs-agent.log /aws/elasticbeanstalk/myapp-staging/var/log/ecs/ecs-init.log 但是我没有看到nginx的访问/错误日志。 我有这在我的Dockerrun.aws.json "mountPoints":[ { "sourceVolume": "awseb-logs-nginx", "containerPath": "/var/log/nginx" } 如果我SSH的实例与这个包含上我可以看到这些日志(当我点击URLS)正在生成(如预期)在/var/log/containers/nginx/access.log的本地path等 此外,如果我去EBS>日志和请求最近的日志,我也可以看到他们什么是在访问日志中,它只是没有被发送到CloudWatch? 我想知道如果我必须设置正确的path的Log Group ,我试过这个,但没有得到填充? 我相信我错过了一些推动CloudWatch的事情,非常感谢! 更新:我已经添加下面,这是build议作为要求。 该文件位于名为nginx_logs.conf .ebextensions文件夹中。 packages: yum: awslogs: [] files: "/etc/awslogs/config/nginx_logs.conf" : mode: "000600" owner: root […]
我很好奇人们如何运行一个像他们的eb应用程序db migrate命令。 如果将其添加为.ebextensions我担心如果您有一个应用程序的多个实例,则在多个服务器尝试运行相同的迁移时可能会发生冲突。 在部署过程中的什么时候应该运行db migrate命令?
我最近更新了我的环境configuration:运行Ruby 2.2(Passenger Standalone)的64位Amazon Linux 2015.03 v1.4.6。 在使用eb deploy部署我的应用程序之后,我现在在var / log / eb-commandprocessor.log中得到一个错误,指出: [2016-01-07T01:45:48.109Z] INFO [2602] : Command processor returning results: {"status":"FAILURE","api_version":"1.0","results":[{"status":"FAILURE","msg":"(TRUNCATED)…e ']'\n+ bundle install\nDon't run Bundler as root. Bundler can ask for sudo if it is needed, and\ninstalling your bundle as root will break this application for all non-root\nusers on this machine.\n Your Ruby version […]