답변:
예, RDS 인스턴스의 이름을 스스로 변경할 수 있습니다.
DB 인스턴스의 이름을 변경하면 URL에 DB 인스턴스에 할당 된 이름이 포함되므로 DB 인스턴스의 [DNS] 엔드 포인트 [호스트 이름]이 변경됩니다.
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RenameInstance.html
이러한 이유로 응용 프로그램 코드에서 구성 변경을 조정해야합니다.
다른 의미에 대해서는 위의 링크를 참조하십시오. 이것은 지원되고 일반적으로 안전한 작업이지만 유지 관리 기간에만 해당됩니다. DNS가 변경되고 앱 데이터베이스가 새 데이터베이스 호스트 이름으로 순환 될 때 잠시 중단이 발생하기 때문입니다.
예. RDS 인스턴스의 이름을 변경할 수 있지만 LIVE 프로덕션 환경에서는 그렇게하지 않는 것이 좋습니다. 응용 프로그램 서버와 같이 RDS 서버에 적극적으로 액세스하는 다른 리소스에 영향을 줄 수있는 EndPoint를 변경합니다.
코드 또는 구성의 속성 / 환경 변수 변경이 필요할 수 있습니다 (구성 관리를 통한 구성 릴리스가 이상적임)
RTO가 더 적은 중단 (미래) 및 롤아웃 변경을 피하기 위해 RDS 서버에 대한 Route53에 중간 DNS 항목 (CNAME)을 생성하고 응용 프로그램에서 중간 URL을 사용할 수 있습니다. RDS 서버 이름이 변경되면 새 RDS 끝점의 DNS CNAME 만 변경할 수 있습니다. 참고 : 이름을 변경하는 동안 몇 분 동안 RDS 서버를 사용할 수 없으며 (이전 이름 포함) 중단 될 수 있습니다
즉, 문제에 대한 해결책 (RDS 이름 변경)에 이미 편견이 있습니다. 그러나
실제 문제에 대한 여러 가지 솔루션이 있습니다 (각 프로젝트의 RDS 서버 관리)
A. 가능한 한 AWS 콘솔을 사용하지 마십시오. 태그를 가져올 수있는 AWS CLI를 살펴보고 래퍼 Python / Bash 스크립트를 작성하여 모든 RDS 서버를 나열하십시오 (프로젝트 이름 포함).이 출력에서 스냅 샷, 백업 등과 같은 서버를 관리 할 수 있습니다. mysql --login-path (DB 관리를 위해 mysql에있는 경우) https://opensourcedbms.com/dbms/passwordless-authentication-using-mysql_config_editor-with-mysql-5-6/을 사용할 수도 있습니다.
B. (비용에 구애받지 않는 접근 방식) RDS 이름을 변경하기로 결정한 경우 아무런 영향없이 수행 할 수있는 작업이 있습니다.
B.1 When the next code/config release happens try to bring in the intermediate DNS change into action.
B.2 (Optional) Enable Multi AZ in RDS (HA and twice the price). This will help your application to access the secondary active slave when there is any disruption due to name change. There is an option called Reboot with failover which would reboot the master while failing over to the active secondary
B.3 Enable replication (read-replica) (this will give you a new RDS end-point). Name the read replica properly with your project names
B.4. Once replication is complete (and during your SLA / maintenance window) promote your read replica (this will break replication) and make the intermediate DNS point to the new RDS (with your proper names)
참고 위의 모든 접근 방식은 비행 중 트랜잭션으로 인한 데이터 무결성 및 부적절한 데이터 업데이트를 보장하지 않습니다. 따라서 모든 응용 프로그램 액세스를 중지하고 유지 관리 페이지를 배포하고 작업을 수행하여 모든 트랜잭션을 중지하는 것이 좋습니다.
--output=text
. # 2 및 예를 청구 분석을 위해, 콘솔은 필수입니다. 대금 청구 역할을 가진 IAM 사용자를 만들어 재무 담당자에게