#amazon-web-services #amazon-rds #aws-serverless
#amazon-web-services #amazon-rds #aws-бессерверная
Вопрос:
В одном из наших проектов я понял, что мне нужно переместить службу AppSync и бессерверную RDS Aurora (совместимую с MySQL) Кластера базы данных для нового набора подсетей. Мы используем бессерверную платформу для всех наших проектов, поэтому все изменения были внесены в serverless.yml
файлы. Я создал две новые подсети в разных AZS, переместил преобразователи AppSync и лямбды в новые подсети и изменил DBSubnetGroup для использования новых подсетей. Я полагал, что эти изменения будут означать, что старые подсети больше не используются и могут быть удалены.
После внесения изменений я понял, что не могу удалить исходную пару подсетей, поскольку они все еще были связаны с двумя сетевыми интерфейсами, используемыми конечной точкой VPC, автоматически созданной подсетевой группой RDS DB. Поскольку эти ресурсы были созданы AWS от моего имени, я не смог изменить сетевые интерфейсы. При попытке отсоединить их от подсетей я получал сообщение об ошибке You are not allowed to manage 'ela-attach' attachments.
При попытке удалить конечную точку VPC я получал сообщение об ошибке Operation is not allowed for requester-managed VPC endpoints for the service {DNS_NAME}.
Я понимаю, почему AWS создала эти ресурсы. Однако я не понимаю, почему сетевые интерфейсы все еще были связаны с исходной парой подсетей ПОСЛЕ того, как я изменил подсетевую группу DB, чтобы удалить исходные подсети и добавить новые подсети, созданные в AZS, которые я действительно хотел. Я подтвердил, что база данных по-прежнему доступна из моих служб передачи данных, хотя конечная точка VPC указывает, что трафик проходил через старые подсети, которые не были связаны с группой подсетей. Во время экспериментов в моей среде разработки я обнаружил, что единственным способом исправить ситуацию было создать НОВУЮ подсетевую группу и воссоздать бессерверный кластер БД (поскольку невозможно изменить кластер, чтобы указать на новую подсетевую группу). После создания нового кластера существовала другая конечная точка VPC с сетевыми интерфейсами, связанными с новыми парами подсетей.
В конце концов, этот вопрос более или менее академический, поскольку наше решение еще не запущено в производство, и я могу либо воссоздать базы данных test / prod с нуля с помощью кода ORM, либо просто взять и восстановить снимок. Однако я хотел бы знать, что я мог бы сделать по-другому. Спасибо за любой вклад!
Ссылки, которые я использовал:
- https://aws.amazon.com/premiumsupport/knowledge-center/change-vpc-rds-db-instance/
- https://aws.amazon.com/premiumsupport/knowledge-center/rds-vpc-aurora-cluster/
- https://aws.amazon.com/premiumsupport/knowledge-center/rds-db-subnet-group/
- https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Modifying.html
- https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html