서버리스 MySQL 데이터베이스 구성 및 연결

Amazon Aurora Serverless 사용

이 자습서에서는 Amazon Aurora Serverless를 구성하고 연결하는 방법을 설명합니다.

Amazon Aurora는 MySQL 및 Postgre 호환 버전을 사용하는 관계형 데이터베이스 서비스로, 엔터프라이즈 데이터베이스의 성능과 가용성을 저렴한 비용으로 제공합니다. Aurora Serverless는 현재 Aurora MySQL 호환 버전용으로 기본 제공되는 새로운 온디맨드 Auto Scaling 구성입니다. Aurora Serverless를 사용하면 애플리케이션 요구 사항에 따라 데이터베이스가 자동으로 시작, 종료 및 확장/축소됩니다. 따라서 사용하지 않는 리소스에 대해서는 요금을 지불하지 않고 Aurora의 고가용성, 확장성 및 속도를 활용할 수 있습니다.

기존에는 데이터베이스를 관리하려면 새로운 애플리케이션의 알 수 없고 때로 변동이 심한 컴퓨팅 및 스토리지 증가 추세를 미리 예상하고, 개발 및 테스트 데이터베이스와 같은 가변 워크로드를 관리하고, 자주 사용되지 않는 큰 데이터베이스 용량을 온라인 상태로 유지하는 등 상당 부분 추측이 필요했습니다. Aurora Serverless로 이러한 추측을 없앨 수 있습니다. Aurora Serverless는 애플리케이션에 필요할 때 데이터베이스 스토리지와 컴퓨팅 용량을 확장하고 애플리케이션에 덜 필요할 때 용량을 줄입니다. 데이터베이스가 활성 상태일 때 사용하는 데이터베이스 용량을 초당 요금으로 지불하고 AWS Management Console에서 클릭 몇 번으로 표준 및 서버리스 구성 사이에서 마이그레이션할 수 있습니다.

앞으로 몇 분 동안 새 Aurora Serverless DB 클러스터를 생성하고 구성합니다. 새로운 Aurora Serverless 클러스터에 액세스하려면 Cloud9 환경을 생성한 다음 Cloud9 환경에서 클러스터로의 네트워크 트래픽을 활성화합니다. Cloud9 환경에 설치된 MySQL 명령줄 도구를 사용하여 클러스터에 로그인합니다. 마지막으로, Cloud9 환경과 Aurora Serverless DB 클러스터를 정리하고 종료합니다.

이 자습서는 프리 티어로 제공되지 않으며, 비용은 자습서의 단계를 따르고 자습서 종료 시 리소스를 종료하는 경우 1 USD 미만입니다.

이 자습서를 사용하려면 AWS 계정이 필요합니다.

이 자습서는 프리 티어로 제공되지 않습니다. 비용은 자습서의 단계를 따르고 자습서 종료 시 리소스를 종료하는 경우 1 USD 미만입니다.


1단계. RDS 콘솔로 이동

이 단계에서는 Aurora Serverless DB 클러스터를 생성할 수 있도록 Relational Database Service(RDS) 콘솔로 이동합니다.


a.  AWS Management Console을 엽니다. 이 단계별 안내서는 계속 열어 놓을 수 있습니다. 이 화면이 로드되면 먼저 사용자 이름 및 암호를 입력하여 시작합니다. 그런 다음 검색 창에 RDS를 입력하고 RDS를 선택하여 서비스 콘솔을 엽니다.

aurora-serverless-1a

( 확대하려면 클릭 )


2단계. Aurora Serverless DB 클러스터 생성

이 단계에서는 Amazon RDS를 사용하여 Aurora Serverless DB 클러스터를 생성합니다.


a. Amazon RDS 화면 왼쪽의 탐색 모음에서 [클러스터]를 선택합니다.

aurora-serverless-2a

( 확대하려면 클릭 )


b. [RDS > 클러스터] 화면에서 [데이터베이스 생성]을 선택합니다.

aurora-serverless-2b

( 확대하려면 클릭 )


c.  [엔진 선택] 화면에서 [Amazon Aurora]를 선택합니다. [버전] 라디오 버튼에서 [MySQL 5.6 호환]을 선택합니다. 현재 MySQL 5.6 버전만 Aurora Serverless에 사용할 수 있습니다.

[다음]을 선택합니다.

aurora-serverless-2c

( 확대하려면 클릭 )


d.  [DB 세부 정보 지정] 화면의 [용량 유형]에서 [서버리스] 라디오 버튼을 선택합니다.

[설정] 창의 [DB 클러스터 식별자] 필드에 MyClusterName을 입력합니다.

[마스터 사용자 이름]과 [마스터 암호] 필드를 원하는 값으로 설정하고 나중에 사용할 수 있도록 사용자 이름과 암호를 기록해 둡니다.

aurora-serverless-2d

( 확대하려면 클릭 )


e.  [고급 설정 구성] 페이지의 [용량 설정] 창에서 최소 Aurora 용량 단위 설정과 최대 Aurora 용량 단위 설정을 변경할 수 있습니다.

각 Aurora 용량 단위는 특정 컴퓨팅 및 메모리 구성에 해당합니다. Aurora Serverless는 클러스터의 CPU 사용률, 연결 수, 가용 메모리에 따라 최소 및 최대 용량 설정 사이에서 자동으로 조정됩니다.

[추가 조정 구성] 섹션을 펼칩니다. [다음 시간(분) 동안 활동이 없는 경우 컴퓨팅 용량 일시 중지] 확인란을 선택 취소하여 클러스터 일시 중지를 비활성화할 수 있습니다. 시간, 분, 초 드롭다운 목록 상자를 사용하여 클러스터가 일시 중지되기까지 활동이 없는 시간의 길이를 변경할 수 있습니다. 기본적으로 클러스터는 5분 동안 활동이 없으면 일시 중지됩니다.

이 자습서에서는 이들 설정을 기본값으로 둡니다.

aurora-serverless-2e

( 확대하려면 클릭 )


f. [네트워크 및 보안] 창의 [Virtual Private Cloud(VPC) 목록에서 [새 VPC 생성]을 선택합니다.

[서브넷 그룹] 목록에서 [새 DB 서브넷 그룹 생성]을 선택합니다.

[VPC 보안 그룹] 목록에서 [새 VPC 보안 그룹 생성]을 선택합니다. 이후 단계에서 데이터베이스 클라이언트로부터의 네트워크 트래픽이 새 Aurora Serverless 클러스터에 액세스하는 것을 허용하도록 이 새 보안 그룹을 수정하게 됩니다.

[데이터베이스 생성]을 선택합니다.

aurora-serverless-2f

( 확대하려면 클릭 )


g.  [RDS > 클러스터] 화면이 로드되고 생성 상태와 동일하게 MyClusterName 클러스터가 표시됩니다. 클러스터 목록에서 MyClusterName을 클릭하여 클러스터에 대한 자세한 정보에 액세스합니다.

aurora-serverless-2g

( 확대하려면 클릭 )


h.  MyClusterName 세부 정보 화면이 로드됩니다. 이 화면에는 일정 기간 동안 사용 중인 Aurora 용량 단위의 수를 보여 주는 [서버리스 데이터베이스 용량] 그래프와 조정 및 일시 중지/다시 시작 이벤트의 세부 정보를 보여 주는 [최근 이벤트] 창을 비롯한 모니터링 정보가 포함되어 있습니다.

[세부 정보] 창으로 스크롤합니다. 이 자습서에서 나중에 사용할 수 있도록 [VPC] 값과 [데이터베이스 엔드포인트] 값을 기록해 둡니다.

aurora-serverless-2h

( 확대하려면 클릭 )


3단계. Cloud9을 사용하여 클라이언트 환경 생성

MyClusterName 클러스터를 생성한 후에는 동일한 VPC 내에 데이터베이스 클라이언트를 생성해야 합니다. 이 작업을 수행하려면 데이터베이스 클라이언트로 사용할 Cloud9 환경을 생성합니다.


a.  상단의 [AWS 웹 콘솔] 메뉴에서 [서비스]를 선택합니다. 검색 창에 Cloud9을 입력하기 시작하고 Cloud9을 선택하여 서비스 콘솔을 엽니다.

aurora-serverless-3a

( 확대하려면 클릭 )


b. [AWS Cloud9] 화면에서 [환경 생성]을 선택합니다.

aurora-serverless-3b

( 확대하려면 클릭 )


c.  [환경 이름 지정] 화면의 [이름] 필드에 MyCloud9Env를 입력하고 [다음 단계]를 선택합니다.

aurora-serverless-3c

( 확대하려면 클릭 )


d.  [설정 구성] 화면에서 환경 유형을 [환경의 새 인스턴스 생성(EC2)]으로, [인스턴스 유형]을 [t2.micro]로 둡니다.

aurora-serverless-3d

( 확대하려면 클릭 )


e.  Aurora Serverless DB 클러스터에는 공개적으로 액세스 가능한 엔드포인트가 없으므로 MyClusterName은 같은 VPC 내에서만 액세스할 수 있습니다.

MyCloud9Env를 MyClusterName과 동일한 VPC에 배치하려면 [설정 구성] 화면을 아래로 스크롤하여 [네트워크 설정(고급)] 섹션을 펼칩니다. [네트워크(VPC)] 드롭다운에서, 2h단계에서 기록해 둔 MyClusterName의 VPC를 선택합니다.

[다음 단계]를 선택합니다.

[검토] 페이지에서 [환경 생성]을 선택합니다.

새 Cloud9 환경이 생성되고 나면 다음 단계로 진행합니다.

aurora-serverless-3e

( 확대하려면 클릭 )


4단계. 서버리스 클러스터에 대한 클라이언트 네트워크 액세스 활성화

이 단계에서는 Cloud9 환경에서 Serverless DB 클러스터로의 네트워크 액세스를 활성화합니다. 이 작업을 수행하기 위해 MyCloud9Env에 할당된 보안 그룹을 MyClusterName에 할당된 보안 그룹의 트래픽 소스로 추가합니다. 보안 그룹은 네트워크의 네트워크 트래픽을 제어하는 가상 방화벽입니다.


a.  쉽게 탐색할 수 있도록 여기를 클릭하여 다른 브라우저 탭에서 AWS 웹 콘솔을 로드합니다. 새 브라우저 창의 상단 메뉴 모음에서 [서비스]를 선택한 후 검색 창에 VPC를 입력하고 목록에서 VPC를 선택합니다.

aurora-serverless-4a

( 확대하려면 클릭 )


b.  [VPC 대시보드] 창의 왼쪽 탐색 모음에서 [보안 그룹]을 선택합니다.

[그룹 이름] 열에서 aws-cloud9-MyCloud9Env로 시작하는 보안 그룹을 찾습니다. 이 보안 그룹의 그룹 ID를 기록해 둡니다.

예를 들어 오른쪽의 스크린샷에서는 7431로 끝나는 보안 그룹을 기록해 둡니다. 실제 사용자의 그룹 ID는 이 스크린샷에 나와 있는 것과 다릅니다.

aurora-serverless-4b

( 확대하려면 클릭 )


c.  보안 그룹 목록에서 RDS-Launch-Wizard로 시작하는 보안 그룹을 선택합니다.

그런 다음 [인바운드 규칙] 탭을 선택합니다.

다음으로 [편집]을 선택합니다.

aurora-serverless-4c

( 확대하려면 클릭 )


d.  [인바운드 규칙] 탭에서 [다른 규칙 추가]를 선택합니다.

[유형] 열의 드롭다운 목록에서 MySQL/Aurora (3306)을 선택합니다.

그런 다음 [소스] 열 필드를 클릭하면 드롭다운 목록이 나타납니다. 4b단계에서 기록해 둔 보안 그룹 ID를 선택합니다. 다음으로 [저장]을 선택합니다.

예를 들어 오른쪽 스크린샷의 목록에서는 7431로 끝나는 보안 그룹을 선택합니다. 실제 사용자의 그룹 ID는 이 스크린샷에 나와 있는 것과 다릅니다.  

aurora-serverless-4d

( 확대하려면 클릭 )


5단계. Aurora Serverless DB 클러스터에 연결

이 단계에서는 Cloud9 환경에서 Aurora Serverless DB 클러스터에 액세스합니다.


a.   MyCloud9Env 브라우저 창으로 다시 전환합니다.

MyCloud9Env의 bash 터미널 탭에서 다음 명령을 입력합니다. 마스터 사용자 이름과 데이터베이스 엔드포인트를 명령의 값으로 대체하고 Enter 키를 누릅니다.

mysql --user=[your Master username] --password -h [your database endpoint]

메시지가 나타나면 마스터 암호를 입력하고 Enter 키를 누릅니다.

이제 MyClusterName Aurora Serverless DB 클러스터에 연결됩니다. 

aurora-serverless-5a

( 확대하려면 클릭 )


b. 설정한 연결을 사용하여 Aurora Serverless DB 클러스터에 대해 명령을 실행할 수 있습니다. 예를 들어 다음 명령을 MyCloud9Env bash 탭에 붙여 넣어 서버의 데이터베이스를 표시할 수 있습니다.

show databases;
aurora-serverless-5b

( 확대하려면 클릭 )


6단계. 리소스 종료

이 단계에서는 Aurora DB 클러스터와 Cloud9 환경을 종료합니다.

중요: 현재 사용되지 않는 리소스를 종료하면 비용이 절감되므로 권장됩니다. 리소스를 종료하지 않으면 요금이 부과됩니다.


a.  상단 메뉴에서 [서비스]를 선택한 후 검색 창에 RDS를 입력하기 시작합니다. RDS를 선택하여 Amazon RDS 콘솔로 돌아갑니다.

aurora-serverless-1a

( 확대하려면 클릭 )


b.  Amazon RDS 콘솔 페이지의 왼쪽 탐색 목록에서 [클러스터]를 선택합니다. 클러스터 목록에서 myclustername을 선택합니다. [작업] 메뉴에서 [클러스터 삭제]를 선택합니다.

myclustername을 삭제하라는 메시지가 나타나면 [DB 클러스터 삭제]를 선택합니다.

aurora-serverless-6a

( 확대하려면 클릭 )


c.  상단의 [AWS 웹 콘솔] 메뉴에서 [서버리스]를 선택합니다. 검색 창에 Cloud9을 입력하기 시작하고 Cloud9을 선택하여 서비스 콘솔을 엽니다.

aurora-serverless-3a

( 확대하려면 클릭 )


d. [사용자 환경] 화면에서 [MyCloud9Env]를 선택하고 [삭제]를 선택합니다. MyCloud9Env 삭제 의사를 확인합니다.

aurora-serverless-6d

( 확대하려면 클릭 )


축하합니다!

Aurora Serverless DB 클러스터를 생성, 연결, 종료했습니다. 가변적이거나 자주 사용하지 않는 애플리케이션, 개발/테스트 환경, 멀티 테넌트 애플리케이션 및 온디맨드 Auto Scaling을 사용할 경우 유용한 기타 앱에 Aurora Serverless를 연결하면 이 서비스의 이점을 제대로 경험할 수 있습니다.

다음 앱에 Aurora Serverless를 사용하는 방법 자세히 알아보기 »

이제 Aurora Serverless 데이터베이스 클러스터를 생성하고 연결하는 방법을 배웠으므로 Aurora Serverless 사용 설명서로 넘어가 Aurora Serverless 데이터베이스의 복원, 수정, 보기 및 용량 설정에 대해 배울 수 있습니다.

Amazon Aurora Serverless 사용 »