옵션 2: RDS 콘솔을 사용해 인스턴스를 RDS 데이터베이스에 자동으로 연결하기
옵션 2: RDS 콘솔을 사용해 인스턴스를 RDS 데이터베이스에 자동으로 연결하기
옵션 2의 목적은 RDS 콘솔의 자동 연결(automatic connect) 기능을 살펴보는 거예요. 이 기능은 EC2 인스턴스와 RDS 데이터베이스 사이의 연결을 자동으로 구성해 EC2 인스턴스에서 RDS 데이터베이스로의 트래픽을 허용해요. 옵션 3에서는 연결을 수동으로 구성하는 방법을 배우게 돼요.
출처: 문서
본문
작업
- 시작하기 전에 (Before you begin)
- 작업 1 (선택): EC2 인스턴스 실행하기
- 작업 2: RDS 데이터베이스를 만들고 EC2 인스턴스에 자동으로 연결하기
- 작업 3: 연결 구성 확인하기
- 작업 4 (선택): 정리하기
시작하기 전에
이 튜토리얼을 완료하려면 다음이 필요해요.
- RDS 데이터베이스와 같은 VPC에 있는 EC2 인스턴스. 기존 EC2 인스턴스를 사용하거나, 작업 1의 단계를 따라 새 인스턴스를 만들 수 있어요.
- 다음 작업을 호출할 권한:
- ec2:AssociateRouteTable
- ec2:AuthorizeSecurityGroupEgress
- ec2:CreateRouteTable
- ec2:CreateSecurityGroup
- ec2:CreateSubnet
- ec2:DescribeInstances
- ec2:DescribeNetworkInterfaces
- ec2:DescribeRouteTables
- ec2:DescribeSecurityGroups
- ec2:DescribeSubnets
- ec2:ModifyNetworkInterfaceAttribute
- ec2:RevokeSecurityGroupEgress
작업 1 (선택): EC2 인스턴스 실행하기
참고 — 인스턴스 실행은 이 튜토리얼의 핵심이 아니에요. 이미 Amazon EC2 인스턴스가 있고 이 튜토리얼에서 사용하고 싶다면 이 작업을 건너뛸 수 있어요.
이 작업의 목적은 EC2 인스턴스를 실행해, EC2 인스턴스와 Amazon RDS 데이터베이스 사이의 연결을 구성하는 작업 2를 완료할 수 있게 하는 거예요. 이 작업의 단계는 EC2 인스턴스를 다음과 같이 구성해요.
- 인스턴스 이름:
tutorial-instance-2 - AMI: Amazon Linux 2
- 인스턴스 유형:
t2.micro - 자동 할당 퍼블릭 IP: 활성화
- 다음 세 가지 규칙이 있는 보안 그룹:
- 여러분의 IP 주소에서 오는 SSH 허용
- 어디서나 오는 HTTPS 트래픽 허용
- 어디서나 오는 HTTP 트래픽 허용
중요 — 프로덕션 환경에서는 인스턴스를 여러분의 특정 요구 사항에 맞게 구성해야 해요.
EC2 인스턴스 실행하기
- Amazon EC2 콘솔(https://console.aws.amazon.com/ec2/)을 엽니다.
- EC2 Dashboard에서 Launch instance를 선택합니다.
- Name and tags의 Name에 인스턴스를 식별할 이름을 입력합니다. 이 튜토리얼에서는 인스턴스 이름을
tutorial-instance-2로 지정합니다. 인스턴스 이름은 필수는 아니지만, RDS 콘솔에서 인스턴스를 선택할 때 이름이 쉽게 식별하는 데 도움이 됩니다. - Application and OS Images에서 웹 서버 요구 사항을 충족하는 AMI를 선택합니다. 이 튜토리얼은
Amazon Linux를 사용해요. - Instance type의 Instance type에서 웹 서버 요구 사항을 충족하는 인스턴스 유형을 선택합니다. 이 튜토리얼은
t2.micro를 사용해요.
참고 — 계정을 만든 시점에 따라 Amazon EC2를 프리 티어(Free Tier)로 사용할 수 있을 수도 있어요.
2025년 7월 15일 이전에 AWS 계정을 만들었고 계정이 12개월 미만이라면
t2.micro인스턴스 유형이나,t2.micro를 사용할 수 없는 리전에서는t3.micro인스턴스 유형을 선택해 Amazon EC2를 프리 티어로 사용할 수 있어요.t3.micro인스턴스를 실행하면 기본적으로 Unlimited mode로 설정되는데, CPU 사용량에 따라 추가 요금이 발생할 수 있다는 점에 유의하세요. 인스턴스 유형을 프리 티어로 사용할 수 있다면Free tier eligible로 표시돼요.2025년 7월 15일 이후에 AWS 계정을 만들었다면
t3.micro,t3.small,t4g.micro,t4g.small,c7i-flex.large,m7i-flex.large인스턴스 유형을 6개월 동안 또는 크레딧이 소진될 때까지 사용할 수 있어요.자세한 내용은 2025년 7월 15일 전후의 프리 티어 혜택 문서를 참고하세요.
- **Key pair (login)**의 Key pair name에서 키 페어를 선택합니다.
- Network settings에서 다음을 수행합니다.
- Network와 Subnet에서 기본 VPC나 서브넷을 변경하지 않았다면 기본 설정을 유지할 수 있습니다.
- 기본 VPC나 서브넷을 변경했다면 다음을 확인하세요.
- EC2 인스턴스와 RDS 데이터베이스의 자동 연결 구성을 사용하려면 인스턴스가 RDS 데이터베이스와 같은 VPC에 있어야 해요. 기본적으로 VPC는 하나뿐입니다.
- 인스턴스를 실행할 VPC에 인터넷 게이트웨이가 연결되어 있어야 인터넷에서 웹 서버에 접근할 수 있어요. 기본 VPC에는 인터넷 게이트웨이가 자동으로 설정되어 있습니다.
- 인스턴스가 퍼블릭 IP를 받는지 확인하려면 Auto-assign public IP에서
Enable이 선택되어 있는지 확인합니다.Disable이 선택되어 있다면 Network Settings 오른쪽의 Edit을 선택한 다음 Auto-assign public IP에서Enable을 선택합니다. - SSH로 인스턴스에 연결하려면 컴퓨터의 퍼블릭 IPv4 주소에서 오는 SSH(Linux) 또는 RDP(Windows) 트래픽을 승인하는 보안 그룹 규칙이 필요해요. 기본적으로 인스턴스를 실행하면 어디서나 오는 인바운드 SSH 트래픽을 허용하는 규칙이 있는 새 보안 그룹이 만들어져요.
- 오직 여러분의 IP 주소만 인스턴스에 연결할 수 있게 하려면 **Firewall (security groups)**에서 Allow SSH traffic from 체크박스 옆의 드롭다운 목록에서
My IP를 선택합니다.
- 인터넷에서 인스턴스로의 트래픽을 허용하려면 다음 체크박스를 선택합니다.
- Allow HTTPs traffic from the internet
- Allow HTTP traffic from the internet
- Summary 패널에서 인스턴스 구성을 검토한 다음 Launch instance를 선택합니다.
- View all instances를 선택해 확인 페이지를 닫고 콘솔로 돌아갑니다. 인스턴스는 먼저
pending상태가 되었다가running상태가 됩니다.
인스턴스가 실행에 실패하거나 상태가 running이 아니라 즉시 terminated로 가면 Troubleshoot Amazon EC2 instance launch issues 문서를 참고하세요.
인스턴스 실행에 대한 자세한 내용은 콘솔의 인스턴스 시작 마법사로 EC2 인스턴스 실행하기 문서를 참고하세요.
작업 2: RDS 데이터베이스를 만들고 EC2 인스턴스에 자동으로 연결하기
이 작업의 목적은 RDS 데이터베이스를 만들고 RDS 콘솔의 자동 연결 기능을 사용해 EC2 인스턴스와 RDS 데이터베이스 사이의 연결을 자동으로 구성하는 거예요. 이 작업의 단계는 DB 인스턴스를 다음과 같이 구성해요.
- 엔진 유형: MySQL
- 템플릿: Free tier
- DB 인스턴스 식별자:
tutorial-database - DB 인스턴스 클래스:
db.t3.micro
중요 — 프로덕션 환경에서는 인스턴스를 여러분의 특정 요구 사항에 맞게 구성해야 해요.
RDS 데이터베이스를 만들고 EC2 인스턴스에 자동으로 연결하기
- Amazon RDS 콘솔(https://console.aws.amazon.com/rds/)을 엽니다.
- (오른쪽 상단의) 리전 선택기에서 EC2 인스턴스를 만든 AWS 리전을 선택합니다. EC2 인스턴스와 RDS 데이터베이스는 같은 리전에 있어야 해요.
- 대시보드에서 Create database를 선택합니다.
- Choose a database creation method에서
Standard create가 선택되어 있는지 확인합니다.Easy create를 선택하면 자동 연결 기능을 사용할 수 없어요. - Engine options의 Engine type에서
MySQL을 선택합니다. - Templates에서 요구 사항을 충족하는 샘플 템플릿을 선택합니다. 이 튜토리얼에서는 무료로 RDS 데이터베이스를 만들기 위해
Free tier를 선택합니다. 단, 프리 티어는 계정이 프리 티어 자격이 있을 때만 사용할 수 있다는 점을 유의하세요. Free tier 상자의 Info 링크를 선택해 자세히 읽을 수 있어요. - Settings에서 다음을 수행합니다.
- DB instance identifier에 데이터베이스 이름을 입력합니다. 이 튜토리얼에서는
tutorial-database를 입력합니다. - Master username에서는 기본 이름인
admin을 그대로 둡니다. - Master password에 이 튜토리얼에서 기억할 수 있는 비밀번호를 입력하고, Confirm password에 비밀번호를 다시 입력합니다.
- DB instance identifier에 데이터베이스 이름을 입력합니다. 이 튜토리얼에서는
- Instance configuration의 DB instance class에서 기본값인
db.t3.micro를 그대로 둡니다.- 계정이 프리 티어 자격이 있다면 이 인스턴스를 무료로 사용할 수 있어요. 자세한 내용은 AWS Free Tier를 참고하세요.
- Connectivity의 Compute resource에서 Connect to an EC2 compute resource를 선택합니다. 이것이 RDS 콘솔의 자동 연결 기능이에요.
- EC2 instance에서 연결하려는 EC2 인스턴스를 선택합니다. 이 튜토리얼에서는 이전 작업에서 만든 인스턴스(
tutorial-instance)를 선택하거나 다른 기존 인스턴스를 선택할 수 있어요. 목록에 인스턴스가 보이지 않으면 Connectivity 오른쪽의 새로고침 아이콘을 선택합니다.- 자동 연결 기능을 사용하면 이 EC2 인스턴스에 보안 그룹이 추가되고, RDS 데이터베이스에도 다른 보안 그룹이 추가돼요. 보안 그룹은 EC2 인스턴스와 RDS 데이터베이스 사이의 트래픽을 허용하도록 자동으로 구성돼요. 다음 작업에서 보안 그룹이 만들어지고 EC2 인스턴스와 RDS 데이터베이스에 할당되었는지 확인하게 돼요.
- Create database를 선택합니다.
Databases 화면에서 새 데이터베이스의 Status는 사용할 준비가 될 때까지 Creating으로 표시됩니다. 상태가 Available로 바뀌면 데이터베이스에 연결할 수 있어요. 데이터베이스 클래스와 스토리지 양에 따라 새 데이터베이스를 사용할 수 있게 되는 데 최대 20분이 걸릴 수 있어요.
자세히 알아보려면 Amazon RDS 사용 설명서의 EC2 인스턴스로 자동 네트워크 연결 구성하기 항목을 참고하세요.
작업 3: 연결 구성 확인하기
이 작업의 목적은 두 보안 그룹이 만들어져 인스턴스와 데이터베이스에 할당되었는지 확인하는 거예요.
콘솔에서 자동 연결 기능으로 연결을 구성하면 보안 그룹이 다음과 같이 자동으로 만들어지고 인스턴스와 데이터베이스에 할당돼요.
- 보안 그룹
rds-ec2-x가 만들어져 RDS 데이터베이스에 추가됩니다. 여기에는ec2-rds-x보안 그룹을 소스로 참조하는 인바운드 규칙이 하나 있습니다. 이는ec2-rds-x보안 그룹이 있는 EC2 인스턴스에서 RDS 데이터베이스로의 트래픽을 허용해요. - 보안 그룹
ec2-rds-x가 만들어져 EC2 인스턴스에 추가됩니다. 여기에는rds-ec2-x보안 그룹을 대상으로 참조하는 아웃바운드 규칙이 하나 있습니다. 이는 EC2 인스턴스에서rds-ec2-x보안 그룹이 있는 RDS 데이터베이스로의 트래픽을 허용해요.
콘솔로 연결 구성 확인하기
- Amazon RDS 콘솔(https://console.aws.amazon.com/rds/)을 엽니다.
- 탐색 페이지에서 Databases를 선택합니다.
- 이 튜토리얼을 위해 만든 RDS 데이터베이스를 선택합니다.
- Connectivity & security 탭의 Security, VPC security groups에서
rds-ec2-x라는 보안 그룹이 표시되는지 확인합니다. rds-ec2-x보안 그룹을 선택합니다. EC2 콘솔의 Security Groups 화면이 열립니다.rds-ec2-x보안 그룹을 선택해 엽니다.- Inbound rules 탭을 선택합니다.
- 다음 보안 그룹 규칙이 있는지 다음과 같이 확인합니다.
- Type:
MYSQL/Aurora - Port range:
3306 - Source:
sg-0987654321example/ec2-rds-x– 이는 앞 단계에서 확인한 EC2 인스턴스에 할당된 보안 그룹입니다. - Description:
Rule to allow connections from EC2 instances with sg-1234567890example attached
- Type:
- Amazon EC2 콘솔(https://console.aws.amazon.com/ec2/)을 엽니다.
- 탐색 창에서 Instances를 선택합니다.
- 이전 작업에서 RDS 데이터베이스에 연결하도록 선택한 EC2 인스턴스를 선택하고 Security 탭을 선택합니다.
- Security details, Security groups에서
ec2-rds-x라는 보안 그룹이 목록에 있는지 확인합니다. (x는 숫자입니다.) ec2-rds-x보안 그룹을 선택해 엽니다.- Outbound rules 탭을 선택합니다.
- 다음 보안 그룹 규칙이 있는지 다음과 같이 확인합니다.
- Type:
MYSQL/Aurora - Port range:
3306 - Destination:
sg-1234567890example/rds-ec2-x - Description:
Rule to allow connections to database-tutorial from any instances this security group is attached to
- Type:
이 절차에 설명된 대로 이 보안 그룹과 보안 그룹 규칙이 존재하고 RDS 데이터베이스와 EC2 인스턴스에 할당되어 있는지 확인하면, 자동 연결 기능으로 연결이 자동으로 구성되었음을 확인할 수 있어요.
이 튜토리얼의 옵션 2를 완료했어요. 이제 옵션 2에서 자동으로 만들어진 보안 그룹을 수동으로 구성하는 방법을 가르치는 옵션 3을 완료할 수 있어요.
작업 4 (선택): 정리하기
경고 — 인스턴스 종료는 영구적이고 되돌릴 수 없어요.
인스턴스를 종료한 뒤에는 연결할 수 없고 복구할 수도 없어요. 종료 시 삭제되도록 구성된 연결된 모든 Amazon EBS 볼륨도 영구적으로 삭제되어 복구할 수 없어요. 인스턴스 스토어 볼륨에 저장된 모든 데이터는 영구적으로 손실돼요. 자세한 내용은 인스턴스 종료가 동작하는 방식 문서를 참고하세요.
인스턴스를 종료하기 전에 종료 후에도 유지해야 할 모든 데이터를 영구 스토리지에 백업했는지 확인하세요.
튜토리얼을 완료했으니 더 이상 사용하지 않을 리소스를 정리(삭제)하는 것이 좋은 습관이에요. AWS 리소스를 정리하면 계정에 추가 요금이 발생하지 않아요.
이 튜토리얼을 위해 EC2 인스턴스를 만들었다면, 그와 관련된 요금이 더 이상 발생하지 않도록 종료할 수 있어요.
콘솔로 인스턴스 종료하기
- Amazon EC2 콘솔(https://console.aws.amazon.com/ec2/)을 엽니다.
- 탐색 창에서 Instances를 선택합니다.
- 이 튜토리얼을 위해 만든 인스턴스를 선택하고 Instance state, Terminate instance를 선택합니다.
- 확인 메시지가 표시되면 Terminate를 선택합니다.
이 튜토리얼을 위해 RDS 데이터베이스를 만들었다면, 그와 관련된 요금이 더 이상 발생하지 않도록 삭제할 수 있어요.
콘솔로 RDS 데이터베이스 삭제하기
- Amazon RDS 콘솔(https://console.aws.amazon.com/rds/)을 엽니다.
- 탐색 창에서 Databases를 선택합니다.
- 이 튜토리얼을 위해 만든 RDS 데이터베이스를 선택하고 Actions, Delete를 선택합니다.
- 상자에
delete me를 입력한 다음 Delete를 선택합니다.
더 알아보기
- 옵션 1: EC2 콘솔을 사용해 자동으로 연결하기
- 옵션 3: 수동으로 연결하기