1. 首先,关于AWS ALB的说明文档,关于Route53的说明文档。
2. Alb是个负载均衡器。如图,相对应的还有一个target groups。Alb通过listener的监听端口或者url来重定向到另一个listener或者target groups。
同一个Alb可以有多个target groups,同一个target groups可以指向多台EC2。
3. Route53则是通过配置域名绑定到ec2的ip或者alb的DNS Name或者RDS的End Point。
4. Alb创建。
1) 假设目前有两台EC2,dev1和dev2。进入这里。
2) 选择“Application Load Balancer”后,进入配置。
注:Schema选择internal。
3) 如图,自定义名称并且可以添加listeners以及选择VPC和Zone,也可以创建完成后再另外添加listeners。
4) 配置路由。如果还没创建target group的话,同样的也可以先跳过。完成Alb创建。
5) 假设我们的三个应用但部署在不同的ec2中,端口是8010-8012。而8010端口的应用部署在linux1,8011、8012的部署在linux2,并且都是https协议。
那么我们的listener可以这样,listener8010处理请求并转发到linux1,listener8011和listener8012转发到linux2:
5. Target group创建。
1) 承接上面的Alb创建,我们需要创建三个target group:tg1 , tg2,tg3。
2) 选择刚刚创建的tg1,注册一个目标实例,也就是输入我们要转发到哪台ec2的ip。target group创建完成。
注:因为创建tg的时候要选择VPC,我们ec2的IP应该是这个域内的才可以创建成功。
3) 如果我们target type选择了instance的话,同样的也可以通过ec2的instance id来注册,如图选择Instance然后Add to registered:
6. Route53创建
常用的三种:通过配置域名绑定到ec2的ip或者alb的DNS Name或者RDS的End Point。
1) 绑定ec2的ip到我们创建的Record Set。Type选择A,并且Value填上我们EC2的ip就可以了,如图:
2) 绑定alb的DNS Name到我们创建的Record Set。Alias选择Yes,Alias Target输入Alb的DNS Name前缀选择刚刚创建的alb,输入框会自动补全。
3) 绑定RDS的End Point到我们创建的Record Set。Type选择CNAME,Value填上RDS的EndPoint。
注:
1) 因为创建的alb有空闲连接超时的限制,默认60s,最大只能是4000s,也就是如果我们的应用没有在4000s内处理完一个请求的话,那么这个连接会被判定为失败。