Amazon Relational Database Service
사용 설명서 (API 버전 2014-10-31)

Amazon RDS 설정

아래에는 처음으로 Amazon Relational Database Service(Amazon RDS)를 설정하는 방법에 대한 자세한 정보가 나와 있습니다. AWS 계정이 이미 있고 Amazon RDS 요구 사항을 알고 있으며 IAM 및 VPC 보안 그룹에 모두 기본값을 사용하려는 경우에는 시작하기 단원으로 건너뛰십시오.

Amazon Web Services(AWS)에 대해 알아야 할 사항:

  • AWS에 가입하면 AWS 계정은 Amazon RDS를 포함한 AWS의 모든 서비스에 자동으로 액세스합니다. 하지만 사용한 서비스에 대해서만 청구됩니다.

  • Amazon RDS에서는 활성인 RDS 인스턴스에 대해서만 비용을 지불합니다. 생성한 DB 인스턴스는 실시간으로 활성화됩니다(샌드박스에서 실행되지 않음). 종료하기 전까지 해당 인스턴스에 대해 표준 사용 요금이 발생합니다. Amazon RDS 사용 요금에 대한 자세한 정보는 Amazon RDS 제품 페이지를 참조하십시오.

AWS에 가입

이미 AWS 계정이 이미 있는 경우 다음 IAM 사용자 생성 단원으로 건너뛰십시오.

AWS 계정이 없는 경우에는 아래 절차를 사용하여 계정을 만들 수 있습니다. AWS를 처음 사용하는 고객인 경우에는 Amazon RDS를 무료로 사용해볼 수 있습니다. 자세한 정보는 AWS 프리 티어 단원을 참조하십시오.

새 AWS 계정을 만들려면

  1. https://aws.amazon.com/을 열고 Create an AWS Account(AWS 계정 생성)를 선택합니다.

    참고

    전에 AWS 계정 루트 사용자 자격 증명을 사용하여 AWS Management 콘솔 에 로그인한 적이 있는 경우 Sign in to a different account(다른 계정으로 로그인)를 선택합니다. 전에 IAM 자격 증명을 사용하여 콘솔에 로그인한 적이 있는 경우 Sign-in using root account credentials(루트 계정 자격 증명으로 로그인)를 선택합니다. 그런 다음 Create a new AWS account(새 AWS 계정 생성)를 선택합니다.

  2. 온라인 지시 사항을 따릅니다.

    등록 절차 중 전화를 받고 전화 키패드를 사용하여 확인 코드를 입력하는 과정이 있습니다.

IAM 사용자 생성

AWS 계정을 생성하고 AWS Management 콘솔에 연결한 후에는 AWS Identity and Access Management(IAM) 사용자를 생성할 수 있습니다. AWS 루트 계정을 사용하여 로그인하는 대신에, Amazon RDS에서 IAM 관리 사용자를 사용하는 것이 좋습니다.

이렇게 하는 한 가지 방법은 새 IAM 사용자를 생성하고 이 사용자에게 관리자 권한을 부여하는 것입니다. 또는 Amazon RDS 관리 권한을 사용하여 IAM 그룹에 기존 IAM 사용자를 추가할 수 있습니다. 그러면 사용자의 자격 증명을 사용하여 특수 URL에서 AWS에 액세스할 수 있습니다.

AWS에 가입했지만 IAM 사용자를 생성하지 않았다면 IAM 콘솔에서 생성할 수 있습니다.

IAM 사용자를 직접 생성하여 관리자 그룹에 추가하려면

  1. https://console.aws.amazon.com/iam/에서 AWS 계정 루트 사용자 이메일 주소 및 암호를 사용하여 IAM 콘솔에 AWS 계정 루트 사용자 로그인합니다.

    참고

    Administrator IAM 사용자를 사용하는 아래 모범 사례를 준수하고, 루트 사용자 자격 증명을 안전하게 보관해 두는 것이 좋습니다. 몇 가지 계정 및 서비스 관리 작업을 수행하려면 반드시 루트 사용자로 로그인해야 합니다.

  2. 콘솔의 탐색 창에서 사용자를 선택한 후 사용자 추가를 선택합니다.

  3. [User name]에 Administrator를 입력합니다.

  4. AWS Management 콘솔 액세스 옆의 확인란을 선택하고 Custom password(사용자 지정 암호)를 선택한 다음 텍스트 상자에 새로운 사용자의 암호를 입력합니다. 필요하다면 [Require password reset]을 선택하여 다음에 사용자가 로그인할 때 새 암호를 생성하도록 설정할 수 있습니다.

  5. Next: Permissions(다음: 권한)를 선택합니다.

  6. 권한 설정 페이지에서 그룹에 사용자 추가(Add user to group)를 선택합니다.

  7. Create group을 선택합니다.

  8. 그룹 생성 대화 상자의 그룹 이름Administrators를 입력합니다.

  9. 필터 정책에서 AWS managed - job function(AWS 관리 - 직무)의 확인란을 선택합니다.

  10. 정책 목록에서 AdministratorAccess 옆의 확인란을 선택합니다. 그런 다음 Create group을 선택합니다.

  11. 그룹 목록으로 돌아가 새로 만든 그룹 옆의 확인란을 선택합니다. 목록에서 그룹을 확인하기 위해 필요한 경우 Refresh를 선택합니다.

  12. 다음: 태그를 선택하고 키-값 페어로 태그를 첨부하여 사용자에게 메타데이터를 추가합니다.

  13. Next: Review를 선택하여 새 사용자에 추가될 그룹 멤버십의 목록을 확인합니다. 계속 진행할 준비가 되었으면 Create user를 선택합니다.

이제 동일한 절차에 따라 그룹이나 사용자를 추가 생성하여 AWS 계정 리소스에 액세스할 수 있는 권한을 사용자에게 부여할 수 있게 되었습니다. 특정 AWS 리소스에 대한 사용자의 권한을 제한하는 정책을 사용하는 방법을 알아보려면 액세스 관리정책 예제를 참조하십시오.

이 새로운 IAM 사용자로 로그인하려면 먼저 AWS Management 콘솔에서 로그아웃합니다. 그런 다음 아래 URL을 사용합니다. 여기서 your_aws_account_id는 하이픈이 없는 AWS 계정 번호입니다. 예를 들어 사용자의 AWS 계정 번호가 1234-5678-9012인 경우 AWS 계정 ID는 123456789012입니다.

https://your_aws_account_id.signin.aws.amazon.com/console/

방금 생성한 IAM 사용자 이름과 암호를 입력합니다. 로그인하면 탐색 모음에 "your_user_name @ your_aws_account_id"가 표시됩니다.

로그인 페이지의 URL에 AWS 계정 ID가 포함되지 않게 하려면 계정 별칭을 생성할 수 있습니다. IAM 대시보드에서 사용자 지정을 선택하고 회사 이름 등의 별칭을 입력합니다. 계정 별칭 생성 후 로그인할 때는 다음 URL을 사용합니다.

https://your_account_alias.signin.aws.amazon.com/console/

본인 계정의 IAM 사용자 로그인 링크를 확인하려면 IAM 콘솔을 열고 대시보드의 [AWS Account Alias] 아래를 체크합니다.

또한 AWS 계정에 대한 액세스 키를 생성할 수 있습니다. 이러한 액세스 키를 사용하여 AWS Command Line Interface(AWS CLI) 또는 Amazon RDS API를 통해 AWS에 액세스할 수 있습니다. 자세한 정보는 AWS 계정에 대한 액세스 키 관리, AWS 명령줄 인터페이스 설치 Amazon RDS API 참조 단원을 참조하십시오.

요구 사항 결정

Amazon RDS의 기본 빌딩 블록은 DB 인스턴스입니다. DB 인스턴스에서는 데이터베이스를 생성합니다. DB 인스턴스는 엔드포인트라고 하는 네트워크 주소를 할당합니다. 애플리케이션은 이 엔드포인트를 사용하여 DB 인스턴스에 연결합니다. DB 인스턴스를 생성할 때 스토리지, 메모리, 데이터베이스 엔진 및 버전, 네트워크 구성, 보안, 유지 관리 기간 등의 세부 정보를 지정합니다. 보안 그룹을 통해 DB 인스턴스에 대한 네트워크 액세스를 제어할 수 있습니다.

DB 인스턴스와 보안 그룹을 생성하기 전에 DB 인스턴스 및 네트워크 필요를 알아야 합니다. 고려해야 할 몇 가지 중요 사항은 다음과 같습니다.

  • 리소스 요구 사항 – 애플리케이션 또는 서비스의 메모리 및 프로세서 요구 사항은 무엇입니까? 이러한 설정을 사용하면 어떤 DB 인스턴스 클래스를 사용할지를 결정하는 데 도움이 됩니다. DB 인스턴스 클래스에 대한 사양은 DB 인스턴스 클래스 단원을 참조하십시오.

  • VPC, 서브넷 및 보안 그룹 – DB 인스턴스는 대부분의 경우 가상 사설 클라우드(VPC) 안에 있습니다. DB 인스턴스에 연결하려면 보안 그룹 규칙을 설정해야 합니다. 이러한 규칙은 사용하는 VPC 종류와 사용 방식(기본 VPC, 사용자 정의 VPC 또는 VPC 외부)에 따라 다르게 설정됩니다.

    참고

    일부 레거시 계정은 VPC를 사용하지 않습니다. 새 AWS 리전에 액세스하고 있거나 새 RDS 사용자인 경우(2013년 이후) 대부분 VPC 내부에서 DB 인스턴스를 생성합니다.

    계정이 특정 AWS 리전에서 기본 VPC를 가지고 있는지 확인하는 방법은 EC2-VPC 또는 EC2-Classic 플랫폼을 사용 중인지 확인 단원을 참조하십시오.

    다음은 각 VPC 옵션의 규칙을 설명한 목록입니다.

    • 기본 VPC – 현재 리전에서 AWS 계정에 현재 AWS 리전의 기본 VPC가 있는 경우 해당 VPC를 구성하여 DB 인스턴스를 지원할 수 있습니다. DB 인스턴스 생성 시 기본 VPC를 지정할 경우 다음을 수행합니다.

      • VPC 보안 그룹을 생성하여 데이터베이스를 이용해 애플리케이션 또는 서비스에서 Amazon RDS DB 인스턴스까지 연결 권한을 부여합니다. Amazon EC2 API를 사용하거나, 혹은 VPC 콘솔에서 보안 그룹 옵션을 선택하여 VPC 보안 그룹을 생성합니다. 자세한 정보는 4단계: VPC 보안 그룹 만들기 단원을 참조하십시오.

      • 기본 DB 서브넷 그룹을 지정합니다. 이 AWS 리전에서 처음 DB 인스턴스를 생성하는 경우에는 Amazon RDS가 DB 인스턴스 생성과 함께 기본 DB 서브넷 그룹을 생성합니다.

    • 사용자 정의 VPC – DB 인스턴스 생성 시 사용자 정의 VPC를 지정할 경우 다음 사항에 유의해야 합니다.

      • VPC 보안 그룹을 생성하여 데이터베이스를 이용해 애플리케이션 또는 서비스에서 Amazon RDS DB 인스턴스까지 연결 권한을 부여해야 합니다. Amazon EC2 API를 사용하거나, 혹은 VPC 콘솔에서 보안 그룹 옵션을 선택하여 VPC 보안 그룹을 생성합니다. 자세한 정보는 4단계: VPC 보안 그룹 만들기 단원을 참조하십시오.

      • VPC가 DB 인스턴스를 호스팅하려면 별도의 가용 영역에서 각각 최소 2개 이상씩 서브넷을 구성하는 등 특정 요구 사항을 충족해야 합니다. 자세한 정보는 Amazon Virtual Private Cloud(VPC) 및 Amazon RDS 단원을 참조하십시오.

      • DB 서브넷 그룹을 지정하여 DB 인스턴스에서 VPC를 사용할 서브넷을 정의해야 합니다. 자세한 정보는 VPC에서 DB 인스턴스를 사용한 작업에서 DB 서브넷 그룹을 참조하십시오.

    • VPC 없음–  AWS 계정에 기본 VPC가 없고 사용자 정의 VPC를 지정하지 않는 경우 DB 보안 그룹을 생성합니다. DB 보안 그룹은 애플리케이션 또는 유틸리티를 실행하는 디바이스와 Amazon RDS 인스턴스에서 연결하여 DB 인스턴스의 데이터베이스에 액세스할 수 있는 권한을 부여합니다. 자세한 정보는 DB 보안 그룹 작업(EC2-Classic 플랫폼) 단원을 참조하십시오.

  • 높은 가용성: 장애 조치 지원이 필요합니까 에서 다중 AZ 배포는 기본 DB 인스턴스를 생성하고 장애 조치 지원을 위해 다른 가용 영역에 보조 예비 DB 인스턴스를 생성합니다. 고가용성을 유지하기 위해 프로덕션 워크로드에는 다중 AZ 배포를 권장합니다. 개발 및 테스트 목적으로는 비 다중 AZ 배포를 사용할 수 있습니다. 자세한 정보는 Amazon RDS를 위한 고가용성(다중 AZ) 단원을 참조하십시오.

  • IAM 정책: AWS 계정에 Amazon RDS 작업을 수행하는 데 필요한 권한을 부여하는 정책이 있습니까? IAM 자격 증명을 사용하여 AWS에 연결하는 경우 IAM 계정에는 Amazon RDS 작업을 수행하는 데 필요한 권한을 부여하는 IAM 정책이 있어야 합니다. 자세한 정보는 인증 및 액세스 제어 단원을 참조하십시오.

  • 개방 포트: 데이터베이스가 어떤 TCP/IP 포트에서 수신 대기합니까? 일부 기업에서는 방화벽이 데이터베이스 엔진의 기본 포트 연결을 차단하는 경우도 있습니다. 이처럼 기업 방화벽이 기본 포트를 차단할 경우 새로운 DB 인스턴스를 생성할 때 다른 포트를 선택해야 합니다. 단, 지정 포트에서 수신 대기할 DB 인스턴스를 생성하는 경우 해당 DB 인스턴스를 수정하여 포트를 변경할 수 있습니다.

  • AWS 리전: 데이터베이스를 구성하려고 하는 AWS 리전은 어디입니까? 애플리케이션이나 웹 서비스에 가깝게 데이터베이스를 구성하면 네트워크 지연 시간을 줄일 수 있습니다.

  • DB 디스크 하위 시스템: 스토리지 요구 사항은 무엇입니까? Amazon RDS​는 다음 세 가지 스토리지 유형을 제공합니다.

    • 마그네틱(표준 스토리지)

    • 범용(SSD)

    • 프로비저닝된 IOPS(PIOPS)

    마그네틱 스토리지는 I/O 요구 사항이 보통 수준이거나 가끔씩 집중적으로 발생하는 애플리케이션에 적합한 비용 효율적인 스토리지입니다. gp2라고도 불리는 범용 SSD 기반 스토리지는 디스크 기반 스토리지보다 액세스 속도가 더욱 빠릅니다. 프로비저닝된 IOPS 스토리지는 성능에 민감하고 임의 액세스 I/O 처리량이 일정한 I/O 집약적 워크로드, 특히 데이터베이스 워크로드 요구 사항을 충족하도록 설계되었습니다. Amazon RDS 스토리지에 대한 자세한 정보는 DB 인스턴스 스토리지 단원을 참조하십시오.

보안 그룹과 DB 인스턴스 생성에 필요한 정보를 확인하였으면 다음 단계로 진행합니다.

보안 그룹을 생성하여 VPC 내부의 DB 인스턴스에 대한 액세스를 제공

VPC 보안 그룹은 VPC에서 실행되는 DB 인스턴스에 대한 액세스를 제공합니다. 이들은 연결된 DB 인스턴스에 대한 방화벽 역할을 하여 인스턴스 수준에서 인바운드 트래픽과 아웃바운드 트래픽을 모두 제어합니다. 기본적으로 DB 인스턴스는 DB 인스턴스를 보호하는 방화벽 및 기본 보안 그룹과 함께 생성됩니다.

DB 인스턴스에 연결하려면 먼저 연결하는 데 사용할 수 있는 규칙을 보안 그룹에 추가해야 합니다. 네트워크 및 구성 정보를 사용하여 DB 인스턴스에 액세스하는 데 사용할 수 있는 규칙을 생성합니다.

참고

레거시 DB 인스턴스가 2013년 3월 이전에 생성되었고 VPC 안에 있지 않은 경우 연결된 보안 그룹이 없을 수 있습니다. DB 인스턴스가 이 날짜 이후에 생성된 경우 기본 VPC 내부에 있을 수 있습니다.

예를 들어 VPC의 DB 인스턴스에서 데이터베이스에 액세스하는 애플리케이션이 있다고 가정해 보겠습니다. 이 경우, 애플리케이션이 데이터베이스에 액세스하는 데 사용할 포트 범위와 IP 주소를 지정하는 사용자 지정 TCP 규칙을 추가해야 합니다. Amazon EC2 인스턴스에서 실행하는 애플리케이션이 있다면 Amazon EC2 인스턴스에 대해 설정한 VPC 또는 EC2 보안 그룹을 사용할 수 있습니다.

VPC 보안 그룹의 생성 방법

  1. AWS Management 콘솔에 로그인한 다음 https://console.aws.amazon.com/vpc에서 Amazon VPC 콘솔을 엽니다.

  2. AWS Management 콘솔의 오른쪽 위 모서리에서 VPC 보안 그룹 및 DB 인스턴스를 만들 AWS 리전을 선택합니다. 해당 AWS 리전의 리소스 목록에 1개 이상의 VPC와 몇 개의 서브넷이 표시되어야 합니다. 그렇지 않으면 해당 AWS 리전에 기본 VPC가 없는 것입니다.

  3. 탐색 창에서 [Security Groups]를 선택합니다.

  4. [Create Security Group]을 선택합니다.

  5. [Create Security Group] 창에서 보안 그룹에 대한 [Name tag], [Group name] 및 [Description] 값을 입력합니다. [VPC]에서 DB 인스턴스를 생성할 VPC를 선택합니다. [Yes, Create]를 선택합니다.

  6. 생성한 VPC 보안 그룹이라고 해도 여전히 선택할 수 있어야 합니다. 그렇지 않으면 목록에서 찾아서 선택합니다. 콘솔 화면 하단 세부 정보 창에 보안 그룹 세부 정보를 비롯해 인바운드 및 아웃바운드 규칙 작업에 대한 탭이 표시됩니다. 인바운드 규칙 탭을 선택합니다.

  7. Inbound Rules 탭에서 [Edit]를 선택합니다.

    1. [Type]의 경우 [Custom TCP Rule]을 선택합니다.

    2. [Port Range]에는 DB 인스턴스에 사용할 포트 값을 입력합니다.

    3. [Source]에서 인스턴스에 액세스할 IP 주소 범위(CIDR 값)를 입력하거나 보안 그룹 이름을 선택합니다.

  8. IP 주소를 추가하거나 다른 포트 범위를 입력해야 한다면 [Add another rule]을 클릭합니다.

  9. (선택 사항) [Outbound Rules] 탭을 사용하여 아웃바운드 트래픽 규칙을 추가합니다. 기본적으로 모든 아웃바운드 트래픽이 허용됩니다.

방금 생성한 VPC 보안 그룹을 DB 인스턴스 생성 시 보안 그룹으로 사용할 수 있습니다. DB 인스턴스를 VPC 내부에 배포하지 않는 경우에는 DB 보안 그룹 작업(EC2-Classic 플랫폼)를 참조하여 DB 인스턴스를 생성하면서 사용할 DB 보안 그룹까지 생성합니다.

참고

기본 VPC를 사용하는 경우 VPC의 모든 서브넷을 포괄하는 기본 서브넷 그룹이 자동으로 생성됩니다. DB 인스턴스를 생성할 때 기본 VPC를 선택하고 DB 서브넷 그룹기본값을 사용할 수 있습니다.

설정 요구 사항을 완료한 후에는 요구 사항과 보안 그룹을 사용하여 DB 인스턴스를 시작할 수 있습니다. DB 인스턴스를 만드는 방법에 대한 자세한 정보는 다음 표의 관련 문서를 참조하십시오.