

# MySQL DB 인스턴스 생성 및 해당 인스턴스에 연결
<a name="CHAP_GettingStarted.CreatingConnecting.MySQL"></a>

이 자습서에서는 EC2 인스턴스와 RDS for MySQL DB 인스턴스를 생성합니다. 자습서에서는 표준 MySQL 클라이언트를 사용하여 EC2 인스턴스에서 DB 인스턴스에 액세스하는 방법을 보여줍니다. 이 자습서에서는 모범 사례를 따라 Virtual Private Cloud(VPC)에서 프라이빗 DB 인스턴스를 생성합니다. 대부분의 경우 EC2 인스턴스와 같이 동일한 VPC에 있는 다른 리소스는 DB 인스턴스에 액세스할 수 있지만 VPC 외부의 리소스는 DB 인스턴스에 액세스할 수 없습니다.

자습서를 완료하면 VPC의 각 가용 영역에 퍼블릭 서브넷과 프라이빗 서브넷이 있을 것입니다. 한 가용 영역에서 EC2 인스턴스는 퍼블릭 서브넷에 있고 DB 인스턴스는 프라이빗 서브넷에 있습니다.

**중요**  
AWS 계정 생성은 무료입니다. 그러나 이 자습서를 완료하면 사용하는 AWS 리소스에 대한 비용이 발생할 수 있습니다. 자습서가 더 이상 필요하지 않은 경우 자습서를 완료한 후에 이러한 리소스를 삭제할 수 있습니다.

다음 다이어그램은 이 자습서를 완료했을 때 구성을 보여 줍니다.

![\[EC2 인스턴스 및 MySQL DB 인스턴스\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/getting-started-mysql.png)


이 자습서에서는 다음 방법 중 하나를 사용하여 리소스를 생성할 수 있습니다.

1. AWS Management Console 사용 ‐ [MySQL DB 인스턴스 생성](#CHAP_GettingStarted.Creating.MySQL) 및 [EC2 인스턴스 생성](#CHAP_GettingStarted.Creating.MySQL.EC2) 

1. 데이터베이스 인스턴스 및 EC2 인스턴스를 생성하는 데 CloudFormation 사용 - [(선택 사항) CloudFormation를 사용하여 VPC, EC2 인스턴스 및 MySQL 인스턴스 생성](#CHAP_GettingStarted.CFN.MySQL) 

첫 번째 방법은 **간편 생성**을 사용하여 AWS Management Console을 통해 프라이빗 MySQL DB 인스턴스를 생성합니다. 여기에서는 DB 엔진 유형, DB 인스턴스 크기 및 DB 인스턴스 식별자만 지정합니다. [**간편 생성(Easy create)**]은 다른 구성 옵션에서도 기본 설정을 사용합니다.

**표준 생성**을 대신 사용하는 경우에는 DB 인스턴스를 생성할 때 더 많은 구성 옵션을 지정할 수 있습니다. 이러한 옵션에는 가용성, 보안, 백업 및 유지 관리에 대한 설정이 포함됩니다. 퍼블릭 DB 인스턴스를 만들려면 **표준 생성**을 사용해야 합니다. 자세한 내용은 [Amazon RDS DB 인스턴스 생성](USER_CreateDBInstance.md) 섹션을 참조하세요.

**Topics**
+ [사전 조건](#CHAP_GettingStarted.Prerequisites.MySQL)
+ [EC2 인스턴스 생성](#CHAP_GettingStarted.Creating.MySQL.EC2)
+ [MySQL DB 인스턴스 생성](#CHAP_GettingStarted.Creating.MySQL)
+ [(선택 사항) CloudFormation를 사용하여 VPC, EC2 인스턴스 및 MySQL 인스턴스 생성](#CHAP_GettingStarted.CFN.MySQL)
+ [MySQL DB 인스턴스에 연결](#CHAP_GettingStarted.Connecting.MySQL)
+ [EC2 인스턴스 및 DB 인스턴스 삭제](#CHAP_GettingStarted.Deleting.MySQL)
+ [(선택 사항) CloudFormation으로 생성한 EC2 인스턴스 및 DB 인스턴스 삭제](#CHAP_GettingStarted.DeletingCFN.MySQL)
+ [(선택 사항) DB 인스턴스를 Lambda 함수에 연결](#CHAP_GettingStarted.ComputeConnect.MySQL)

## 사전 조건
<a name="CHAP_GettingStarted.Prerequisites.MySQL"></a>

시작하기 전에 다음 섹션에서 다음 단계를 완료하세요.
+ [AWS 계정에 가입](CHAP_SettingUp.md#sign-up-for-aws)
+ [관리자 액세스 권한이 있는 사용자 생성](CHAP_SettingUp.md#create-an-admin)

## EC2 인스턴스 생성
<a name="CHAP_GettingStarted.Creating.MySQL.EC2"></a>

데이터베이스에 연결하는 데 사용할 Amazon EC2 인스턴스를 생성합니다.

**EC2 인스턴스를 생성하려면**

1. AWS Management Console에 로그인하고 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. AWS Management Console의 오른쪽 상단에서 EC2 인스턴스를 생성하려는 AWS 리전을 선택합니다.

1. 다음 이미지에 나와 있는 것처럼 **EC2 대시보드**를 선택한 다음, **인스턴스 시작**을 선택합니다.  
![\[EC2 대시보드.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/Tutorial_WebServer_11.png)

   **인스턴스 시작** 페이지가 열립니다.

1. **인스턴스 시작** 페이지에서 다음 설정을 선택합니다.

   1. **Name and tags**(이름 및 태그) 아래의 **Name**(이름)에 **ec2-database-connect**을 입력하세요.

   1. **Application and OS Images (Amazon Machine Image)**(애플리케이션 및 OS 이미지(Amazon Machine Image))에서 **Amazon Linux**를 선택한 다음 **Amazon Linux 2023 AMI**를 선택합니다. 다른 선택 항목에 대해서는 기본값을 그대로 유지합니다.  
![\[Amazon Machine Image를 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/Tutorial_WebServer_12.png)

   1. **인스턴스 유형**에서 **t2.micro**를 선택합니다.

   1. **키 페어(로그인)**에서 기존 키 페어를 사용할 **키 페어 이름**을 선택합니다. Amazon EC2 인스턴스에 대한 새 키 페어를 생성하려면 **새 키 페어 생성**을 선택한 다음 **키 페어 생성** 창을 사용하여 생성합니다.

      새 키 페어 생성에 대한 자세한 내용은 **Amazon EC2 Linux 인스턴스용 사용 설명서의 [키 페어 생성](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html#create-a-key-pair)을 참조하세요.

   1. **네트워크 설정**의 **SSH 트래픽 허용**에서 EC2 인스턴스에 대한 SSH 연결 소스를 선택합니다.

      표시된 IP 주소가 SSH 연결에 대해 올바른 경우 **내 IP**를 선택할 수 있습니다. 그렇지 않으면 SSH(Secure Shell)를 사용하여 VPC의 EC2 인스턴스에 연결하는 데 사용할 IP 주소를 결정할 수 있습니다. 퍼블릭 IP 주소를 확인하려면 다른 브라우저 창 또는 탭에서 [https://checkip.amazonaws.com](https://checkip.amazonaws.com/)의 서비스를 사용합니다. IP 주소의 예는 192.0.2.1/32입니다.

       대부분의 경우 고정 IP 주소가 없는 방화벽 뒤나 인터넷 서비스 제공업체(ISP)를 통해 연결하는 경우가 많습니다. 그렇다면 클라이언트 컴퓨터에서 사용하는 IP 주소 범위를 결정합니다.
**주의**  
SSH 액세스에 `0.0.0.0/0`을 사용하는 경우 모든 IP 주소가 SSH를 사용하여 퍼블릭 EC2 인스턴스에 액세스할 수 있도록 활성화합니다. 이 방법은 테스트 환경에서 잠시 사용하는 것은 괜찮지만 프로덕션 환경에서는 안전하지 않습니다. 프로덕션에서는 SSH를 사용하여 EC2 인스턴스에 액세스할 수 있는 특정 IP 주소 또는 주소 범위만 인증합니다.

      다음 이미지는 **네트워크 설정** 섹션의 예를 보여 줍니다.  
![\[EC2 인스턴스에 대한 네트워크 설정\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/EC2_RDS_Connect_NtwkSettings.png)

   1. 나머지 섹션에서 기본값은 그대로 둡니다.

   1. **요약** 패널에서 EC2 인스턴스 구성 요약을 검토하고 준비가 되면 **인스턴스 시작**을 선택합니다.

1. **시작 상태** 페이지에서, 새 EC2 인스턴스의 식별자(예: `i-1234567890abcdef0`)를 기록해 둡니다.  
![\[시작 상태 페이지의 EC2 인스턴스 식별자.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/getting-started-ec2-id.png)

1. EC2 인스턴스 식별자를 선택하여 EC2 인스턴스 목록을 열고 EC2 인스턴스를 선택합니다.

1. **세부 정보** 탭에서 SSH를 사용하여 연결할 때 필요한 다음 값을 기록해 둡니다.

   1. **인스턴스 요약**에서 **퍼블릭 IPv4 DNS**의 값을 기록해 둡니다.  
![\[인스턴스 페이지의 세부 정보 탭에 있는 EC2 퍼블릭 DNS 이름.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/easy-create-ec2-public-dns.png)

   1. **인스턴스 세부 정보**에서 **키 페어 이름**의 값을 기록해 둡니다.  
![\[인스턴스 페이지의 세부 정보 탭에 있는 EC2 키 페어 이름.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/easy-create-ec2-key-pair.png)

1. 계속하기 전에 EC2 인스턴스의 **인스턴스 상태**가 **실행 중**이 될 때까지 기다립니다.

## MySQL DB 인스턴스 생성
<a name="CHAP_GettingStarted.Creating.MySQL"></a>

Amazon RDS의 기본 빌딩 블록은 DB 인스턴스입니다. MySQL 데이터베이스를 실행하는 환경입니다.

이 예시에서는 **간편 생성**을 사용하여 db.t3.micro DB 인스턴스 클래스에서 MySQL 데이터베이스 엔진을 실행하는 DB 인스턴스를 생성합니다.

**간편 생성(Easy create)을 사용하여 MySQL DB 인스턴스를 생성하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 Amazon RDS 콘솔을 엽니다.

1. Amazon RDS 콘솔의 오른쪽 상단에서 이전에 EC2 인스턴스에 사용한 AWS 리전을 선택합니다.

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

1. [**데이터베이스 생성(Create database)**]을 선택하고 [**간편 생성(Easy Create)**]이 선택되어 있는지 확인합니다.  
![\[간편 생성 옵션.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/easy-create-option.png)

1. **구성**에서 **MySQL**을 선택합니다.

1. **DB instance size(DB 인스턴스 크기)**에서 **프리 티어**를 선택합니다. **프리 티어**는 무료 요금제 계정에 표시됩니다. **샌드박스**는 유료 요금제 계정에 표시됩니다.

1. **DB 인스턴스 식별자**에 **database-test1**을 입력합니다.

1. **마스터 사용자 이름**에 마스터 사용자의 이름을 입력하거나 기본 이름을 그대로 유지합니다.

   **데이터베이스 생성** 페이지는 다음 이미지와 비슷해야 합니다. 무료 요금제 계정에는 **프리 티어**가 표시됩니다. 유료 요금제 계정에는 **샌드박스**가 표시됩니다.  
![\[데이터베이스 생성 페이지.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/easy-create-mysql.png)

1. DB 인스턴스에 자동 생성된 마스터 암호를 사용하려면 **암호 자동 생성**을 선택합니다.

   마스터 암호를 입력하려면 **암호 자동 생성** 선택을 해제한 다음, **마스터 암호**와 **암호 확인**에 동일한 암호를 입력합니다.

1. 이전에 생성한 EC2 인스턴스와의 연결을 설정하려면 **EC2 연결 설정 - *선택 사항***을 엽니다.

   **Connect to an EC2 compute resource**(EC2 컴퓨팅 리소스에 연결)를 선택합니다. 이전에 생성한 EC2 인스턴스를 선택합니다.  
![\[EC2 연결 옵션을 설정합니다.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/EC2_RDS_Setup_Conn-EasyCreate.png)

1. (선택 사항) **View default settings for Easy create(간편 생성 기본 설정 보기)**를 엽니다.  
![\[Easy Create(간편 생성) 기본 설정\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/easy-create-view-default-mysql.png)

   [**간편 생성(Easy Create)**]과 함께 사용되는 기본 설정을 검토할 수 있습니다. **데이터베이스 생성 후 편집 가능** 열에는 데이터베이스 생성 후 어떤 옵션을 변경할 수 있는지 나와 있습니다.
   + 설정의 해당 열에 **아니요**라고 되어 있지만 다른 설정을 원하는 경우 **표준 생성**을 사용하여 DB 인스턴스를 만들 수 있습니다.
   + 설정의 해당 열에 **예**라고 되어 있으며 다른 설정을 원하는 경우 **표준 생성**을 사용하여 DB 인스턴스를 만들거나 DB 인스턴스를 생성한 후 수정하여 설정을 변경할 수 있습니다.

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

   DB 인스턴스의 마스터 사용자 이름 및 암호를 보려면 **View credential details(자격 증명 세부 정보 보기)**를 선택합니다.

   DB 인스턴스를 마스터 사용자로 연결하려면 화면에 나타난 사용자 이름과 암호를 사용합니다.
**중요**  
마스터 사용자 암호를 다시 볼 수는 없습니다. 따라서 기록을 해두지 않으면 이를 변경해야 합니다.  
DB 인스턴스가 사용 가능한 상태가 되고 난 후에 마스터 사용자 암호를 변경해야 하는 경우에는 다음과 같은 방법으로 DB 인스턴스를 수정할 수 있습니다. DB 인스턴스 변경에 대한 자세한 내용은 [Amazon RDS DB 인스턴스 수정](Overview.DBInstance.Modifying.md) 단원을 참조하십시오.

1. **데이터베이스** 목록에서 새 MySQL DB 인스턴스의 이름을 선택하면 세부 정보가 표시됩니다.

   DB 인스턴스를 사용할 준비가 될 때까지 DB 인스턴스의 상태는 **생성 중**입니다.  
![\[DB 인스턴스 세부 정보.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/MySQL-Launch06.png)

   상태가 **Available**(사용 가능)로 변경되면 DB 인스턴스에 연결할 수 있습니다. DB 인스턴스 클래스와 스토리지의 양에 따라 새 인스턴스를 사용할 수 있을 때까지 최대 20분이 걸릴 수 있습니다.

## (선택 사항) CloudFormation를 사용하여 VPC, EC2 인스턴스 및 MySQL 인스턴스 생성
<a name="CHAP_GettingStarted.CFN.MySQL"></a>

콘솔을 사용하여 VPC, EC2 인스턴스 및 MySQL 인스턴스를 생성하는 대신 CloudFormation을 통해 코드형 인프라로 처리하여 AWS 리소스를 프로비저닝할 수 있습니다. AWS 리소스를 더 작고 관리하기 쉬운 단위로 구성하는 데 도움이 되도록 CloudFormation 중첩 스택 기능을 사용할 수 있습니다. 자세한 내용은 [CloudFormation 콘솔에서 스택 생성](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html) 및 [중첩된 스택 작업](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html)을 참조하세요.

**중요**  
CloudFormation은 무료이지만, CloudFormation에서 생성하는 리소스는 라이브입니다. 이러한 리소스를 종료하지 않으면 해당 리소스에 대한 표준 사용 요금이 발생합니다. 자세한 내용은 [RDS for MySQL 요금](https://aws.amazon.com//rds/mysql/pricing)을 참조하세요.

CloudFormation 콘솔을 사용하여 리소스를 생성하려면 다음 단계를 완료합니다.
+ CloudFormation 템플릿 파일을 다운로드하십시오.
+ CloudFormation을 사용하여 리소스 구성

### CloudFormation 템플릿 파일을 다운로드하십시오.
<a name="CHAP_GettingStarted.CFN.MySQL.Step1"></a>

CloudFormation 템플릿은 JSON 또는 YAML 텍스트 파일로, 스택에서 생성하려는 리소스에 대한 구성 정보가 들어 있습니다. 또한 이 템플릿은 RDS 인스턴스와 함께 VPC와 Bastion Host를 생성합니다.

템플릿 파일을 다운로드하려면 다음 링크인 [MySQL CloudFormation 템플릿](https://github.com/aws-ia/cfn-ps-amazon-rds/blob/main/templates/rds-mysql-main.template.yaml)을 엽니다.

Github 페이지에서 **원시 파일 다운로드 버튼을 클릭하여 템플릿 YAML 파일을 저장합니다.

### CloudFormation을 사용하여 리소스 구성
<a name="CHAP_GettingStarted.CFN.MySQL.Step2"></a>

**참고**  
이 프로세스를 시작하기 전에 AWS 계정에 EC2 인스턴스용 키 페어가 있는지 확인합니다. 자세한 내용은 [Amazon EC2 키 페어 및 Linux 인스턴스](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/ec2-key-pairs.html)를 참조하세요.

CloudFormation 템플릿을 사용할 때는 리소스가 제대로 생성되도록 올바른 파라미터를 선택해야 합니다. 다음 단계를 따릅니다.

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/)에서 CloudFormation 콘솔을 엽니다.

1. **스택 생성**을 선택합니다.

1. 템플릿 지정 섹션에서 **컴퓨터에서 템플릿 파일 업로드**를 선택하고 **다음**을 선택합니다.

1. **스택 세부 정보 지정** 페이지에서 다음 파라미터를 설정합니다.

   1. **스택 이름**을 **MySQLTestStack**으로 설정합니다.

   1. **파라미터**에서 가용 영역 3개를 선택하여 **가용 영역**을 설정합니다.

   1. **Linux Bastion Host 구성**에서 **키 이름**에 대해 EC2 인스턴스에 로그인할 키 페어를 선택합니다.

   1. **Linux Bastion Host 구성** 설정에서 **허용된 IP 범위**를 IP 주소로 설정합니다. Secure Shell(SSH)을 사용하여 VPC의 EC2 인스턴스에 연결하려면 [https://checkip.amazonaws.com](https://checkip.amazonaws.com)의 서비스를 사용하여 퍼블릭 IP 주소를 지정합니다. IP 주소의 예는 192.0.2.1/32입니다.
**주의**  
SSH 액세스에 `0.0.0.0/0`을 사용하는 경우 모든 IP 주소가 SSH를 사용하여 퍼블릭 EC2 인스턴스에 액세스할 수 있도록 활성화합니다. 이 방법은 테스트 환경에서 잠시 사용하는 것은 괜찮지만 프로덕션 환경에서는 안전하지 않습니다. 프로덕션에서는 SSH를 사용하여 EC2 인스턴스에 액세스할 수 있는 특정 IP 주소 또는 주소 범위만 인증합니다.

   1. **데이터베이스 일반 구성**에서 **데이터베이스 인스턴스 클래스**를 **db.t3.micro**로 설정합니다.

   1. **데이터베이스 이름**을 **database-test1**으로 설정합니다.

   1. **데이터베이스 마스터 사용자 이름**에 마스터 사용자 이름을 입력합니다.

   1. 이 자습서에서는 **Secrets Manager를 사용하여 DB 마스터 사용자 암호 관리**를 `false`로 설정합니다.

   1. **데이터베이스 암호**의 경우 원하는 암호를 설정합니다. 자습서의 향후 단계에 사용할 수 있도록 암호를 기억해 둡니다.

   1. **데이터베이스 스토리지 구성**에서 **데이터베이스 스토리지 유형**을 **gp2**로 설정합니다.

   1. **데이터베이스 모니터링 구성**에서 **RDS 성능 개선 도우미 활성화**를 false로 설정합니다.

   1. 다른 모든 설정은 기본값으로 둡니다. 계속하려면 **다음**을 클릭합니다.

1. **스택 옵션 구성** 페이지에서는 모든 기본 옵션을 그대로 둡니다. 계속하려면 **다음**을 클릭합니다.

1. **스택 검토** 페이지에서 데이터베이스 및 Linux Bastion Host 옵션을 확인한 후 **제출**을 선택합니다.

스택 생성 프로세스가 완료되면 **BastionStack 및 **RDSNS라는 이름의 스택을 보고 데이터베이스에 연결하는 데 필요한 정보를 기록해 둡니다. 자세한 내용은 [AWS Management Console에서 CloudFormation 스택 데이터 및 리소스 보기](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-view-stack-data-resources.html)를 참조하세요.

## MySQL DB 인스턴스에 연결
<a name="CHAP_GettingStarted.Connecting.MySQL"></a>

표준 SQL 클라이언트 애플리케이션을 사용해 DB 인스턴스에 연결할 수 있습니다. 이 예시에서는 mysql 명령줄 클라이언트를 사용해 MySQL DB 인스턴스에 연결합니다.

**MySQL DB 인스턴스에 연결하는 방법**

1. DB 인스턴스의 엔드포인트(DNS 이름)와 포트 번호를 찾습니다.

   1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 Amazon RDS 콘솔을 엽니다.

   1. Amazon RDS 콘솔의 오른쪽 상단에서 DB 인스턴스의 AWS 리전을 선택합니다.

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

   1. 세부 정보를 표시하고자 하는 MySQL DB 인스턴스 이름을 선택합니다.

   1. **Connectivity & security(연결 및 보안)** 탭에서 엔드포인트를 복사합니다. 또한 포트 번호를 적어 둡니다. DB 인스턴스에 연결하려면 엔드포인트와 포트 번호가 모두 필요합니다.  
![\[MySQL DB 인스턴스에 연결\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/MySQLConnect1.png)

1. **Amazon EC2 사용 설명서에 있는 [Linux 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html)의 단계를 따라 앞에서 만든 EC2 인스턴스에 연결합니다.

   SSH를 사용하여 EC2 인스턴스에 연결하는 것이 좋습니다. Windows, Linux 또는 Mac에 SSH 클라이언트 유틸리티가 설치된 경우 다음 명령 형식을 사용하여 인스턴스에 연결할 수 있습니다.

   ```
   ssh -i location_of_pem_file ec2-user@ec2-instance-public-dns-name
   ```

   예를 들어 `ec2-database-connect-key-pair.pem`이 Linux의 `/dir1`에 저장되어 있고, EC2 인스턴스의 퍼블릭 IPv4 DNS가 `ec2-12-345-678-90.compute-1.amazonaws.com`이라고 가정해 보겠습니다. SSH 명령은 다음과 같이 표시됩니다.

   ```
   ssh -i /dir1/ec2-database-connect-key-pair.pem ec2-user@ec2-12-345-678-90.compute-1.amazonaws.com
   ```

1. EC2 인스턴스에서 소프트웨어를 업데이트하여 최신 버그 수정 및 보안 업데이트를 받습니다. 이렇게 하려면 다음 명령을 사용하십시오.
**참고**  
`-y` 옵션을 사용하면 확인 여부를 묻지 않고 업데이트를 설치합니다. 설치 전에 업데이트 정보를 확인하려면 이 옵션을 생략합니다.

   ```
   sudo dnf update -y
   ```

1.  Amazon Linux 2023에서 MariaDB의 mysql 명령줄 클라이언트를 설치하려면 다음 명령을 실행합니다.

   ```
   sudo dnf install mariadb105
   ```

1. MySQL DB 인스턴스에 연결합니다. 예를 들어, 다음 명령을 입력합니다. 이 작업을 통해 MySQL 클라이언트를 사용하여 MySQL DB 인스턴스에 연결할 수 있습니다.

   `endpoint`는 DB 인스턴스 엔드포인트(DNS 이름)로 대체하고, `admin`는 사용된 마스터 사용자 이름으로 대체합니다. 암호를 묻는 메시지가 표시되면 사용한 마스터 암호를 제공합니다.

   ```
   mysql -h endpoint -P 3306 -u admin -p
   ```

   사용자에 대한 암호를 입력하면 다음과 유사한 출력이 나타납니다.

   ```
   Welcome to the MariaDB monitor.  Commands end with ; or \g.
   Your MySQL connection id is 3082
   Server version: 8.0.28 Source distribution
   
   Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
   
   Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
   
   MySQL [(none)]>
   ```

   MySQL DB 인스턴스 연결에 대한 자세한 내용은 [MySQL DB 인스턴스에 연결](USER_ConnectToInstance.md) 단원을 참조하십시오. DB 인스턴스에 연결할 수 없는 경우 [Amazon RDS DB 인스턴스에 연결할 수 없음](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting) 단원을 참조하십시오.

   보안을 위해서는 암호화된 연결을 사용하는 것이 가장 좋습니다. 클라이언트와 서버가 동일한 VPC에 있고 네트워크를 신뢰할 수 있는 경우에만 암호화되지 않은 MySQL 연결을 사용합니다. 암호화된 연결 사용에 대한 자세한 내용은 [MySQL 명령줄 클라이언트(암호화됨)에서 SSL/TLS를 사용하여 Amazon RDS의 MySQL DB 인스턴스에 연결](USER_ConnectToInstanceSSL.CLI.md) 섹션을 참조하세요.

1. SQL 명령을 실행합니다.

   예를 들어, 다음 SQL 명령은 현재 날짜 및 시간을 보여줍니다.

   ```
   SELECT CURRENT_TIMESTAMP;
   ```

## EC2 인스턴스 및 DB 인스턴스 삭제
<a name="CHAP_GettingStarted.Deleting.MySQL"></a>

생성한 샘플 EC2 인스턴스 및 DB 인스턴스에 연결하고 탐색한 후에는 요금이 더 이상 부과되지 않도록 삭제합니다.

CloudFormation을 사용하여 리소스를 생성했다면 이 단계를 건너뛰고 다음 단계로 이동합니다.

**EC2 인스턴스를 삭제하는 방법**

1. AWS Management Console에 로그인하고 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

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

1. EC2 인스턴스를 선택하고 **인스턴스 상태, 인스턴스 종료**를 차례로 선택합니다.

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

EC2 인스턴스 삭제에 대한 자세한 내용은 **Amazon EC2 사용 설명서의 [인스턴스 종료](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html)를 참조하세요.

**최종 DB 스냅샷이 없는 DB 인스턴스를 삭제하는 방법**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 Amazon RDS 콘솔을 엽니다.

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

1. 삭제할 DB 인스턴스를 선택합니다.

1. [** Actions**]에 대해 [**Delete**]를 선택합니다.

1. **최종 스냅샷을 생성하시겠습니까?** 및 **자동 백업 보존**을 선택 해제합니다.

1. 확인을 완료하고 **삭제**를 선택합니다.

## (선택 사항) CloudFormation으로 생성한 EC2 인스턴스 및 DB 인스턴스 삭제
<a name="CHAP_GettingStarted.DeletingCFN.MySQL"></a>

CloudFormation을 사용하여 리소스를 생성한 경우 샘플 EC2 인스턴스 및 DB 인스턴스에 연결하고 탐색한 후 CloudFormation 스택을 삭제하여 더 이상 비용이 청구되지 않도록 합니다.

**CloudFormation 리소스를 삭제하려면**

1. CloudFormation 콘솔을 엽니다.

1. CloudFormation 콘솔의 **스택** 페이지에서 루트 스택(VPCStack, BastionStack 또는 RDSNS라는 이름이 없는 스택)을 선택합니다.

1. **삭제**를 선택합니다.

1. 확인 메시지가 나타나면 **스택 삭제**를 선택합니다.

CloudFormation에서 스택을 삭제하는 방법에 대한 자세한 내용은 **AWS CloudFormation 사용 설명서의 [CloudFormation 콘솔에서 스택 삭제](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html)를 참조하세요.

## (선택 사항) DB 인스턴스를 Lambda 함수에 연결
<a name="CHAP_GettingStarted.ComputeConnect.MySQL"></a>

RDS for MySQL DB 인스턴스를 Lambda 서버리스 컴퓨팅 리소스에 연결할 수도 있습니다. Lambda 함수를 사용하면 인프라를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있습니다. 또한 하루 12개에서 초당 수백 개에 이르는 모든 규모의 코드 실행 요청에 자동으로 응답할 수 있습니다. 자세한 내용은 [Lambda 함수와 DB 인스턴스 자동 연결](lambda-rds-connect.md) 섹션을 참조하세요.