

# 옵션 2: RDS 콘솔을 사용하여 자동으로 RDS 데이터베이스에 인스턴스 연결
<a name="tutorial-ec2-rds-option2"></a>

옵션 2의 목표는 EC2 인스턴스에서 RDS 데이터베이스로의 트래픽을 허용하도록 EC2 인스턴스와 RDS 데이터베이스 간의 연결을 자동으로 구성하는 RDS 콘솔의 자동 연결 기능을 살펴보는 데 있습니다. 연결을 수동으로 구성하는 방법은 옵션 3에서 알아봅니다.

**Topics**
+ [시작하기 전 준비 사항](#option2-before-you-begin)
+ [작업 1(*선택 사항*): EC2 인스턴스 시작](#option2-task1-launch-ec2-instance)
+ [작업 2: RDS 데이터베이스를 생성하여 EC2 인스턴스에 자동으로 연결](#option2-task2-create-rds-database)
+ [작업 3: 연결 구성 확인](#option2-task3-verify-connection-configuration)
+ [작업 4(*선택 사항*): 정리](#option2-task3-cleanup)

## 시작하기 전 준비 사항
<a name="option2-before-you-begin"></a>

이 자습서를 완료하려면 다음이 필요합니다.
+ 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 인스턴스 시작
<a name="option2-task1-launch-ec2-instance"></a>

**참고**  
인스턴스 시작은 이 자습서에서 중점적으로 다루는 사항이 아닙니다. Amazon EC2 인스턴스가 이미 있고 이 자습서에서 해당 인스턴스를 사용하려는 경우 이 작업을 건너뛸 수 있습니다.

이 작업의 목표는 EC2 인스턴스와 Amazon RDS 데이터베이스 간의 연결을 구성하는 작업 2를 완료할 수 있도록 EC2 인스턴스를 시작하는 데 있습니다. 이 작업의 단계에서는 다음과 같이 EC2 인스턴스를 구성합니다.
+ 인스턴스 이름: **tutorial-instance-2**
+ AMI: Amazon Linux 2
+ 인스턴스 유형: `t2.micro`
+ 퍼블릭 IP 자동 할당: 활성화됨 
+ 다음과 같은 세 가지 규칙이 있는 보안 그룹:
  + IP 주소에서 SSH 허용
  + 어디에서 들어오든 HTTPS 트래픽 허용
  + 어디에서 들어오든 HTTP 트래픽 허용

**중요**  
프로덕션 환경에서는 특정 요구를 충족하도록 인스턴스를 구성해야 합니다.

**EC2 인스턴스 시작**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. **EC2 Dashboard**(EC2 대시보드)에서 **Launch instance**(인스턴스 시작)를 선택하세요.

1. **Name and tags**(이름 및 태그)에서 **Name**(이름)에 인스턴스를 식별하는 이름을 입력합니다. 이 자습서에서는 인스턴스 이름을 **tutorial-instance-2**로 지정합니다. 인스턴스 이름을 반드시 입력해야 하는 것은 아니지만, RDS 콘솔에서 인스턴스를 선택할 때 해당 이름을 통해 인스턴스를 쉽게 식별할 수 있습니다.

1. **Application and OS Images**(애플리케이션 및 OS 이미지)에서 웹 서버 요구에 맞는 AMI를 선택합니다. 이 자습서에서는 **Amazon Linux**를 사용합니다.

1. **Instance type**(인스턴스 유형)에서 **Instance type**(인스턴스 유형)으로 웹 서버 요구에 맞는 인스턴스 유형을 선택합니다. 이 자습서에서는 `t2.micro`를 사용합니다.
**참고**  
계정을 생성한 시기에 따라 프리 티어에서 Amazon EC2를 사용할 수 있습니다.  
2025년 7월 15일 전에 AWS 계정을 생성했고 생성한 지 12개월 미만인 경우 **t2.micro** 인스턴스 유형 또는 **t3.micro** 인스턴스 유형(**t2.micro**를 사용할 수 없는 리전의 경우)을 선택하여 프리 티어로 Amazon EC2를 사용할 수 있습니다. **t3.micro** 인스턴스를 시작하면 기본적으로 [**무제한** 모드](burstable-performance-instances-unlimited-mode.md)로 설정되므로 CPU 사용량에 따라 추가 요금이 부과될 수 있다는 점에 유의하세요. 인스턴스 유형이 프리 티어에서 사용할 수 있으면 **프리 티어 사용 가능**으로 표시됩니다.  
2025년 7월 15일 이후에 AWS 계정을 생성한 경우 **t3.micro**, **t3.small**, **t4g.micro**, **t4g.small**, **c7i-flex.large**, **m7i-flex.large** 인스턴스 유형을 6개월 동안 또는 크레딧이 소진될 때까지 사용할 수 있습니다.  
자세한 내용은 [2025년 7월 15일 전과 후 프리 티어 혜택](ec2-free-tier-usage.md#ec2-free-tier-comparison) 섹션을 참조하세요.

1. **Key pair (login)**(키 페어(로그인))에서 **Key pair name**(키 페어 이름)에 대해 키 페어를 선택합니다.

1. **Network settings**(네트워크 설정)에서 다음을 수행합니다.

   1. 기본 VPC 또는 서브넷을 변경하지 않은 경우 **Network**(네트워크) 및 **Subnet**(서브넷)의 기본 설정을 유지할 수 있습니다.

      기본 VPC 또는 서브넷을 변경한 경우 다음을 확인합니다.

      1. 자동 연결 구성을 사용하려면 인스턴스가 RDS 데이터베이스와 동일한 VPC에 있어야 합니다. 기본적으로 VPC는 ​​하나만 있습니다.

      1. 인스턴스를 시작하는 VPC에는 인터넷 게이트웨이가 연결되어 있어야 합니다. 그래야 인터넷에서 웹 서버에 액세스할 수 있습니다. 기본 VPC는 ​​인터넷 게이트웨이를 통해 자동으로 설정됩니다.

      1. 인스턴스가 퍼블릭 IP 주소를 수신하도록 하려면 **Auto-assign public IP**(퍼블릭 IP 자동 할당)에 대해 **Enable**(활성화)이 선택되어 있는지 확인합니다. **Disable**(비활성화)이 선택된 경우 **Edit**(편집)(**Network Settings**(네트워크 설정) 오른쪽에 있음)를 선택한 다음, **Auto-assign public IP**(퍼블릭 IP 자동 할당)에서 **Enable**(활성화)을 선택합니다.

   1. SSH를 사용하여 인스턴스에 연결하려면 컴퓨터의 퍼블릭 IPv4 주소로부터의 SSH(Linux) 또는 RDP(Windows) 트래픽을 승인하는 보안 그룹 규칙이 필요합니다. 기본적으로 인스턴스를 시작하면 어디에서 들어오든 인바운드 SSH 트래픽을 허용하는 규칙을 사용하여 새 보안 그룹이 생성됩니다.

      자체 IP 주소만 인스턴스에 연결할 수 있도록 하려면 **방화벽(보안 그룹)** 아래의 **다음으로부터의 SSH 트래픽 허용** 확인란 옆에 있는 드롭다운 목록에서 **내 IP**를 선택합니다.

   1. 인터넷에서 인스턴스로의 트래픽을 허용하려면 다음 확인란을 선택합니다.
      + **Allow HTTPs traffic from the internet**(인터넷에서 오는 HTTPS 트래픽 허용)
      + **Allow HTTP traffic from the internet**(인터넷에서 오는 HTTP 트래픽 허용)

1. **Summary**(요약) 패널에서 인스턴스 구성을 검토한 다음, **Launch instance**(인스턴스 시작)를 선택합니다.

1. **모든 인스턴스 보기(View all instances)**를 선택하여 확인 페이지를 닫고 콘솔로 돌아갑니다. 인스턴스는 먼저 `pending` 상태에 있다가 `running` 상태가 됩니다.

   인스턴스가 시작하지 않거나 상태가 `terminated`이 아닌 `running`로 변경되는 경우, [Amazon EC2 인스턴스 시작 문제 해결](troubleshooting-launch.md) 섹션을 참조하세요.

인스턴스 시작에 관한 자세한 내용은 [콘솔에서 인스턴스 시작 마법사를 사용하여 EC2 인스턴스 시작](ec2-launch-instance-wizard.md) 섹션을 참조하세요.

### 애니메이션 보기: EC2 인스턴스 시작
<a name="option2-launch-ec2-instance-animation"></a>

![\[이 애니메이션은 EC2 인스턴스를 시작하는 방법을 보여 줍니다. 이 애니메이션의 텍스트 버전은 이전 절차의 단계를 참조하세요.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/tutorial-launch-instance.gif)


## 작업 2: RDS 데이터베이스를 생성하여 EC2 인스턴스에 자동으로 연결
<a name="option2-task2-create-rds-database"></a>

이 작업의 목표는 RDS 콘솔에서 RDS 데이터베이스를 생성하고 자동 연결 기능을 사용하여 EC2 인스턴스와 RDS 데이터베이스 간의 연결을 자동으로 구성하는 데 있습니다. 이 작업의 단계에서는 다음과 같이 DB 인스턴스를 구성합니다.


+ 엔진 유형: MySQL
+ 템플릿: 프리 티어
+ DB 인스턴스 식별자: **tutorial-database**
+ DB 인스턴스 클래스: `db.t3.micro`

**중요**  
프로덕션 환경에서는 특정 요구를 충족하도록 인스턴스를 구성해야 합니다.

**RDS 데이터베이스를 생성하여 EC2 인스턴스에 자동으로 연결하는 방법**

1. [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 Amazon RDS 콘솔을 엽니다.

1. 리전 선택기(오른쪽 상단)에서 EC2 인스턴스를 생성한 AWS 리전을 선택합니다. EC2 인스턴스와 RDS 데이터베이스가 동일한 리전에 있어야 합니다.

1. 대시보드에서 **Create database**(데이터베이스 생성)를 선택합니다.

1. **Choose a database creation method**(데이터베이스 생성 방법 선택)에서 **Standard create**(표준 생성)가 선택되어 있는지 확인합니다. **Easy create**(손쉬운 생성)를 선택한 경우 자동 연결 기능을 사용할 수 없습니다.

1. **Engine options**(엔진 옵션)에서 **Engine type**(엔진 유형)으로 **MySQL**을 선택합니다.

1. **Templates**(템플릿)에서 요구에 맞는 샘플 템플릿을 선택합니다. 이 자습서에서는 **Free tier**(프리 티어)를 선택하여 무료로 RDS 데이터베이스를 생성합니다. 하지만 프리 티어는 계정이 프리 티어 자격을 충족한 경우에만 사용할 수 있습니다. **Free tier**(프리 티어) 상자에서 **Info**(정보) 링크를 선택하면 자세한 내용을 확인할 수 있습니다.

1. **설정**에서 다음을 수행합니다.

   1. **DB instance identifier**(DB 인스턴스 식별자)에 데이터베이스 이름을 입력합니다. 이 자습서에서는 **tutorial-database**을 입력합니다.

   1. **Master username**(마스터 사용자 이름)의 경우 기본 이름인 **admin**을 그대로 둡니다.

   1. **Master password**(마스터 암호)에 이 자습서에서 기억할 수 있는 암호를 입력한 다음, **Confirm password**(암호 확인)에 암호를 다시 입력합니다.

1. **인스턴스 구성**에서 **DB 인스턴스 클래스**의 기본값인 **db.t3.micro**를 그대로 둡니다. 계정이 프리 티어 자격을 충족한 경우에 인스턴스를 무료로 사용할 수 있습니다. 자세한 내용은 [AWS 프리 티어](https://aws.amazon.com/free/) 단원을 참조하세요.

1. **Connectivity**(연결)에서 **Compute resource**(컴퓨팅 리소스)에 대해 **Connect to an EC2 compute resource**(EC2 컴퓨팅 리소스에 연결)를 선택합니다. 이는 RDS 콘솔의 자동 연결 기능입니다.

1. **EC2 instance**(EC2 인스턴스)에서 연결하려는 EC2 인스턴스를 선택합니다. 이 자습서에서는 이전 작업에서 생성했던 인스턴스(이름을 **tutorial-instance**로 지정함)를 선택하거나 기존의 다른 인스턴스를 선택할 수 있습니다. 목록에 인스턴스가 표시되지 않으면 **Connectivity**(연결) 오른쪽에 있는 새로 고침 아이콘을 선택합니다.

   자동 연결 기능을 사용하면 이 EC2 인스턴스에 보안 그룹이 추가되고 RDS 데이터베이스에 다른 보안 그룹이 추가됩니다. 보안 그룹은 EC2 인스턴스와 RDS 데이터베이스 간의 트래픽을 허용하도록 자동으로 구성됩니다. 다음 작업에서는 보안 그룹이 생성되어 EC2 인스턴스 및 RDS 데이터베이스에 할당되었는지 확인합니다.

1. **데이터베이스 생성**을 선택합니다.

   **Databases**(데이터베이스) 화면에서 데이터베이스를 사용할 준비가 될 때까지 새 데이터베이스의 **Status**(상태)는 **Creating**(생성 중)입니다. 상태가 **Available**(사용 가능)로 변경되면 데이터베이스에 연결할 수 있습니다. 데이터베이스 클래스 및 스토리지 양에 따라 새 데이터베이스를 사용할 수 있게 되기까지 최대 20분이 걸릴 수 있습니다.

자세히 알아보려면 Amazon RDS 사용 설명서**의 [EC2 인스턴스와의 자동 네트워크 연결 구성](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html#USER_CreateDBInstance.Prerequisites.VPC.Automatic)을 참조하세요.

### 애니메이션 보기: RDS 데이터베이스를 생성하여 EC2 인스턴스에 자동으로 연결
<a name="task2-create-rds-database-animation"></a>

![\[이 애니메이션은 RDS 데이터베이스를 생성한 다음, 자동 연결 기능을 사용해 EC2 인스턴스에 연결하는 방법을 보여 줍니다. 이 애니메이션의 텍스트 버전은 이전 절차의 단계를 참조하세요.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/tutorial-create-rds-connect-ec2.gif)


## 작업 3: 연결 구성 확인
<a name="option2-task3-verify-connection-configuration"></a>

이 작업의 목표는 두 보안 그룹이 생성되어 인스턴스 및 데이터베이스에 할당되었는지 확인하는 데 있습니다.

콘솔에서 자동 연결 기능을 사용하여 연결을 구성하면 다음과 같이 보안 그룹이 자동으로 생성되어 인스턴스 및 데이터베이스에 할당됩니다.
+ 보안 그룹 **rds-ec2-*x***가 생성되어 RDS 데이터베이스에 추가됩니다. 이 보안 그룹에는 **ec2-rds-*x*** 보안 그룹을 소스로 참조하는 인바운드 규칙이 하나 있습니다. 이를 통해 **ec2-rds-*x*** 보안 그룹이 있는 EC2 인스턴스의 트래픽이 RDS 데이터베이스에 도달할 수 있습니다.
+ 보안 그룹 **ec2-rds-*x***가 생성되어 EC2 인스턴스에 추가됩니다. 이 보안 그룹에는 **rds-ec2-*x*** 보안 그룹을 대상으로 참조하는 아웃바운드 규칙이 하나 있습니다. 이를 통해 EC2 인스턴스의 트래픽은 **rds-ec2-*x*** 보안 그룹이 있는 RDS 데이터베이스에 도달할 수 있습니다.

**콘솔을 사용하여 연결 구성을 확인하려면·다음과·같이·하세요.**

1. [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 Amazon RDS 콘솔을 엽니다.

1. 탐색 페이지에서 **Databases**(데이터베이스)를 선택합니다.

1. 이 자습서용으로 생성한 RDS 데이터베이스를 선택합니다.

1. **연결 및 보안** 탭의 **보안**, **VPC 보안 그룹**에서 **rds-ec2-*x***라는 보안 그룹이 표시되는지 확인합니다.

1. **rds-ec2-*x*** 보안 그룹을 선택합니다. EC2 콘솔에 **Security Groups**(보안 그룹) 화면이 열립니다.

1. **rds-ec2-*x*** 보안 그룹을 선택하여 엽니다.

1. **인바운드 규칙** 탭을 선택합니다.

1. 다음과 같은 보안 그룹 규칙이 있는지 확인합니다.
   + 유형: **MYSQL/Aurora**
   + 포트 범위: **3306**
   + 소스: ***sg-0987654321example* / ec2-rds-*x*** - 이전 단계에서 확인한 EC2 인스턴스에 할당된 보안 그룹입니다.
   + 설명: ***sg-1234567890example*이 연결된 EC2 인스턴스에서의 연결을 허용하는 규칙**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 이전 작업에서 RDS 데이터베이스에 연결하기 위해 선택한 EC2 인스턴스를 선택하고 **Security**(보안) 탭을 선택합니다.

1. **보안 세부 정보**, **보안 그룹**에서 **ec2-rds-*x***라는 보안 그룹이 목록에 있는지 확인합니다. 여기서 *x*는 숫자입니다.

1. **ec2-rds-*x*** 보안 그룹을 선택하여 엽니다.

1. **Outbound rules**(아웃바운드 규칙) 탭을 선택합니다.

1. 다음과 같은 보안 그룹 규칙이 있는지 확인합니다.
   + 유형: **MYSQL/Aurora**
   + 포트 범위: **3306**
   + 대상: ***sg-1234567890example* / rds-ec2-*x***
   + 설명: **이 보안 그룹이 연결된 인스턴스에서 **database-tutorial**로의 연결을 허용하는 규칙**

이러한 보안 그룹 및 보안 그룹 규칙이 있는지와 본 절차에 설명된 대로 RDS 데이터베이스 및 EC2 인스턴스에 할당되었는지 확인함으로써 자동 연결 기능을 사용하여 연결이 자동으로 구성되었는지 확인할 수 있습니다.

### 애니메이션 보기: 연결 구성 확인
<a name="option1-task4-verify-connection-configuration-animation"></a>

![\[이 애니메이션은 연결 구성을 확인하는 방법을 보여 줍니다. 이 애니메이션의 텍스트 버전은 이전 절차의 단계를 참조하세요.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/tutorial-verify-automatic-connection.gif)


이 자습서의 옵션 2를 완료했습니다. 이제 옵션 2에서 자동으로 생성된 보안 그룹을 수동으로 구성하는 방법을 알려 주는 옵션 3을 완료할 수 있습니다.

## 작업 4(*선택 사항*): 정리
<a name="option2-task3-cleanup"></a>

**주의**  
**인스턴스 종료는 영구적이며 취소할 수 없습니다.**  
종료한 인스턴스는 더 이상 연결할 수 없으며 복구할 수 없습니다. 연결된 Amazon EBS 볼륨도 종료 시 삭제하도록 구성한 경우 영구적으로 삭제되며 복구할 수 없습니다. 인스턴스 저장소 볼륨에 저장된 데이터는 모두 영구적으로 손실됩니다. 자세한 내용은 [인스턴스 종료 작동 방식](how-ec2-instance-termination-works.md) 섹션을 참조하세요.  
인스턴스를 종료하기 전에 종료 후에도 보존해야 하는 모든 데이터를 영구 스토리지에 백업했는지 확인하세요.

이제 자습서를 완료했으므로 더 이상 사용하지 않을 리소스를 정리(삭제)하는 것이 좋습니다. AWS 리소스를 정리하면 계정에 추가 요금이 발생되지 않도록 방지할 수 있습니다.

이 자습서를 위해 특별히 EC2 인스턴스를 시작한 경우 해당 인스턴스를 종료하여 관련 요금이 발생되지 않도록 할 수 있습니다.

**콘솔을 사용한 인스턴스 종료 방법**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 이 자습서용으로 생성한 인스턴스를 선택하고 **Instance state**(인스턴스 상태), **Terminate instance**(인스턴스 종료)를 선택합니다.

1. 확인 메시지가 나타나면 **종료**를 선택합니다.

이 자습서를 위해 특별히 RDS 데이터베이스를 생성한 경우 해당 데이터베이스를 삭제하여 관련 요금이 발생되지 않도록 할 수 있습니다.

**콘솔을 사용하여 RDS 데이터베이스 삭제**

1. [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 Amazon RDS 콘솔을 엽니다.

1. 탐색 창에서 **데이터베이스**를 선택합니다.

1. 이 자습서용으로 생성한 RDS 데이터베이스를 선택하고 **Actions**(작업), **Delete**(삭제)를 선택합니다.

1. 상자에 **delete me**를 입력한 다음, **Delete**(삭제)를 선택합니다.