본문 바로가기
Amazone Web Service

[AWS - SkillBuilder] Introduction to Amazon Aurora (Korean)

by Seungyoon1786 2024. 5. 24.

오로라 DB에 대해 궁금하였는데 이번 스터디에서 스킬빌더에 대한 스터디를 진행하다가 Amazon Aurora에 대한 강의를 수강하게 되었다. 

 

이 실습 가이드는 Amazon Aurora에 대해 소개하는 내용이다.

이 실습에서는 Amazon Aurora 사용법의 기본 사항을 이해할 수 있다. Amazon Aurora 인스턴스를 생성한 다음, 연결하는 단계를 배우게 된다.

목표

 

이 실습을 마치면 다음을 수행할 수 있다

  • Amazon Aurora 인스턴스 생성
  • 미리 생성된 Amazon RDS for MySQL 인스턴스에 연결
  • MySQL Workbench가 설치된 미리 생성된 Amazon EC2 인스턴스에 연결
  • 덤프 파일에서 Amazon RDS for MySQL 인스턴스로 데이터 로드
  • 동일한 덤프 파일에서 Amazon Aurora 인스턴스로 데이터 로드
  • Amazon Aurora 인스턴스의 데이터 쿼리
  • Amazon RDS for MySQL 인스턴스의 데이터를 쿼리하고 결과 비교

사전 요구 사항

이 실습에는 다음이 필요하다:

Google Chrome 브라우저. Fleet Manager RDP의 경우 Chrome 브라우저만 RDP 세션과 로컬 머신 간의 양방향 복사 및 붙여넣기를 지원한다.
Microsoft Windows, Mac OS X 또는 Linux(Ubuntu, SuSE 또는 Red Hat)가 설치된 컴퓨터.

 

기술 소개


Amazon Aurora
Amazon Aurora는 완전 관리 형태로 MySQL과 호환되는 관계형 데이터베이스 엔진이다. 고사양 상업용 데이터베이스의 성능 및 안정성을 오픈 소스 데이터베이스의 간편성 및 비용 효율성과 결합한 것이다. 대부분 MySQL 데이터베이스를 사용하는 기존 애플리케이션을 변경할 필요 없이 그대로 사용하더라도 MySQL 성능이 최대 5배까지 향상된다.

Amazon Elastic Compute Cloud(Amazon EC2)
Amazon Elastic Compute Cloud는 클라우드에서 컴퓨팅 용량을 자유자재로 변경할 수 있는 웹 서비스이다. 이 서비스는 개발자가 보다 쉽게 웹 규모의 클라우드 컴퓨팅을 수행할 수 있도록 설계되었다. Amazon EC2에서는 몇 분이면 새로운 서버 인스턴스를 프로비저닝할 수 있으므로, 컴퓨팅 요구 사항의 변경에 따라 용량을 신속하게 확장 및 축소할 수 있다.

Amazon Relational Database Service(Amazon RDS)
Amazon RDS는 클라우드에서 관계형 데이터베이스의 설정, 운영 및 확장을 용이하게 한다. 시간 소모적인 데이터베이스 관리 태스크를 관리하는 한편, 효율적인 비용으로 크기 조정이 가능한 용량을 제공하므로 사용자가 애플리케이션과 비즈니스에 좀 더 집중할 수 있다. Amazon RDS는 Amazon Aurora, Oracle, Microsoft SQL Server, PostgreSQL, MySQL, MariaDB를 포함한 데이터베이스 엔진 6개 중에서 선택할 수 있게 되어 있다.

MySQL Workbench
MySQL Workbench는 데이터베이스 설계자, 개발자 및 DBA를 위한 통합 시각적 도구이다. MySQL Workbench는 데이터 모델링, SQL 개발 및 서버 구성, 사용자 관리, 백업 등을 위한 포괄적인 관리 도구를 제공한다. MySQL Workbench는 Windows, Linux 및 Mac에서 사용할 수 있다.

 


 

태스크 1: Amazon Aurora 인스턴스 생성

 

이 태스크에서는 Amazon Aurora DB 인스턴스를 생성한다. 지침에 따라 인스턴스를 생성해본다.

 

참고로 서브넷은 사용자가 보안 및 운영상의 필요를 바탕으로 리소스를 그룹화하기 위해 지정하는 VPC IP 주소 범위의 특정 부분이다. DB 서브넷 그룹은 사용자가 VPC에서 만든 다음, DB 인스턴스에 대해 지정하는 서브넷(일반적으로 프라이빗)의 모음이다. DB 서브넷 그룹을 통해 CLI 또는 API를 사용하여 DB 인스턴스를 만들 때 특정 VPC를 지정할 수 있고, 콘솔을 사용하면 사용하려는 VPC와 서브넷을 선택할 수 있다.

 

이미 만들어져있는 서브넷과 VPC


Aurora 서브넷 그룹은 실습을 시작할 때 CloudFormation을 사용하여 생성되었다. (AWS CloudFormation은 AWS 리소스를 손쉽게 모델링하고 설정할 수 있도록 지원하는 서비스)

Amazon Virtual Private Cloud(VPC)는 사용자가 정의한 가상 네트워크에서 AWS 리소스를 시작할 수 있게 한다. 이 가상 네트워크는 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사하며, AWS의 확장 가능한 인프라를 사용한다는 이점이 있다.

 

 

현 실습에서 암호화는 주요 사항이 아니며, 실습 환경이기에 암호화는 불필요한 것으로 암호화를 해제하라는 지침을 해석했다.

(암호화에는 번거로운 작업들이 추가 될 수 있음)

 

 

이제 RDS인스턴스를 만들었다. RDS 인스턴스를 시작하는 데 최대 5분이 걸릴 수 있다.

태스크 2: Amazon EC2 인스턴스 로그인

이 태스크에서는 AWS Systems Manager Fleet Manager를 사용하여 Amazon EC2 인스턴스에 연결한다. 이 인스턴스는 실습을 시작할 때 CloudFormation을 사용하여 시작되었다. Windows 인스턴스에는 MySQL Workbench 클라이언트 소프트웨어가 사전 설치되어 있다. 인스턴스에 로그인하면 MySQL Workbench 소프트웨어를 사용하여 데이터베이스에 연결할 수 있다.

 

AWS Systems Manager Fleet Manager -  AWS 리소스를 중앙 집중식으로 관리하기 위한 서비스


Chrome을 인터넷 브라우저로 사용하고 있는지 확인해야 한다. Fleet Manager RDP에서는 Chrome 브라우저만 RDP 세션과 로컬 머신 간의 양방향 복사 및 붙여넣기를 지원한다.

EC2 Windows 인스턴스

 

지침을 수행하여 Fleet Manager에서 RDP를 사용하여 EC2 Windows 인스턴스에 연결하였다.

태스크 3: Amazon RDS 인스턴스에 연결

EC2 Windows 인스턴스에서 Aurora와 MySQL 데이터베이스에 연결해야 한다. MySQL 인스턴스는 CloudFormation을 사용하여 시작되었다. Windows 인스턴스에서 데이터베이스에 연결하려면 해당 데이터베이스의 연결 세부 정보를 가져와야 한다. (MYSQL 엔드포인트 가져오기)

 

엔드 포인트를 복사하여 저장한다.

 

AURORA 엔드포인트도 가져오기

 

참고

클러스터 엔드포인트는 Aurora DB 클러스터의 쓰기 작업을 처리하며, 프라이머리 DB에 연결된다. 이는 쓰기(삽입, 업데이트, 삭제, DDL 변경) 및 읽기( 쿼리)작업에 사용된다. 장애 조치 기능을 지원하여 최소한의 서비스 중단을 유지한다.

리더 엔드포인트는 Aurora DB 클러스터의 읽기 전용 연결을 로드 밸런싱하여 처리한다. 이를 통해 읽기 작업에 최적화되며, 프라이머리와 복제본 간의 연결 요청을 관리한다. 쓰기 작업에는 리더 엔드포인트를 사용할 수 없다.

 

Fleet Manager RDP 연결의 최대 세션 기간은 60분이다. 이 시간이 경과하면 Fleet Manager가 세션을 자동으로 종료한다. Fleet Manager RDP와 상호 작용 중 문제가 발생하면 Actions 드롭다운 목록에서 Renew session을 선택하여 세션 기간 타이머를 다시 시작할 수 있다.

Windows 인스턴스의 가시성과 탐색을 개선하려면 Actions 메뉴 오른쪽에 있는 아이콘을 사용하여 RDP 보기를 전체 화면으로 확장하면 된다. 다시 이 아이콘을 사용하여 RDP 보기를 최소화할 수 있다.

 

MYSQL WORKBENCH 시작

이제 데이터 베이스에 연결해보겠다. 지침을 수행하여  Aurora MySQL이라는 두 개의 MySQL 연결을 생성한다.

그리고 인스턴스는 복붙이 안되는 모양이라 일일이 다 쳐넣었다 -> rdpclip.exe도 안됨

 

Aurora 데이터베이스에 연결

태스크 4: SQL 덤프 파일을 데이터베이스로 가져오기

Remote Desktop Connection에서 Windows PowerShell을 선택한다

Invoke-WebRequest https://s3-us-west-2.amazonaws.com/aws-tc-largeobjects/SPLs/sharedDatabases/world.sql -OutFile c:\\Users\\Administrator\\Desktop\\world.sql 를 쳐넣는다.(..)

 

 

더보기

Invoke-WebRequest https://s3-us-west-2.amazonaws.com/aws-tc-largeobjects/SPLs/sharedDatabases/world.sql -OutFile c:\\Users\\Administrator\\Desktop\\world.sql

이 명령은 데스크톱에 SQL 덤프 파일을 추가한다.

 

MYSQL 데이터베이스로 덤프 파일 가져오기 

MySQL Workbench 애플리케이션에서 MySQL 연결을 선택하면 MySQL 데이터베이스의 쿼리 창이 표시된다. 그후 지침에 맞게 진행 해보자.

 

Ellipsis는 점 (...)을 말한다 . 후에 생성한 world sql 덤프 파일을 클릭한다.

 

Import Progress 탭을 선택한 다음 Start Import를 누른다.

 

 

MySQL Workbench의 왼쪽 창에서 Schemas 탭을 선택한다.  SCHEMAS 옆에 있는 refresh 기호를 선택하여 새로고침한다.  이제 world라는 데이터베이스가 생겼다.

 

AURORA 데이터베이스로 덤프 파일 가져오기

MySQL Workbench 애플리케이션의 왼쪽 상단 모서리에 있는 Home  버튼을 선택한 다음 Aurora 연결을 선택한다.

그러면 Aurora 데이터베이스의 쿼리 창이 표시된다. 화면 상단에 2개의 탭이 표시되는데, 하나는 MySQL용이고 다른 하나는 Aurora용 탭이다.

 

MySQL에서 덤프 파일을 가져올 때와 동일한 과정을 거쳐 Aurora 데이터베이스로 덤프 파일을 가져온다.

 

태스크 5: 데이터베이스 쿼리

이 태스크에서는 MySQL 데이터베이스와 Aurora 데이터베이스를 모두 쿼리한다. MySQL 워크벤치 창 상단에 있는 MySQL 탭을 선택한다.

 

Query 1 탭을 선택하고 다음을 입력한다.

더보기

select * from world.city where Population > 10000
Order by CountryCode;

직원 정보가  Output  창에 표시된다

AURORA 데이터베이스에서 쿼리 실행

 Aurora 탭을 선택하여 동일한 쿼리를 실행해본다.

 

쿼리는 동일한 결과를 생성

 

'Amazone Web Service' 카테고리의 다른 글

AWS Educate : DataBases 실습  (0) 2024.05.29
AWS Educate : Compute  (0) 2024.05.29
AWS Educate : Security 실습  (0) 2024.05.08
AWS Educate : Storage 실습  (0) 2024.05.07
EC2 인스턴스의 요금  (0) 2024.05.01