У меня есть экземпляр эластичного кэша, используемый производственными приложениями.
Теперь ребята, работающие в области данных, должны получить доступ к некоторым данным из Redis. Очевидно, что не может дать Prod Redis доступ к ним. И даже если бы я хотел дать это, эластичная боль не может быть доступна вне AWS.
Мне известен трюк экземпляра NAT , предоставляемый AWS. Но я думаю о другом решении.
Вот мое решение,
- Запустить экземпляр EC2
- установить на него redis и привязать его к его частному IP
- сделайте этот redis, подчиненный redache с эластичной болью, используя
SLAVEOF prod-redis-url prod-redis-port
, так что в нем будут все данные о продукте. Так как это раб, это будет только для чтения
- открыть порт перенаправления экземпляра EC2 на общедоступном интерфейсе
- Ребята, работающие в области данных, подключатся к Redis этого EC2, который будет иметь те же данные, что и Prod.
Я хотел получить несколько предложений по этому подходу: будь то какие-либо проблемы с безопасностью или что-то плохое. Поэтому, пожалуйста, дайте свои данные.
ОБНОВЛЕНИЕ: я начал с этого, я следовал шагам, которые я думал.
Но синхронизация redis между главным и подчиненным не происходит по какой-то причине. Экземпляры находятся в одной подсети, поэтому связь не должна быть проблемой.
Есть идеи, почему синхронизация не происходит?
Позволяет ли Elasticache даже синхронизировать master-slave с экземплярами вне кластера?
ОБНОВЛЕНИЕ: после сбора информации из некоторых других сообществ AWS не допускает такое поведение.