Amazon EC2 인스턴스를 배스천 호스트로 사용하여 로컬 시스템에서 프라이빗 Amazon RDS DB 인스턴스에 연결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 8월 20일

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 배스천(점프) 호스트로 사용하여 로컬 시스템에서 프라이빗 Amazon Relational Database Service(Amazon RDS) DB 인스턴스에 연결하려면 어떻게 해야 합니까?

간략한 설명

EC2 인스턴스를 점프 서버로 사용하여 로컬 시스템에서 프라이빗 RDS DB 인스턴스에 연결하려면 다음 단계를 따르세요.

  1. EC2 인스턴스를 시작 및 구성하고 인스턴스의 네트워크 설정을 구성합니다.
  2. RDS DB 인스턴스의 보안 그룹을 구성합니다.
  3. 로컬 시스템에서 RDS DB 인스턴스에 연결합니다.

중요: 프라이빗 Amazon RDS 또는 Amazon Aurora DB 인스턴스에 연결하려면 VPN 또는 AWS Direct Connect를 사용하는 것이 가장 좋습니다. VPN 또는 Direct Connect를 사용할 수 없는 경우 배스천 호스트를 사용하십시오. 다음 예제 구성은 보안 그룹을 사용하여 액세스를 제한하지만, 서브넷의 네트워크 ACL(액세스 제어 목록)을 제한하여 연결의 보안을 강화할 수도 있습니다. 0.0.0.0/0 대신 더 작은 범위를 사용하도록 인터넷 게이트웨이의 라우팅 범위를 제한할 수도 있습니다. 예를 들어 인터넷 게이트웨이를 추가할 때 필요한 CIDR 범위만 대상의 라우팅 테이블에 추가할 수 있습니다. 자세한 정보는 라우팅 옵션 예제를 참조하세요.

​해결 방법

다음 예제 구성은 Amazon Virtual Private Cloud(Amazon VPC)에 있고 EC2 인스턴스에 대해 보안 그룹이 설정된 RDS MySQL DB 인스턴스에 대한 것입니다.

EC2 인스턴스 시작 및 구성

  1. Amazon EC2 콘솔을 열고 [인스턴스 시작(Launch instance)]을 선택합니다.
  2. Amazon Machine Image(AMI)를 선택합니다.
  3. 인스턴스 유형을 선택한 후 [Next: Configure Instance Details(다음: 인스턴스 세부 정보 구성)]를 선택합니다.
  4. [Network(네트워크)]에서 RDS DB 인스턴스가 사용하는 VPC를 선택합니다.
  5. [Subnet(서브넷)]에서 라우팅 테이블에 인터넷 게이트웨이가 있는 서브넷을 선택합니다. 인터넷 게이트웨이가 아직 없는 경우 EC2 인스턴스를 생성한 후 서브넷에 추가할 수 있습니다.
  6. [Next: Add Storage(다음: 스토리지 추가)]를 선택하고 필요에 따라 스토리지를 수정합니다.
  7. [Next: Add Tags(다음: 태그 추가)]를 선택하고 필요에 따라 태그를 추가합니다.
  8. [Next: Configure Security Group(다음: 보안 그룹 구성)]을 선택하고 [Add Rule(규칙 추가)]을 선택한 후 다음을 입력합니다.
    Type(유형): 사용자 지정 TCP 규칙
    [Protocol(프로토콜)]: TCP
    포트 범위: 22
    [Source(소스)]: 로컬 시스템의 IP 주소를 입력합니다. 기본적으로 소스 IP 주소는 모두에게 개방되어 있습니다. 하지만 로컬 퍼블릭 IP 주소에 대해서만 허용하도록 액세스를 제한할 수 있습니다.
  9. [Review and Launch(검토 및 시작)]를 선택합니다.
  10. [시작(Launch)]을 선택합니다.

RDS DB 인스턴스의 보안 그룹 구성

  1. Amazon RDS 콘솔을 열고 탐색 창에서 [데이터베이스(Databases)]를 선택합니다.
  2. RDS DB 인스턴스의 이름을 선택합니다. 또는 아직 없는 경우 RDS DB 인스턴스를 생성합니다.
  3. [연결 및 보안(Connectivity & security)] 탭을 선택합니다.
  4. [Security(보안)] 섹션에서 [VPC Security Groups(VPC 보안 그룹)] 아래의 링크를 선택합니다.
  5. 보안 그룹을 선택하고 [Actions(작업)]를 선택한 다음 [Edit inbound rules(인바운드 규칙 편집)]를 선택합니다.
  6. [Choose Add(규칙 추가)]를 선택하고 다음을 입력합니다.
    Type(유형): 사용자 지정 TCP 규칙
    [Protocol(프로토콜)]: TCP
    [Port Range(포트 범위)]: RDS DB 인스턴스의 포트를 입력합니다.
    [Source(소스)]: EC2 인스턴스의 프라이빗 IP 주소를 입력합니다.
  7. [Save(저장)]를 선택합니다.

보안 그룹에 대한 이 구성은 EC2 인스턴스의 프라이빗 IP 주소에서 수신되는 트래픽을 허용합니다. EC2 인스턴스와 RDS DB 인스턴스가 동일한 VPC를 사용하는 경우 RDS DB 인스턴스에서 사용하는 라우팅 테이블을 수정할 필요가 없습니다. VPC가 다른 경우 VPC 피어링 연결을 생성하여 해당 VPC 간의 연결을 허용합니다.

로컬 시스템에서 RDS DB 인스턴스에 연결

사용하는 클라이언트에 따라 RDS DB 인스턴스에 연결하는 단계가 다릅니다. 자세한 내용은 Amazon RDS DB 인스턴스에 연결을 참조하십시오. MySQL을 사용하는 경우 SSL을 사용하여 클라이언트 애플리케이션과 Amazon RDS 간의 연결을 암호화하는 것이 모범 사례입니다.

다음 예제에서는 MySQL Workbench 클라이언트를 사용하여 배스천 호스트에 연결합니다.

  1. 새 연결을 시작하고 [Connection Method(연결 방법)]에서 [Standard TCP/IP over SSH(표준 TCP/IP over SSH)]를 선택합니다.
  2. EC2 인스턴스의 SSH 설정에 대한 다음 세부 정보를 입력합니다.
    [SSH Hostname(SSH 호스트 이름)]: EC2 인스턴스의 퍼블릭 DNS 이름을 입력합니다.
    [SSH Username(SSH 사용자 이름)]: EC2 인스턴스의 사용자 이름을 입력합니다. 예를 들어 "ec2-user"는 EC2 Linux 시스템의 사용자 이름입니다.
    [SSH Key File(SSH 키 파일)]: EC2 인스턴스를 생성할 때 사용한 프라이빗 키를 선택합니다.
  3. MySQL 인스턴스 설정에 대한 다음 세부 정보를 입력합니다.
    [MySQL Hostname(MySQL 호스트 이름)]: RDS DB 인스턴스 엔드포인트를 입력합니다.
    [MySQL Server port(MySQL 서버 포트)]: 3306(또는 사용하는 사용자 지정 포트)을 입력합니다.
    [Username(사용자 이름)]: RDS DB 인스턴스의 마스터 사용자 이름을 입력합니다.
    [Password(암호)]: RDS DB 인스턴스의 마스터 암호를 입력합니다.
  4. [Test Connection(테스트 연결)]:을 선택합니다.
  5. 연결이 성공하면 연결 이름을 입력하고 연결을 저장합니다.

이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?