Как мы можем создать межрегиональную реплику чтения RDS, используя шаблон формирования облака AWS?
Я легко нашел способ создать реплику чтения RDS в том же регионе с помощью облачного формирования AWS, но:
1. Можем ли мы создать то же самое в другом регионе, используя шаблон CF?
2. Также можем ли мы продвинуть его до основного использования шаблона CF?
1 ответ
1) Да, вы можете создать реплику чтения RDS в другом регионе, используя CloudFormation. Создайте шаблон CloudFormation в целевой области (где вы хотите создать реплику для чтения) и укажите исходный экземпляр базы данных arn (который находится в исходной области) в качестве входных данных для SourceDBInstanceIdentifier
,
Resources:
# Create Data DB
myReplciaDB:
Type: AWS::RDS::DBInstance
Properties:
DBInstanceIdentifier: "read-replica"
PubliclyAccessible: false
SourceDBInstanceIdentifier: "arn:aws:rds:us-east-1:XXXXXX:db:source-database"
StorageType: gp2
Проверьте эту ссылку для получения дополнительной информации.
2) В настоящее время я не думаю, что можно продвигать реплику чтения с использованием облачной информации. Но вы можете добиться этого с помощью лямбда-функции.
- Создайте лямбда-функцию в целевой области, которая использует
promote-read-replica
API в SDK на ваш выбор. Создайте тему sns в исходной области и добавьте ее в качестве триггера для лямбда-функции. Не забудьте добавить разрешение на запуск SNS для Lambda с помощью SNSTopicArn.
В исходной консоли RDS перейдите к подписке на события и выберите тему sns arn, которую вы создали выше, в качестве целевого arn для получения событий. Под категориями событий выберите
deletion, failure
для вас исходная база данных.