[英]Routing AWS/Route53 subdomain to ec2 instance
我在AWS的Route53上注冊了一個域名,並希望創建一個指向EC2實例的子域,其方式是在重新啟動計算機后持久化(經常發生) 。
1.1.1.1
) subdomain.example.com
是指向1.1.1.1
的A
記錄 2.2.2.2
和ec2-2-2-2-2.eu-west-1.compute.amazonaws.com
) subdomain.example.com
是指向ec2-2-2-2-2.eu-west-1.compute.amazonaws.com
的CNAME
記錄 subdomain.example.com
作為CNAME
ALIAS路由到負載均衡器 創建Elastic Load Balancing(ELB)並將實例添加到其中。將實例添加到ELB后,您不再需要彈性IP地址(靜態IP地址)。
不需要創建任何向上/向下擴展組(您可以手動添加自己/也可以根據需要創建一個)。每次重新啟動實例並獲取新IP地址時,您的負載均衡器將自動對您的EC2執行運行狀況檢查實例,僅將流量路由到通過運行狀況檢查的實例。
最后,將您的DNS更改為您的ELB。
唯一支持AWS的方法是使用彈性IP地址。 每個區域分配5個EIP地址,但這是一個軟限制。 您可以申請更多。 附加到運行的EC2實例時,EIP地址是免費的。
[編輯]
另一種方法是在EC2實例啟動時將您的Route53資源記錄更改為指向新IP地址。 這可以通過腳本(Python等)或通過CLI完成。
以下是我在維護時用於更改RRS以進行故障轉移的示例。
CLI命令行:
aws --profile PROD route53 change-resource-record-sets --hosted-zone-id Z13KCDXXXXXXXX --change-batch file://update_mydomain.json
update_mydomain.json的內容
{
"Comment": "Update record to reflect new IP address of www.mydomain.com",
"Changes": [
{
"Action": "UPSERT",
"ResourceRecordSet": {
"Name": "www.mydomain.com.",
"Type": "A",
"TTL": 300,
"ResourceRecords": [
{
"Value": "NEW_IP_ADDRESS"
}
]
}
}
]
}
修改域名和IP地址,然后運行CLI命令(我將其放入批處理腳本中)。 您還需要CLI命令的Route53記錄的Hosted Zone ID。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.