将ELB附加到私有子网中的ASG

时间:2018-06-11 10:10:19

标签: amazon-web-services autoscaling elastic-load-balancer private-subnet

感谢您提前的时间。我是AWS的新手,并尝试设置面向应用程序处理HTTP / HTTPS请求的云。

我有一个域名(example.com)附加到Elastic Load Balancer(ELB),我的要求就是将 ELB连接到AutoScaling组(ASG) 最小 - 最大2-5 EC2。 我希望将ASG创建的EC2放置在私有子网中。

我正在按照here提供的解决方案,但正如我在步骤5中所理解的那样,它是用于将ELB连接到现有的EC2实例。但我的要求是将其附加到ASG,因此无法连接到特定的EC2实例。

我现在只关注两个AZ,并在AZ中创建了一个公共和私有子网。创建ELB并将其附加到两个公共子网后,我继续进行Launch-Configuration& ASG。在设置LC和ASG时,我会要求澄清以下选择的含义。

在为ASG创建启动配置时,在其中一个步骤(IP地址类型)中,我有三个选项,即:

(1)如果在默认VPC / SubNet

中创建,则将公共IP提供给新实例

(2)新实例始终是公共IP

(3)新实例没有公共IP。

根据我的要求,应该选择上述哪一项?

其他问题

  1. 在创建ASG时选择子网时,是否应选择公共和私有子网仅公共SN 仅限私有SN ?我的猜测只是私有子网,因为我想将EC2置于私有SN中。

  2. 如果ASG创建的EC2将部署在私有SN中,那么公共子网中还应该有什么?

  3. 再次感谢您的时间和指导。

    6月13日更新

    对于我上面发布的问题,我选择了以下选项:

    1. 为ASG创建启动配置时,IP地址类型:新实例没有公共IP。

    2. 在创建ASG时选择子网:仅限私有SN

    3. 我在公有子网中放置了NAT网关并更新了私有子网的路由表,以包含0.0.0.0/0到NAT的路由

    4. 事情正在发挥作用!!

1 个答案:

答案 0 :(得分:0)

您可以找到附加到自动扩展组here的AWS文档。您将ELB附加到ASG,或者如果它是应用程序负载均衡器,则将ALB的目标组附加到ASG:

  

将负载均衡器附加到组

     
      
  • https://console.aws.amazon.com/ec2/打开Amazon EC2控制台。

  •   
  • 在导航窗格的 Auto Scaling 下,选择 Auto Scaling   组

  •   
  • 选择您的论坛。

  •   
  • 详细信息标签上,选择修改

  •   
     

执行以下操作之一:

     
      
  • [经典负载均衡器]对于负载均衡器,选择您的负载   平衡器。

  •   
  • [目标群体]对于目标群体,请选择目标群体。

  •   
  • 选择保存

  •   

如果您的实例将在ELB后面,则不需要公共IP地址。您还应该在私有子网中启动它们。您的ELB将位于公共子网中,并将通信中继到这些私有子网中的实例。还将为ELB分配一个DNS名称alias to a custom DNS name of your own

从上面的文档中,您还可以使用CLI进行附加和分离:

  

附加经典负载均衡器

     

使用以下attach-load-balancers命令附加   指定的Auto Scaling组负载均衡器:

aws autoscaling attach-load-balancers --auto-scaling-group-name my-asg --load-balancer-names my-lb
     

附加到目标组

     

使用以下attach-load-balancer-target-groups命令进行附加   指定的目标组到Auto Scaling组:

aws autoscaling attach-load-balancer-target-groups --auto-scaling-group-name my-asg --target-group-arns my-targetgroup-arn
     

分离经典负载均衡器

     

使用以下detach-load-balancers命令分离负载   如果您不再需要,可以使用Auto Scaling组中的平衡器:

aws autoscaling detach-load-balancers --auto-scaling-group-name my-asg --load-balancer-names my-lb
     

分离目标组

     

使用以下detach-load-balancer-target-groups命令进行分离   如果您不再需要Auto Scaling组中的目标组:

aws autoscaling detach-load-balancer-target-groups --auto-scaling-group-name my-asg --target-group-arns my-targetgroup-arn