У меня были вопросы по настройке приложения PHP, чтобы оно читало из правильной репликации Amazon RDS.
Подробности:
Я настроил базу данных MySQL на AWS RDS и создал репликацию в разных зонах, таких как US-EAST, US-WEST, EU и т. Д. Теперь RDS имеет разные публичные URL-адреса для каждой репликации. У меня также есть серверы в тех зонах, на которых я разместил свое php-приложение.
У меня вопрос, как я могу настроить мое приложение php так, чтобы оно читало из репликации своей собственной зоны.
Вы можете настоятельно рекомендовать использовать API метаданных AWS. Смотрите здесь для документации:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
Используя это, вы можете вызвать конечную точку, такую как
http://169.254.169.254/latest/meta-data/placement/availability-zone
Чтобы получить зону доступности, в которой был запущен экземпляр.
На основании этого вы можете иметь файл конфигурации, такой как
{
'rds_endpoint': {
'us-east-1': '[RDS endpoint information]',
'us-west-1': '[RDS endpoint information]',
...
}
}
Затем ваше приложение может прочитать информацию о своей зоне доступности из API и найти подходящую конечную точку RDS из карты конфигурации.
Других решений пока нет …