안녕하세요. 이쁜이와 멋쟁이의 "BTC_준호" 입니다.
오늘은 RDS 엔드포인트에 대해 이야기해보겠습니다.
RDS 엔드포인트란?
RDS 엔드포인트는 해당 RDS 인스턴스에 연결하기 위한 고유한 URL입니다. 이 엔드포인트는 RDS 인스턴스를 고유하게 식별하며, 사용자는 이 엔드포인트를 통해 데이터베이스와 통신하게 됩니다.
RDS 엔드포인트 구성 요소
RDS 엔드포인트는 세 가지 주요 요소로 구성됩니다:
1. 선택한 RDS 인스턴스 ID: 사용자가 생성한 RDS 인스턴스에 부여된 고유 식별자입니다.
2. 계정 및 지역 특정 해시: 특정 AWS 계정과 그 계정이 활성화된 지역을 고유하게 식별하는 암호화된 문자열입니다.
3. 지역 ID: RDS 인스턴스가 위치한 AWS 지역을 식별하는 식별자입니다. 예를 들어, 'ap-northeast-2'은 AWS의 아시아 태평양 (서울) 지역을 나타냅니다.
예를 들어, sample-instance.xyz1234.ap-northeast-2.rds.amazonaws.com라는 엔드포인트가 있다면,
'sample-instance'는 선택한 RDS 인스턴스 ID,
'xyz1234'는 계정 및 지역 특정 해시,
'ap-northeast-2'는 지역 ID를 나타냅니다.
이렇게 해석하면, 이 엔드포인트는 'sample-instance'라는 ID를 가진 RDS 인스턴스를 나타내며, 이 인스턴스는 'xyz1234' 해시를 가진 AWS 계정에서 'ap-northeast-2'(아시아 태평양(서울)) 지역에서 운영되고 있다는 것을 알 수 있습니다.
기존RDS 엔드포인트를 신규 RDS에 적용하는 방법
그렇다면 기존의 RDS의 엔드포인트를 신규 RDS에 적용하려면 어떻게 해야할까요?
특수한 상황이지만 엔드포인트가 어떤 구조로 이루어져 있는지 알면 가능한 작업입니다.
같은 계정, 같은 리전에서 A라는 RDS의 엔드포인트를 B라는 신규 RDS로 옮기고 싶다는 특수상황이 있다면 아래와 같이 작업하면 됩니다.
1. RDS A의 DB 인스턴스 식별자 수정
"RDS" > "데이터베이스" > "DB 인스턴스 수정" 에서 작업이 가능합니다.
RDS A의 DB 인스턴스 식별자를 새로운 이름으로 변경합니다.
2. RDS B의 DB 인스턴스 식별자를 RDS A의 DB 인스턴스 식별자로 생성
3. 엔드포인트 확인
위 상황은 정말 특수한 경우를 예시로 들었지만,
기존에 사용하던 RDS에 엔드포인트를 변경하지 않고 신규 RDS를 사용해야하는 상황이 종종있습니다.
(MySQL 8버전 이후 파라미터 그룹 lower_case_table_names 값 수정 불가 등등...)
같은 리전 내의 RDS 엔드포인트 비교하면 동일한 리전 내에서 생성한 두 개의 RDS 인스턴스의 엔드포인트는 앞부분(즉, RDS 인스턴스 ID)만 다를 것입니다. 이는 각 RDS 인스턴스가 고유한 ID를 갖기 때문이며, 나머지 부분인 계정 + 리전 특정 해시와 리전 ID는 동일한 AWS 계정과 리전 내에서는 동일하게 유지됩니다.
AWS RDS 엔드포인트를 이해하는 것은 RDS의 작동 방식과 데이터베이스와의 연결 방식을 이해하는 데 중요한 첫걸음입니다. 이해가 어려운 부분이 있거나 추가로 알아보고 싶은 내용이 있다면 댓글로 언제든 질문해주시면 감사합니다.
'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글
Cloud-init (0) | 2023.08.07 |
---|---|
[AWS] Amazon SQS (0) | 2023.08.04 |
AWS VPC FlowLog (0) | 2023.08.04 |
[Assume Role with Web Identity] 구글 계정으로 AWS SDK 사용하기 (0) | 2023.08.04 |
[AWS] VPC Traffic Mirroring (0) | 2023.08.04 |
댓글