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內處理完一個請求的話,那麼這個連接會被判定爲失敗。