Domain-Name-System
在 Amazon EC2 上重新啟動實例時使 mysql.user 主機保持最新
每當我重新啟動 Amazon EC2 實例時,它都會生成一個新的 IP 地址和一個新的私有 DNS。這是有問題的,因為我必須進入數據庫並更新 mysql.users 以將新的私有 DNS 添加為主機。
我可以使用彈性 IP 或類似的東西來防止自己在每次實例重新啟動時更新 MySQL 數據庫,還是它總是會分配一個新的私有 DNS?
您應該使用 VPC。Amazon 的 VPC(虛擬私有云)在隔離網路中執行您的實例,對於實例的靜態內部 IP 等內容非常有用。它不需要任何額外費用,並且易於配置。
您可以允許 10.% 範圍並使用亞馬遜防火牆來限制安全組,這將是最簡單的選擇。
如果您想明確維護內部 IP 列表並為它們頒發授權,您可以引導您的實例以呼叫腳本或轉儲可用實例列表。您可以為此使用 python 和 boto 庫,例如,
#!/usr/bin/python from boto import ec2 AWS_ACCESS_KEY_ID = 'YOUR_KEY' AWS_SECRET_ACCESS_KEY = 'YOUR_SECRET_KEY' filters = {'instance-state-name' : 'running'} ec2conn = ec2.connection.EC2Connection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) reservations = ec2conn.get_all_instances(filters=filters) instances = [i for r in reservations for i in r.instances] for i in instances: print i.private_ip_address
您也可以發布其他過濾器,例如僅針對特定組或檢查特定標籤。