Category: Amazon RDS


Amazon RDS – MySQL 5.7 지원 시작

오늘부터 Amazon RDS에서 MySQL 5.7을 사용하실 수 있게 되었습니다.

이번 출시에는 MySQL 성능 향상 및 확장성, 보안 기능 향상 등도 함께 포함되어 있습니다.

  • MySQL JSON 네이티브 지원: JSON 데이터 및 빌트인 함수 (JSON_ARRAY, JSON_OBJECT, JSON_QUOTE, JSON_CONTAINS, JSON_CONTAINS_PATH, JSON_EXTRACT, JSON_KEYS, JSON_SEARCH, JSON_APPEND, JSON_ARRAY_APPEND, JSON_ARRAY_INSERT, JSON_INSERT, JSON_MERGE, JSON_REMOVE, JSON_REPLACE, JSON_SET, JSON_UNQUOTE, JSON_DEPTH, JSON_LENGTH, JSON_TYPE, and JSON_VALID).
  • Performance Schema를 통한 성능 향상 통계 제공
  • 파싱, EXPLAIN 및 쿼리 최적화 성능 개선
  • GIS를 위한 네이티브 InnoDB 공간 데이터 인덱스 지원 및 Boost.Geometry 통합 (자세한 것은 MySQL 5.7 and GIS, an ExampleMaking Use of Boost Geometry in MySQL GIS을 참고하세요.)
  • 신규 클락 모드를 통한 병렬 리플리케이션 성능 향상 (더 자세한 것은 Multi-threaded Replication Performance in MySQL 5.7을 참고하세요.)
  • InnoDB 확장성 및 임시 테이블 성능 향상 및 동적 buffer pool 크기 변경과 충돌 복구 개선.

기타 더 자세한 것은 MySQL 5.7 Release Notes을 참고하십시오.

데이터베이스 인스턴스 시작하기
AWS 관리 콘솔, AWS Command Line Interface (CLI), AWS Tools for Windows PowerShell 및 RDS API (CreateDBInstance) 또는 CloudFormation 템플릿으로 데이터베이스 인스턴스를 시작할 수 있습니다.

관리 콘솔에서 데이터베이스 인스턴스를 시작하는 방법:

데이터베이스 인스턴스를 시작하면 EC2 인스턴스의 보안 그룹을 편집하여 데이터베이스 인스턴스에 연결할 수 있습니다.

신규 Performance Schema를 볼 수 있습니다.

MySQL 5.7의 새로운 기능을 테스트하시고 난 후, 업그레이드 하시길 권장해 드립니다.

오늘 부터 사용 가능!
Amazon RDS for MySQL 5.7 인스턴스는US East (Northern Virginia), US West (Northern California), US West (Oregon), Europe (Ireland), Europe (Frankfurt), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Seoul), China (Beijing), South America (Brazil)AWS GovCloud (US) 리전에서 바로 사용 가능합니다.

Jeff;

이 글은 Amazon RDS Update – Support for MySQL 5.7의 한국어 번역입니다.

Amazon RDS 확장 모니터링 기능 – MySQL 5.6, MariaDB 및 Aurora용

Amazon Relational Database Service (RDS)를 이용하여 손쉽게 관계형 데이터베이스의 설치 및 실행, 확장 등의 유지 보수를 할 수 있습니다. 여러분은 애플리케이션이나 비즈니스에만 주력할 수 있도록, 대부분의 관리는 AWS에서 수행합니다.

확장 모니터링
Amazon RDS를 활용하고 있는 고객들로부터 RDS 내부의 상세한 정보를 모니터링하고 싶다는 요청을 많이 받았습니다. 그래서, 오늘 확장 모니터링 기능을 추가했습니다.

데이터베이스 인스턴스에서 확장 모니터링 기능을 활성화하면 CPU, 메모리, 파일 시스템 및 디스크 I/O 등의 50개 이상의 측정치에 대한 정보를 얻을 수 있습니다. 본 기능은 데이터베이스 인스턴스 단위로 할 수 있습니다. 모니터링 및 측정 시간도 (1 초 단위까지) 세부적으로 설정 가능합니다. 사용 가능한 통계 목록은 아래와 같습니다.

아래는 제 RDS 인스턴스에서 얻은 샘플 데이터입니다.

RDS 콘솔에서 모니터링 설정을 구성하려는 데이터베이스 인스턴스를 선택하고 Instance Options 메뉴에서 Modify를 선택하여 이미 실행중인 데이터베이스 인스턴스에 설정할 수 있습니다.

기능을 활성화 한 후, IAM Role을 선택하고 단위를 선택한 후, Apply Immediately에 체크하고 Continue를 클릭합니다.

확장 모니터링은 CloudWatch Logs 및 Amazon CloudWatch에 로그를 게시 할 수 있습니다. 이와 같이 설정할 때는 측정치 필터를 설정해야 하며, 자세한 내용은 를 참조하십시오. 일단 CloudWatch Logs에 수치들이 저장된 후에는 타사 제품의 분석·모니터링 도구를 활용하는 것도 가능합니다.

정식 출시
확장 모니터링 기능은 오늘부터 US East (Northern Virginia), US West (Northern California), US West (Oregon) Europe (Ireland) Europe (Frankfurt), Asia Pacific (Singapore) Asia Pacific (Sydney), Asia Pacific (Tokyo) 지역의 t1.micro과 m1.small을 제외한 MySQL 5.6, MariaDB, Amazon Aurora의 모든 인스턴스 유형에서 사용할 수 있습니다.

일반적인 CloudWatch Logs 수집 및 데이터 전송 요금으로 이용하실 수 있습니다. (자세한 내용은 CloudWatch Logs 요금 페이지를 참조하십시오.)

Jeff;

이 글은 New – Enhanced Monitoring for Amazon RDS (MySQL 5.6, MariaDB, and Aurora)의 한국어 번역입니다.

AWS CLI를 사용한 리전간 DB 파라미터 그룹 복사하기

Amazon Relational Database Service (RDS) 는 클라우드에서 관계형 데이터베이스를 손쉽게 설정, 운영 및 확장할 수 있는 관리형 서비스입니다. RDS를 사용하면 데이터베이스 패치 작업, 백업, 특정 시점으로의 복원 등의 복잡한 관리 절차를 자동화 할 수 있습니다.

AWS에서 글로벌 서비스를 진행할 때, 하나의 리전(Region)에서 운영 중인 서비스를  전 세계로 확장하기 위해 데이터베이스를 다른 리전으로 복사해야 하는 경우가 있습니다. 이때 스냅샷(Snapshot)을 생성하여 대상 리전에 복사 후 해당 스냅샷으로부터 새로운 데이터베이스 인스턴스를 만들면 글로벌 서비스가 가능합니다.

RDS의 Snapshot을 다른 리전으로 옮긴 후, 복원하여 사용하시기 위해서는 몇 가지 사전 작업이 필요합니다.

  • 보안 그룹 (Security Groups)생성
  • DB 옵션 그룹 생성
  • DB 서브넷 그룹 생성
  • DB 파라미터 그룹 생성

위의 정보들은 특정 리전에만 국한된 것이기에, 복사하려는 대상 리전에 미리 생성하여 준비 시켜두어야 합니다.

특히, 이중에 기존에 운영 중인 서비스와 동일한 환경과 성능을 보장하기 위해서는 파라미터 그룹을 일치화 시켜야 합니다. 대상이 MySQL의 경우에는 콘솔에서 설정할 수 있는 파라미터들이 300여개에 달하기에 이를 하나하나 비교해가며 수동으로 작업하는 것은 쉽지 않습니다.

(이 글이 작성되는 시점에는 아직 리전간 파라미터 그룹 복사 기능이 지원되지 않으므로) AWS Command-Line Interface(CLI)를 활용하여 다른 리전에서 복사한 스냅샷으로부터 데이터베이스를 생성 후 기존에 사용 중이던 파라미터 그룹과 일치화 시키는 방법에 대해서 알아보고자 합니다.

참고로 한번의 명령으로 최대 20개의 파라미터 값만 변경 가능합니다. 따라서, 설명의 편의를 위해 20개 이하의 파라미터 값 변경을 기준으로 진행하도록 하겠습니다. 20개 이상의 파라미터 값 변경은 반복 실행하는 스크립트 작성을 통해 가능합니다.

1. 환경 설정
우리는 AWS CLI를 활용한 DB 파라미터 그룹 복사 방법을 확인 하기 위해 동경(ap-northeast-1) 리전의 RDS에서 파라미터 그룹을 ‘src-pg’ 라는 이름으로 생성한 뒤 다음과 같이 파라미터를 수정하도록 하겠습니다.

Parameter src-pg default.mysql5.6
innodb_flush_log_at_trx_commit 0 <engine-default>
slow_query_log 1 <engine-default>
innodb_support_xa 0 <engine-default>
long_query_time 60 <engine-default>
character_set_server utf8 <engine-default>

2. 복사 대상 DB 파라미터 그룹 정보 확인
우리의 아이디어는 describe-db-parameters를 통해 파라미터 그룹의 정보를 출력 후, 대상 리전의 RDS에서 생성한 파라미터 그룹에 앞서 출력한 원본 파라미터 그룹의 정보를 modify-db-parameter-group를 통하여 업데이트 하는 것입니다.

수정된 파라미터 중 하나를 선택하여 어떠한 포맷과 형태로 정보들이 출력 되는지 확인 해 봅니다.

$ aws rds describe-db-parameters --db-parameter-group-name src-pg --query "Parameters [? ParameterName == 'long_query_time']"

결과는 JSON 포맷으로 다음과 같이 나옵니다.

[
    {
        "Description": "Defines what MySQL considers long queries",
        "DataType": "float",
        "IsModifiable": true,
        "AllowedValues": "0-31536000",
        "Source": "user",
        "ParameterValue": "60",
        "ParameterName": "long_query_time",
        "ApplyType": "dynamic"
    }
]

파라미터 정보들을 업데이트 하기 위해서는 modify-db-parameter-group명령을 사용합니다. 이 때 --generate-cli-skeleton 옵션을 주게 되면 업데이트를 위해 입력하여야 하는 데이터의 구조를 확인할 수 있습니다.

$ aws rds modify-db-parameter-group --generate-cli-skeleton

결과는 아래와 같이 파라미터를 업데이트 하기 위한 기본 구조가 출력 됩니다.

{
    "DBParameterGroupName": "",
    "Parameters": [
        {
            "ParameterName": "",
            "ParameterValue": "",
            "Description": "",
            "Source": "",
            "ApplyType": "",
            "DataType": "",
            "AllowedValues": "",
            "IsModifiable": true,
            "MinimumEngineVersion": "",
            "ApplyMethod": ""
        }
    ]
}

앞서 describe-db-parameters를 통하여 출력된 정보들과 비교해보면 거의 동일하며, MinimumEngineVersion과 ApplyMethod 가 추가되어 있는것을 확인할 수 있습니다. ApplyMethod 는 꼭 필요한 정보이며 MinimumEngineVersion 은 선택사항 입니다.

이를 통해 기존 출력된 정보에 ApplyMethod 만 추가하여 업데이트 한다면 원하는 파라미터 그룹을 다른 리전에서도 그대로 사용할 수 있다는 것을 알 수 있습니다.

ApplyMethod는 immediate와 pending-reboot 값 중 하나를 가질 수 있습니다. immediate는 변경 사항을 RDS 인스턴스에 즉시 적용하는 것을 의미하며, pending-reboot 은 인스턴스가 재시작 될 때 적용되는 것을 의미 합니다. 각 정보는 파라미터 종류와 운영 환경에 맞게 결정되어야 하겠지만, 이 글에서는 immediate로 지정하여 진행하도록 하겠습니다.

3. 복사하려는 파라미터 그룹 정보 출력
대상 파라미터 그룹에 업데이트 하기 위한, 복사하려는 파라미터 그룹 정보를 파일에 출력해 보겠습니다. 다만, 불필요하게 모든 파라미터 정보를 출력하지 않고, 수정된 파라미터만 출력하기 위해 --source 옵션을 사용하도록 하겠습니다.

$ aws rds describe-db-parameters --db-parameter-group-name src-pg --source user > src-pg.json

아래와 같은 결과가 src-pg.json 파일에 출력됩니다.

{
    "Parameters": [
        {
            "Description": "The server's default character set.",
            "DataType": "string",
            "IsModifiable": true,
            "AllowedValues": "big5,dec8,cp850,hp8,koi8r,latin1,latin2,swe7,ascii,ujis,sjis,hebrew,tis620,euckr,koi8u,gb2312,greek,cp1250,gbk,latin5,armscii8,utf8,ucs2,cp866,keybcs2,macce,macroman,cp852,latin7,utf8mb4,cp1251,utf16,cp1256,cp1257,utf32,binary,geostd8,cp932,eucjpms",
            "Source": "user",
            "ParameterValue": "utf8",
            "ParameterName": "character_set_server",
            "ApplyType": "dynamic"
        },
...

4. 파라미터 정보 추가하기
앞서 살펴본바와 같이 ApplyMethod는 필수이기 때문에 각 파라미터 정보에 추가하도록 하겠습니다. 먼저 파이썬(Python)을 활용한 방법입니다.

$ cat src-pg.json | python -c 'import sys,json; data=json.loads(sys.stdin.read()); map(lambda x: x.update({"ApplyMethod":"immediate"}), data["Parameters"]); print json.dumps(data)' | python -m json.tool > dest-pg.json

두번째는 jq를 사용(설치 필요) 하는 방법입니다.

$ cat src-pg.json | jq '.Parameters[] |= . + {"ApplyMethod": "immediate"}' > dest-pg.json

이제 dest-pg.json 파일을 출력해보면 다음과 같이 ApplyMethod 가 추가된 것을 확인할 수 있습니다.

{
    "Parameters": [
        {
            "AllowedValues": "big5,dec8,cp850,hp8,koi8r,latin1,latin2,swe7,ascii,ujis,sjis,hebrew,tis620,euckr,koi8u,gb2312,greek,cp1250,gbk,latin5,armscii8,utf8,ucs2,cp866,keybcs2,macce,macroman,cp852,latin7,utf8mb4,cp1251,utf16,cp1256,cp1257,utf32,binary,geostd8,cp932,eucjpms",
            "ApplyMethod": "immediate",
            "ApplyType": "dynamic",
            "DataType": "string",
            "Description": "The server's default character set.",
            "IsModifiable": true,
            "ParameterName": "character_set_server",
            "ParameterValue": "utf8",
            "Source": "user"
        },
....

5. 대상 리전에 파라미터 그룹 생성 및 업데이트
이제 복사할 대상 리전에 dest-pg 라는 이름의 기본 값을 가진 파라미터 그룹을 생성하겠습니다.

$ aws rds create-db-parameter-group --db-parameter-group-family MySQL5.6 --db-parameter-group-name dest-pg --description "This is a destination parameter group" --region us-east-1

결과는 다음과 같이 파라미터 그룹명을 포함한 정보가 출력 됩니다.

{
    "DBParameterGroup": {
        "DBParameterGroupName": "dest-pg",
        "DBParameterGroupFamily": "mysql5.6",
        "Description": "This is a destination parameter group"
    }
}

여기서는 명시적으로 –-region 이라는 옵션을 통하여 파라미터 그룹이 생성될 리전(us-east-1, Virginia)을 지정하였습니다.

앞서 만든 대상 리전의 파라미터 그룹에 원본 파라미터 그룹 정보를 업데이트를 합니다. --cli-input-json 옵션을 사용하여 앞서 원본 파라미터 그룹 정보에ApplyMethod 를 추가한 json 파일을 지정합니다.

$ aws rds modify-db-parameter-group --region us-east-1 --db-parameter-group-name dest-pg --cli-input-json file://dest-pg.json

정상적으로 완료되면 파라미터 그룹명이 출력 됩니다.

{
    "DBParameterGroupName": "dest-pg"
}

원본 파라미터 그룹과 대상 파라미터 그룹이 동일한지 diff를 사용하여 확인할 수 있습니다.

$ diff -s <(aws rds describe-db-parameters --db-parameter-group-name src-pg --source user) <(aws rds describe-db-parameters --region us-east-1 --db-parameter-group-name dest-pg --source user)

동일하다면, 다음과 같은 결과가 출력되며 완료된 것을 확인할 수 있습니다.

$ Files /dev/fd/?? and /dev/fd/??? are identical

지금까지 AWS CLI를 사용하여 리전간 RDS 파라미터 그룹을 복사하는 방법에 대해서 알아 보았습니다. 이외에도 다양한 방법으로 가능하겠지만, 앞서 살펴본 바와 같이 CLI를 활용한다면 몇 가지 명령어를 사용해 어렵지 않게 수행 할 수 있을 뿐만 아니라 자동화 할 수 있음을 확인 할 수 있습니다.

AWS CLI는 지속적으로 업데이트 되고 있으며, 새롭게 추가되는 새로운 명령어들과 기능들을 업무에 적용함으로써 작업 능률 향상을 꾀할 수 있을 것입니다. 이러한 점이 AWS의 매력 중 하나가 아닐까 생각합니다.

본 글은 아마존웹서비스 코리아의 솔루션즈 아키텍트가 국내 고객을 위해 전해 드리는 AWS 활용 기술 팁을 보내드리는 코너로서, 이번 글은 김필중 솔루션즈 아키텍트께서 작성해주셨습니다.

Amazon RDS 신규 기능 – 계정간 스냅샷 공유하기

오늘부터 Amazon RDS 데이터베이스 스냅샷을 AWS 계정 간에 혹은 공개적으로 공유 할 수 있는 기능을 시작하게 되었습니다.

계정 간 스냅샷 공유
RDS 데모에서 스냅샷 백업을 만드는 것은 자주 보셨을 것입니다.

스냅샷을 쉽게 만들고 몇 번 클릭만으로도 새로운 DB에 깔끔하게 복원을 할 수 있는 장점이 있습니다.

오늘 부터 암호화되지 않는 MySQL, 오라클, SQL Server 및 PostgreSQL 스냅샷을 다른 계정 사용자에게도 공유할 수 있습니다. 여러분이 AWS 사용자라면 개발, 테스트 및 정식 배포에 사용하는 계정이 여러개일 수 있습니다. 이제 이들 계정 사이에 스냅샷을 공유할 수 있게 되었습니다. 만약 정식 배포 시스템에서 늦게 버그가 발생했더라도, 데이터베이스 스냅샷을 만들어 여러 개발자들에게 공유하여 테스트 환경에서 문제를 해결 할 수 있습니다.

RDS 콘솔 “Share Snapshots”에서 Private 옵션을 선택함으로써 20개의 AWS 계정에 데이터베이스 스냅샷을 공유 할 수 있습니다. Public 옵션을 선택함으로써 모든 AWS 사용자에게 공유 할 수 있습니다. 만약 연구 데이터셋을 공유하거나 공개할 때 유용한 방법입니다.

이제 어떻게 RDS 콘솔에서 다른 AWS 계정에게 스냅샷을 공유하는지 알아보겠습니다. (명령어 인터페이스나 RDS API로 활용도 가능합니다.)

계정에서 스냅샷 공유는 아래와 같은 방법으로 나타납니다.

이제 스냅샷을 외부에 완정히 공개해 보겠습니다.

스냅샷 공유는 리전간에도 가능합니다. (중국 베이징 리전 및 GovCloud는 제외).

Jeff;

이 글은 Amazon RDS Update – Cross-Account Snapshot Sharing의 한국어 번역입니다.

Amazon RDS – MariaDB 신규 서비스 공개

우리는 6년전인 2009년에 관계형 데이터베이스의 매니지드 서비스인 Amazon RDS를 처음 시작하였습니다. 먼저 MySQL을 맨 먼저 서비스하기 시작하여, MS SQL서버, 오라클 및 PostgreSQL 그리고 최근에는 Amazon Aurora 서비스를 시작했습니다. 모든 AWS 리전과 다양한 인스턴스 타입으로 서비스를 제공하고 있으며, 여러분의 각 지리적 기반 사용자에게 다양한 하드웨어 선택 사양에 따라 애플리케이션의 요구 사항을 맞출 수 있게 되었습니다.

Maria DB 서비스 개시
오늘부터 새롭게 MariaDB 데이터베이스 10.0.17 버전을 RDS로 제공합니다. 2009년 MySQL로 부터 분리되어 XtraDBAria의 두가지 스토리지 엔진을 지원하면서 빠르게 개발되어 온 인기 있는 오픈소스 DB엔진입니다. 이를 활용하고자 하는 고객들의 요구를 받아 병렬 리플리케이션(Pararell replication) 및 쓰레드 풀(Thread pool) 등의 멋진 기능도 포함합니다.

RDS의 다른 데이터베이스와 마찬가지로 관리 콘솔 및 리눅스 커맨드라인과 윈도우 파워셀 그리고 RDS API 및 CloudFormation 템플릿을 사용할 수 있습니다.

다음과 같은 커맨드라인 명령어로 바로 DB 서버를 띄울 수 있습니다.

$ rds-create-db-instance jeff-mariadb-1 \
  --engine mariadb \
  --db-instance-class db.r3.xlarge \
  --db-subnet-group-name dbsub \
  --allocated-storage 100 \
  --publicly-accessible false \
  --master-username root --master-user-password PASSWORD

하나씩 살펴 보면 다음과 같습니다.

  • 첫 번째 라인에서 rds-create-db-instance를 통해 이름(jeff-mariadb-1)을 설정합니다.
  • 두 번째 라인에서 MariaDB 엔진을 선택하고, 세 번째 라인에서 인스턴스 타입인 db.r3.xlarge를 선택합니다.
  • 네 번째 라인에서는 DB 인스턴스의 서브넷 그룹을 선택하는데, 이는 여러분의 VPC(Virtual Private Cloud)의 목록 중 맞는 것을 입력합니다.
  • 다섯 번째 라인에서는 100GB의 스토리지를 설정하고, 6번째 라인에서는 공개 IP 주소 접근 허용을 하지 않도록 설정합니다.
  • 마지막 라인에서는 DB의 마스터 유저의 아이디 및 암호를 입력합니다.

실행이 완료되면 아래와 같은 결과를 보실 수 있습니다.

DBINSTANCE  jeff-mariadb-1  db.r3.xlarge  mariadb  100  root  creating  1  ****  db-QAYNWOIDPPH6EYEN6RD7GTLJW4  n  10.0.17  general-public-license  n  standard  n
      VPCSECGROUP  sg-ca2071af  active
SUBNETGROUP  dbsub  DB Subnet for Testing  Complete  vpc-7fd2791a
      SUBNET  subnet-b8243890  us-east-1e  Active
      SUBNET  subnet-90af64e7  us-east-1b  Active
      SUBNET  subnet-b3af64c4  us-east-1b  Active
      PARAMGRP  default.mariadb10.0  in-sync
      OPTIONGROUP  default:mariadb-10-0  in-sync

RDS 커맨드 라인은 매우 훌륭한 도구로서 기술 문서를 통해 더 자세한 것을 확인할 수 있습니다. 예를 들어, rds-create-db-instance-read-replicas로 읽기 복제본을 만들 수 있고 rds-create-db-snapshot를 통해 몇 분 안에 백업본을 만들 수 있습니다.

물론 AWS 관리 콘솔 화면에서도 쉽게 인스턴스를 만들 수 있습니다.

지금 시작하기
MariaDB 실행 RDS 인스턴스는 오늘 부터 모든 리전에서 사용 가능하며 M3(표준), R3(메모리 최적화), T2(표준) 인스턴스를 지원합니다.

— Jeff;

이 글은 Amazon RDS Update – MariaDB is Now Available의 한국어 번역이며, re:Invent 2015의 신규 서비스 소식입니다.

Amazon RDS, 라이선스 포함 SQL 엔터프라이즈 버전 제공 시작!

이제 Amazon RDS에서 SQL Server Enterprise Edition을 라이선스를 포함해서 사용할 수 있습니다. 라이선스가 포함된 엔터프라이즈 에디션은 R3.2xlarge, R3.4xlarge 및 R3.8xlarge 인스턴스 타입에서 사용 가능하며 US-East (Virginia), US-West (Oregon), Europe (Ireland) 리전에서 먼저 시작합니다. 라이선스가 포함된 모델에서는 따로 Microsoft SQL Server 라이선스를 구매하실 필요가 없으며, Amazon RDS 비용에 라이선스 비용이 모두 포함되어 있습니다. 여러분이 사용하는 만큼의 업무에 맞게 인스턴스를 사용하고 시간 당 비용을 낼 수 있게 되었습니다.

새로운 라이센스 제공 방식은 기존의 BYOL(Bring Your Own License offering)에 추가적으로 제공해 드리는 것입니다. Amazon RDS for SQL Server Enterprise Edition 서비스는 다중 가용 영역(Multi-AZ)를 사용한 고가용성, 데이터베이스 스토리지를 4TB까지 증설 가능, 20,000 IOPS(input/output operations per second)의 스토리지 성능을 가지고 있습니다.

새로운 Amazon RDS for SQL Server Enterprise Edition 인스턴스는 관리 콘솔에서 몇 번의 클릭 만으로 구성할 수 있게 되었으며, 라이선스 선택에서 원하는 방식을 선택할 수 있습니다. 더 자세한 것은 Amazon RDS 요금 페이지를 참고하시기 바랍니다.

이 글은 Amazon RDS introduces a License Included offering for SQL Server Enterprise Edition 의 한국어 번역입니다.

Amazon Aurora 정식 출시

작년 AWS re:Invent에서 발표했던 Amazon Aurora를 오늘 정식 출시합니다. (참고: Amazon Aurora – New Cost-Effective MySQL-Compatible Database Engine for Amazon) Amazon Aurora는 고성능의 99.99% 가용성을 지원하며 64TB까지의 스토리지 확장성을 쉽고도 효율적으로 제공합니다. 이 서비스는 내부 및 가용 영역 내 스토리지 복제가 가능하고 쿼럼 쓰기(quorum writes) 기반의 업데이트 모델을 가지고 있습니다.

지난 9개월 동안 AWS 고객들께서 Amazon Aurora를 직접 테스트하셨으며, 다양한 테이블 설정, 접근 패턴 그리고 다양한 쿼리 등을 실행해 보았습니다. 이를 통해 얻어진 피드백을 통해 서비스에 대한 더 자세한 기능 개선을 지속하였습니다. 그 결과, 고객들은 Amazon Aurora 인스턴스가 초 당 10만 쓰기와 50만 읽기의 성능을 보이는 결과를 얻었습니다. 또한 이전에 같은 성능의 가격 보다 5배 정도 성능 대비 가격이 저렴하게 되었습니다.

Amazon Aurora 정식 출시
오늘부터 모든 고객이 AWS Aurora를 사용하실 수 있으며 현재 3개의 리전에서 서비스를 시작합니다. 테스트 기간 동안 몇 가지 중요한 기능을 추가하였는데, 우선 소개해 드릴 것이 바로 빠르고 쉽게 데이터를 이전하는 기능입니다. 원래 블로그 글에 소개된 핵심 기능 중 하나로서, 오늘은 여기에 집중해 보고자 합니다.

지연 없는 데이터 이전
만약 여러분이 Amazon RDS for MySQL를 사용하시고 Amazon Aurora로 이전하고자 하신다면, 지연 없이(zero-downtime) 바로 데이터 이전이 가능합니다. 여기에서 간단한 과정을 설명해 드리겠지만, 실제로 사용 중인 데이터를 이전할 때는 반드시 개발자 문서를 참고하셔서 진행하시기 바랍니다. 데이터 이전이 즉시 완료되고 나면, 여러분은 Amazon Aurora의 고성능 처리량(throughput), 높은 보안 및 저렴한 가격의 서비스를 경험하실 수 있습니다. 생각한 것 보다 훨씬 짧은 시간에 데이터베이스의 확장 및 관리 및 애플리케이션 코드와의 호환이 가능하다는 것을 아실 수 있습니다.

이미 데이터베이스가 사용 중이라면, 인스턴스 파라미터 그룹(MySQL Database Log Files 참고)의 바이너리 로깅을 시작하십시오. 특정 경우에서는 RDS 읽기 복제본(RDS Read Replica)를 설정할 필요가 있고, 데이터 이전 및 복제를 위한 것으로 사용할 수도 있습니다. (Replication with Amazon Aurora 참고).

RDS 관리 콘솔을 여신 후, 기존 데이터베이스 인스턴스를 선택하고 Instance Actions 메뉴에서 Migrate Database를 선택합니다.

내용을 입력하시고 Migrate 버튼을 클릭합니다. (대부분의 경우, DB Instance Class 내용 이상을 채울 필요는 없을 것입니다.)

Aurora가 새로운 DB 인스턴스를 만들고 데이터 이전을 시작합니다.

조금 시간이 걸린 후 (데이터베이스 크기에 따라 다르지만 커피 한잔 정도의 여유), Amazon Aurora 인스턴스가 실행됩니다.

Aurora를 설치하는 동안 원본 데이터베이스가 변경이 되었다고 가정하고, mysql.rds_set_external_master 명령을 통해 새로운 Aurora로 최신 데이터를 복제한 후, 애플리케이션에 Aurora 엔드 포인트로 변경합니다.

다양한 측정 기준(Metrics) 제공
각 Aurora 인스턴스는 Amazon CloudWatch를 통해 다양한 측정 기준에 따른 값들을 제공합니다. 이들 기준값을 콘솔에서도 보실 수 있으며 이를 통해 알람을 설정하고 이를 기반으로 다양한 기능 수행을 할 수 있습니다.




쉽고 빠른 복제(Replication) 기능
Amazon Aurora 인스턴스는 15개까지 리플리카(Replicas)를 구성할 수 있으며, 이는 추가로 읽기 성능을 높혀주게 됩니다. 몇 번의 클릭으로 리플리카를 바로 생성할 수 있습니다.

Amazon Aurora의 독특한 스토리지 구조를 통해 복제 지연 시간은 거의 없으며 10-20ms 정도를 보이게 됩니다.

5배 좋아진 가격 대비 성능
처음 Amazon Aurora를 발표했을 때, 기존 솔루션 보다 적어도 4배의 가격 대비 성능 향상이 있을 거라 발표했습니다. 이제 정식 출시를 맞아 이러한 기존 목표를 훨씬 뛰어 넘어 같은 성능의 하드웨어 구성에서 전통적 관계형 데이터베이스를 운용할 때 보다 5배의 가격 대비 성능을 보이게 되었다고 알려드리게 되어 매우 기쁘게 생각합니다.

다만, 일반적으로 이전 보다 개별 쿼리 속도가 5배가 늘었다는 것을 의미하는 것은 아닙니다. (물론 Amazon Aurora의 빠른 SSD 기반의 스토리지가 속도 개선이 있습니다.) 대신, 이는 Amazon Aurora가 다른 제품 보다 동시에 보다 많은 쿼리(읽기/쓰기)를 실행할 수 있다는 의미입니다. Amazon Aurora는 스토리지에서 병렬 접근을 통해 데이터 획득에 대한 비용을 줄이고 높은 효율성의 쿼리 실행이 가능하게 합니다.

파트너 지원
주요 AWS Partner Network (APN) 파트너는 Amazon Aurora를 직접 테스트 하면서 다양한 경험을 쌓았으며, 몇 가지 주요 기능에 대한 지원을 시작했습니다. 아래는 그 중 일부 솔루션입니다.

  • 비지니스 지능화(Business Intelligence) – Tableau, Zoomdata, and Looker.
  • 데이터 통합(Data Integration) – Talend and Attunity.
  • 질의 모니터링(Query and Monitoring) – Webyog, Toad,  and Navicat.
  • 시스템 통합 및 모니터링(SI and Consulting) – 8K Miles, 2nd Watch, and Nordcloud.

지금 시작해 보세요!
많은 고객과 파트너들이 Amazon Aurora를 테스트해보고, 실제 업무에 적용하고 있습니다. 현재 US East (Northern Virginia), US West (Oregon)Europe (Ireland) 리전에 지원을 시작했으며 앞으로도 계속 확대할 예정입니다.

요금 정책은 아래와 같습니다:

  • 데이터베이스 인스턴스 – 기본 인스턴스와 리플리카에 대해 시간당 과금이 되며, 2- 32 vCPUs 및 15.25 – 244 GiB 메모리 사이의 5가지 인스턴스 종류가 있습니다. 또한, 예약 인스턴스(Reserved Instances)를 통해 일상 DB 운영의 경우 저렴하게 이용하실 수 있습니다.
  • 스토리지 – 스토리지에 대해서는 월간 GB당 $0.10이 실제 데이터베이스에서 시간 당 측정해서 사용한 용량 만큼만 과금됩니다. 본 요금을 통해 여러분은 6개의 데이터 복사본을 가지게 되며, 각 3개의 가용영역 당 2개의 복사본을 의미합니다.
  • 입출력(I/O) – 데이터베이스가 만드는 각 1백만 입출력(I/O) 요청 당 $0.20를 과금합니다.

더 자세한 것은 Amazon Aurora 요금 정책을 참고하시기 바랍니다.

더 자세히 보기
Amazon Aurora 제품 페이지에 더 많은 정보를 제공하고 있으며, Amazon Aurora 문서를 참고하십시오. Aurora를 실전에 사용하기 위한 Amazon Aurora 온라인 세미나에 참여하시는 것도 권장해 드립니다.

Jeff;

이 글은 Now Available – Amazon Aurora의 한국어 번역입니다.

RDS 예약 인스턴스(RI) 가격 모델 단순화

AWS 가격 모델에서 예약 인스턴스(Reserved Instances)가 차지하는 비율은 상당합니다. 예약 인스턴스를 구매하시면, 미리 인스턴스 자원을 확보하고 상당한 금액의 할인을 받으실 수 있습니다.

예약 인스턴스(RI)의 혜택을 받기위해 코드 변경이나 관리상의 변화는 없으며 비용 최소화를 위해 자동으로 인스턴스 비용을 RI 가격으로 계산됩니다.

새로운 결제 옵션
Amazon Relational Database Service (RDS) 예약 인스턴스 사용자를 위한 비용 모델을 단순화하였습니다. 신규 모델은 결제 기반이며 세 가지 옵션에 싱글 예약 인스턴스를 지원합니다.

  • No Upfront (선불 없음) – 사전 요금은 없습니다. 다만, RI의 기간 동안 지불 계약을 하며 할인율은 온 디멘드에 비해 30%가량 싸집니다. 이 옵션의 기간은 1년간 뿐입니다.
  • Partial Upfront (일부 선불) – 이용액의 일부 혹은 시간 단위로 사전에 지불하고 3년 또는 1년 RI의 기간 동안 매월 지불하는 옵션으로, 상당한 요금 할인을 받을 수 있습니다. (3년의 경우, 최대 60% 할인)
  • All Upfront(모두 선불) – 3년 또는 1년 RI의 기간 이용 금액을 모두 일괄로 사전에 지불합니다. 가장 저렴합니다.(3년의 경우, 63%).

지금 구매 가능
본 구매 옵션은 모든 RDS 서비스에 해당합니다. (MySQL, PostgreSQL, OracleSQL Server) 또한, US East (Northern Virginia), US West (Oregon), US West (Northern California), Europe (Ireland), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney)South America (Brazil) 리전에서 구매 가능합니다. SQL Server License는 포함되지 않습니다.

본 가격 변동은 2015년 8월 15일 이후 라이트 혹은 미디엄 유틸리제이션 예약 인스턴스는 구매할 수 없습니다.

더 자세한 정보
현재 가격 인하 옵션에 대해한 자세한 정보는 RDS 가격 페이지를 참고하세요.

Jeff;

본 글은 New – Simplified Reserved Instance Options for Amazon RDS의 한국어 번역입니다.