Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何理解亚马逊ECS集群_Amazon Web Services_Deployment_Amazon Ec2_Docker_Amazon Ecs - Fatal编程技术网

Amazon web services 如何理解亚马逊ECS集群

Amazon web services 如何理解亚马逊ECS集群,amazon-web-services,deployment,amazon-ec2,docker,amazon-ecs,Amazon Web Services,Deployment,Amazon Ec2,Docker,Amazon Ecs,我最近尝试使用AWS的任务定义部署docker容器。一路上,我遇到了以下问题 如何将实例添加到集群?在使用Amazon ECS控制台创建新集群时,如何向新集群添加新的ec2实例。换句话说,当启动一个新的ec2实例时,需要什么配置才能将其分配到Amazon ECS下用户创建的集群 一个集群需要多少个ECS实例,影响因素是什么 如果集群中有两个实例(ins1、ins2),并且我的webapp、db容器都在ins1中运行。在我更新了正在运行的服务(通过)之后,我可以看到新创建的服务正在“ins2”中运

我最近尝试使用AWS的任务定义部署docker容器。一路上,我遇到了以下问题

  • 如何将实例添加到集群?在使用Amazon ECS控制台创建新集群时,如何向新集群添加新的ec2实例。换句话说,当启动一个新的ec2实例时,需要什么配置才能将其分配到Amazon ECS下用户创建的集群

  • 一个集群需要多少个ECS实例,影响因素是什么

  • 如果集群中有两个实例(ins1、ins2),并且我的webapp、db容器都在ins1中运行。在我更新了正在运行的服务(通过)之后,我可以看到新创建的服务正在“ins2”中运行,然后在“ins1”中耗尽旧服务。我的问题是,在我的webapp容器分配给另一个实例后,访问IP地址变成另一个实例IP。如何防止或采用什么解决方案使同一IP地址访问webapp?不仅是IP,更改到新实例后的数据如何


  • 这实际上是三个完全不同的问题,因此最好将它们相应地划分为不同的问题-不管怎样,我将尝试提供一个答案:

  • 如果是间接添加的,则每个实例上的任务是向您创建和命名的集群注册自己,有关详细信息,请参阅和。要使其正常工作,您需要按照中概述的步骤进行操作,无论是手动操作还是通过自动化操作。注意第10步:
  • 默认情况下,容器实例启动到默认状态 簇如果您想启动到您自己的集群而不是 默认情况下,选择“高级详细信息”列表并粘贴以下内容 将脚本写入用户数据字段中,将_cluster_名称替换为 群集的名称

    #!/bin/bash
    echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
    
  • ECS只需一个实例即可正常工作,因为集群本身由AWS代表您进行管理。但这对于高可用性场景来说还不够:

    • 因为容器主机只是普通的Amazon实例,所以您需要遵循AWS最佳实践,并将它们分散在两到三个实例上,以便AZ(罕见)中断不会影响您的群集,因为ECS可以将您的容器迁移到不同的主机实例(前提是您的群集有足够的备用容量)
    • 许多促进容器的高级集群技术都有自己的服务编排层,通常需要不均匀的>=3(服务)实例才能实现高可用性设置。例如,您可以在中的“最佳集群大小”一节中了解更多信息(另请参见)
  • 这又回到了第2节中提到的高可用性和服务编排主题。更准确地说,您的客户已经面临以下问题,即使在使用容器技术,特别是微服务时,这种问题也变得更加普遍:

    • 为了熟悉这一点,我推荐Jeff Lindsay的一篇非常好的概述,专门针对您的用例
    • Jeff还维护了一个日益流行的容器化版本,这使得服务注册自己和通过DNS或HTTP接口发现其他服务变得简单(请参阅和)

  • 真棒的回答!我希望它仍然有效,但你给我的印象是,如果有什么变化,你会更新他的答案。