옵션 1: EC2 콘솔을 사용해 인스턴스를 RDS 데이터베이스에 자동으로 연결
옵션 1: EC2 콘솔을 사용해 인스턴스를 RDS 데이터베이스에 자동으로 연결
옵션 1의 목적은 EC2 콘솔의 자동 연결 기능을 살펴보는 것이에요. 이 기능은 EC2 인스턴스와 RDS 데이터베이스 간의 연결을 자동으로 구성해서 EC2 인스턴스에서 RDS 데이터베이스로의 트래픽을 허용합니다. 옵션 3에서는 연결을 수동으로 구성하는 방법을 배울 수 있어요.
출처: 문서
시작하기 전에
이 튜토리얼을 완료하려면 다음이 필요합니다.
- EC2 인스턴스와 같은 VPC에 있는 RDS 데이터베이스. 기존 RDS 데이터베이스를 사용하거나 작업 1의 단계를 따라 새 RDS 데이터베이스를 만들 수 있어요.
- RDS 데이터베이스와 같은 VPC에 있는 EC2 인스턴스. 기존 EC2 인스턴스를 사용하거나 작업 2의 단계를 따라 새 EC2 인스턴스를 만들 수 있습니다.
- 다음 작업을 호출할 권한:
ec2:AssociateRouteTableec2:AuthorizeSecurityGroupEgressec2:CreateRouteTableec2:CreateSecurityGroupec2:CreateSubnetec2:DescribeInstancesec2:DescribeNetworkInterfacesec2:DescribeRouteTablesec2:DescribeSecurityGroupsec2:DescribeSubnetsec2:ModifyNetworkInterfaceAttributeec2:RevokeSecurityGroupEgress
작업 1(선택): RDS 데이터베이스 생성
참고 — Amazon RDS 데이터베이스 생성은 이 튜토리얼의 핵심이 아니에요. 이미 RDS 데이터베이스가 있고 이 튜토리얼에서 사용하려면 이 작업을 건너뛸 수 있습니다. 기존 RDS 데이터베이스를 사용한다면 자동 연결 기능을 사용할 수 있도록 EC2 인스턴스와 같은 VPC에 있는지 확인하세요.
이 작업의 목적은 EC2 인스턴스와 RDS 데이터베이스 간의 연결을 구성하는 작업 3을 완료할 수 있도록 RDS 데이터베이스를 만드는 것이에요. 이 작업의 단계는 RDS 데이터베이스를 다음과 같이 구성합니다.
- 엔진 유형: MySQL
- 템플릿: Free tier
- DB 인스턴스 식별자:
tutorial-database-1 - DB 인스턴스 클래스:
db.t3.micro
중요 — 프로덕션 환경에서는 데이터베이스를 특정 요구 사항에 맞게 구성해야 합니다.
MySQL RDS 데이터베이스를 만들려면:
- Amazon RDS 콘솔을 https://console.aws.amazon.com/rds/에서 엽니다.
- 리전 선택기(오른쪽 위)에서 AWS 리전을 선택합니다. 데이터베이스와 EC2 인스턴스는 EC2 콘솔의 자동 연결 기능을 사용하려면 같은 리전에 있어야 합니다.
- 대시보드에서 Create database를 선택합니다.
- Choose a database creation method 아래에서 Standard create가 선택되어 있는지 확인합니다. Easy create를 선택하면 VPC 선택기가 제공되지 않습니다. EC2 콘솔의 자동 연결 기능을 사용하려면 데이터베이스가 EC2 인스턴스와 같은 VPC에 있어야 합니다.
- Engine options에서 Engine type으로 MySQL을 선택합니다.
- Templates에서 요구 사항에 맞는 샘플 템플릿을 선택합니다. 이 튜토리얼에서는 비용 없이 RDS 데이터베이스를 만들도록 Free tier를 선택합니다. 단, Free Tier는 자격이 되는 계정에서만 사용할 수 있어요. Free tier 상자의 Info 링크를 선택해 자세히 알아볼 수 있습니다.
- Settings에서 다음을 수행합니다.
- DB instance identifier에 데이터베이스 이름을 입력합니다. 이 튜토리얼에서는
tutorial-database-1을 입력합니다. - Master username은 기본값
admin을 그대로 둡니다. - Master password에 기억할 수 있는 비밀번호를 입력하고, Confirm password에 다시 입력합니다.
- DB instance identifier에 데이터베이스 이름을 입력합니다. 이 튜토리얼에서는
- Instance configuration에서 DB instance class는 기본값
db.t3.micro를 그대로 둡니다. 계정이 Free Tier에 해당한다면 이 데이터베이스 클래스를 무료로 사용할 수 있어요. - Connectivity에서 Compute resource로 Don't connect to an EC2 compute resource를 선택합니다. EC2 인스턴스와 RDS 데이터베이스를 나중에 작업 3에서 연결할 것이기 때문이에요. (이 튜토리얼의 옵션 2에서 Connect to an EC2 compute resource를 선택해 RDS 콘솔의 자동 연결 기능을 사용해 보게 됩니다.)
- **Virtual private cloud (VPC)**에서 VPC를 선택합니다. VPC에는 DB 서브넷 그룹이 있어야 해요. 자동 연결 기능을 사용하려면 EC2 인스턴스와 RDS 데이터베이스가 같은 VPC에 있어야 합니다.
- 이 페이지의 다른 모든 필드는 기본값을 유지합니다.
- Create database를 선택합니다.
Databases 화면에서 새 데이터베이스의 Status는 사용할 준비가 될 때까지 Creating으로 표시됩니다. 상태가 Available로 바뀌면 데이터베이스에 연결할 수 있어요. 데이터베이스 클래스와 스토리지 양에 따라 새 데이터베이스가 사용 가능해질 때까지 최대 20분이 걸릴 수 있습니다.
작업 2(선택): EC2 인스턴스 시작
참고 — 인스턴스 시작은 이 튜토리얼의 핵심이 아니에요. 이미 Amazon EC2 인스턴스가 있고 이 튜토리얼에서 사용하려면 이 작업을 건너뛸 수 있습니다. 기존 EC2 인스턴스를 사용한다면 자동 연결 기능을 사용할 수 있도록 RDS 데이터베이스와 같은 VPC에 있는지 확인하세요.
이 작업의 목적은 EC2 인스턴스와 Amazon RDS 데이터베이스 간의 연결을 구성하는 작업 3을 완료할 수 있도록 EC2 인스턴스를 시작하는 것이에요. 이 작업의 단계는 EC2 인스턴스를 다음과 같이 구성합니다.
- 인스턴스 이름:
tutorial-instance-1 - AMI: Amazon Linux 2
- 인스턴스 유형:
t2.micro - Auto-assign public IP: Enabled
- 다음 세 가지 규칙이 있는 보안 그룹:
- IP 주소에서 SSH 허용
- 모든 곳에서 HTTPS 트래픽 허용
- 모든 곳에서 HTTP 트래픽 허용
중요 — 프로덕션 환경에서는 인스턴스를 특정 요구 사항에 맞게 구성해야 합니다.
EC2 인스턴스를 시작하려면:
-
Amazon EC2 콘솔을 https://console.aws.amazon.com/ec2/에서 엽니다.
-
리전 선택기(오른쪽 위)에서 AWS 리전을 선택합니다. 인스턴스와 RDS 데이터베이스는 EC2 콘솔의 자동 연결 기능을 사용하려면 같은 리전에 있어야 합니다.
-
EC2 대시보드에서 Launch instance를 선택합니다.
-
Name and tags에서 Name에 인스턴스를 식별할 이름을 입력합니다. 이 튜토리얼에서는
tutorial-instance-1로 이름을 지정합니다. 인스턴스 이름은 필수는 아니지만, EC2 콘솔에서 인스턴스를 선택할 때 이름이 인스턴스를 쉽게 식별하는 데 도움을 줍니다. -
Application and OS Images에서 웹 서버 요구 사항에 맞는 AMI를 선택합니다. 이 튜토리얼에서는 Amazon Linux 2를 사용합니다.
-
Instance type에서 웹 서버 요구 사항에 맞는 인스턴스 유형을 선택합니다. 이 튜토리얼에서는
t2.micro를 사용합니다.참고 — 계정을 만든 시기에 따라 Free Tier에서 Amazon EC2를 사용할 자격이 있을 수 있습니다. 2025년 7월 15일 이전에 AWS 계정을 만들고 12개월 미만이라면
t2.micro인스턴스 유형을 선택해 Free Tier로 Amazon EC2를 사용할 수 있습니다.t2.micro를 사용할 수 없는 리전에서는t3.micro인스턴스 유형을 사용하세요.t3.micro인스턴스를 시작하면 기본적으로 Unlimited mode로 설정되어 CPU 사용량에 따라 추가 요금이 발생할 수 있다는 점에 유의하세요. Free Tier에서 사용할 수 있는 인스턴스 유형은 Free tier eligible로 표시됩니다.2025년 7월 15일 이후에 AWS 계정을 만들었다면
t3.micro,t3.small,t4g.micro,t4g.small,c7i-flex.large,m7i-flex.large인스턴스 유형을 6개월 동안 또는 크레딧이 소진될 때까지 사용할 수 있어요. -
**Key pair (login)**에서 Key pair name으로 본인의 키 페어를 선택합니다.
-
Network settings에서 다음을 수행합니다.
- Network and Subnet에서 기본 VPC나 서브넷을 변경하지 않았다면 기본 설정을 유지할 수 있습니다. 변경했다면 다음을 확인하세요.
- 인스턴스는 자동 연결 기능을 사용하려면 RDS 데이터베이스와 같은 VPC에 있어야 합니다. 기본적으로 VPC는 하나만 있습니다.
- 인스턴스를 시작할 VPC에는 인터넷에서 웹 서버에 접근할 수 있도록 인터넷 게이트웨이(Internet Gateway)가 연결되어 있어야 해요. 기본 VPC에는 인터넷 게이트웨이가 자동으로 설정되어 있습니다.
- 인스턴스가 공개 IP 주소를 받도록 하려면 Auto-assign public IP에서 Enable이 선택되어 있는지 확인하세요. Disable이 선택되어 있다면 Edit(Network Settings 오른쪽)을 선택한 뒤 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
- Network and Subnet에서 기본 VPC나 서브넷을 변경하지 않았다면 기본 설정을 유지할 수 있습니다. 변경했다면 다음을 확인하세요.
-
Summary 패널에서 인스턴스 구성을 검토한 뒤 Launch instance를 선택합니다.
-
확인 페이지를 열어 둡니다. 다음 작업에서 인스턴스를 데이터베이스에 자동으로 연결할 때 필요합니다.
인스턴스 시작에 실패하거나 상태가 running이 아니라 즉시 terminated로 바뀌면 "Troubleshoot Amazon EC2 instance launch issues"를 참조하세요.
작업 3: EC2 인스턴스를 RDS 데이터베이스에 자동으로 연결
이 작업의 목적은 EC2 콘솔의 자동 연결 기능을 사용해 EC2 인스턴스와 RDS 데이터베이스 간의 연결을 자동으로 구성하는 것이에요.
EC2 콘솔을 사용해 EC2 인스턴스를 RDS 데이터베이스에 자동으로 연결하려면:
- 인스턴스 시작 확인 페이지(이전 작업에서 열려 있어야 합니다)에서 Connect an RDS database를 선택합니다.
확인 페이지를 닫았다면 다음 단계를 따르세요.
- Amazon EC2 콘솔을 엽니다.
- 탐색 창에서 Instances를 선택합니다.
- 방금 만든 EC2 인스턴스를 선택한 뒤 Actions > Networking > Connect RDS database를 선택합니다.
- Connect RDS database를 사용할 수 없다면 EC2 인스턴스가
Running상태인지 확인하세요.
- Database role에서 Instance를 선택합니다. 여기서 Instance는 데이터베이스 인스턴스를 의미합니다.
- RDS database에서 작업 1에서 만든 RDS 데이터베이스를 선택합니다.
참고 — EC2 인스턴스와 RDS 데이터베이스는 서로 연결하려면 같은 VPC에 있어야 합니다.
- Connect를 선택합니다.
작업 4: 연결 구성 확인
이 작업의 목적은 두 개의 보안 그룹이 생성되어 인스턴스와 데이터베이스에 할당되었는지 확인하는 것이에요.
콘솔의 자동 연결 기능으로 연결을 구성하면 보안 그룹이 자동으로 생성되어 인스턴스와 데이터베이스에 다음과 같이 할당됩니다.
- 보안 그룹
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 콘솔을 엽니다.
- 탐색 페이지에서 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 콘솔을 엽니다.
- 탐색 창에서 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 인스턴스에 할당되었는지 확인하면, 자동 연결 기능으로 연결이 자동 구성되었음을 검증할 수 있어요.
이 튜토리얼의 옵션 1을 완료했습니다. 이제 RDS 콘솔을 사용해 EC2 인스턴스를 RDS 데이터베이스에 자동으로 연결하는 방법을 알려주는 옵션 2를 완료하거나, 옵션 1에서 자동으로 생성된 보안 그룹을 수동으로 구성하는 방법을 알려주는 옵션 3을 완료할 수 있습니다.
작업 5(선택): 정리
경고 — 인스턴스를 종료하는 것은 영구적이고 되돌릴 수 없습니다. 인스턴스를 종료한 뒤에는 더 이상 연결할 수 없고 복구할 수 없습니다. 종료 시 삭제되도록 구성된 모든 연결된 Amazon EBS 볼륨도 영구적으로 삭제되어 복구할 수 없어요. 인스턴스 스토어 볼륨에 저장된 모든 데이터는 영구적으로 손실됩니다. 인스턴스를 종료하기 전에 종료 후에도 유지해야 할 모든 데이터를 영구 스토리지에 백업했는지 확인하세요.
튜토리얼을 완료했으니 더 이상 사용하지 않을 리소스를 정리(삭제)하는 것이 좋은 관행입니다. AWS 리소스를 정리하면 계정에서 추가 요금이 발생하는 것을 방지할 수 있어요.
콘솔을 사용해 인스턴스 종료:
- Amazon EC2 콘솔을 엽니다.
- 탐색 창에서 Instances를 선택합니다.
- 이 튜토리얼에서 만든 인스턴스를 선택하고 Instance state > Terminate instance를 선택합니다.
- 확인 메시지가 표시되면 Terminate를 선택합니다.
콘솔을 사용해 RDS 데이터베이스 삭제:
- Amazon RDS 콘솔을 엽니다.
- 탐색 창에서 Databases를 선택합니다.
- 이 튜토리얼에서 만든 RDS 데이터베이스를 선택하고 Actions > Delete를 선택합니다.
- 상자에
delete me를 입력한 뒤 Delete를 선택합니다.