RDS 인스턴스의 이름을 바꿀 수 있습니까?


11

임의의 (쓸모없는) DB 인스턴스 이름을 가진 RDS MySQL 인스턴스 컬렉션을 상속했습니다 .

나는 종종 어떤 섹션에 속하는지 알아 내기 위해 tags 섹션 을 파헤쳐 야 합니다.

RDS에서 수정할 수있는 설정 중 하나는 DB Instance Identifier입니다.

변경하면 이름 변경 외에 어떤 일이 발생합니까? 다른 사람의 코드에 영향을 줍니까? 아니면 무해한 변화입니까?

이것들은 내가 무너 뜨릴 수없는 라이브 시스템입니다.

답변:


10

예, RDS 인스턴스의 이름을 스스로 변경할 수 있습니다.

DB 인스턴스의 이름을 변경하면 URL에 DB 인스턴스에 할당 된 이름이 포함되므로 DB 인스턴스의 [DNS] 엔드 포인트 [호스트 이름]이 변경됩니다.

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RenameInstance.html

이러한 이유로 응용 프로그램 코드에서 구성 변경을 조정해야합니다.

다른 의미에 대해서는 위의 링크를 참조하십시오. 이것은 지원되고 일반적으로 안전한 작업이지만 유지 관리 기간에만 해당됩니다. DNS가 변경되고 앱 데이터베이스가 새 데이터베이스 호스트 이름으로 순환 될 때 잠시 중단이 발생하기 때문입니다.


3

예. 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)

참고 위의 모든 접근 방식은 비행 중 트랜잭션으로 인한 데이터 무결성 및 부적절한 데이터 업데이트를 보장하지 않습니다. 따라서 모든 응용 프로그램 액세스를 중지하고 유지 관리 페이지를 배포하고 작업을 수행하여 모든 트랜잭션을 중지하는 것이 좋습니다.


이상한 (쓸모없는) 이름이 특히 CLI를 사용하여 나온다는 것을 알게되었지만 귀하의 의견에 감사드립니다. 콘솔에서 RD 인스턴스를 생성하면 의미있는 이름이 지정됩니다.
Danny Schoemann

CLI에서 청구 분석을 수행하고 사용량 그래프를 보는 것은 매우 어렵습니다 (불가능합니까?).
Danny Schoemann

1
# 1 (당신은 RDS 이름을 정의 할 수있는) 내가 CLI 내가 RDS 목록을 읽는 언급했다 말했을 때 오는 창조를 위해 당신은 GREP 사용하기 쉬운 구문 분석 (Cloudformation 좀 걸릴 수 있습니다 --output=text. # 2 및 예를 청구 분석을 위해, 콘솔은 필수입니다. 대금 청구 역할을 가진 IAM 사용자를 만들어 재무 담당자에게
양도하는 것을 고려해야
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.