Amazon RDS에 대한 설정 - Amazon Relational Database Service

Amazon RDS에 대한 설정

Amazon RDS(Amazon Relational Database Service)를 처음으로 설정하려면 이 단원의 작업을 완료합니다. 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://portal.aws.amazon.com/billing/signup을 엽니다.

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

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

IAM 사용자 생성

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

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

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

관리자 사용자를 직접 생성하여 관리자 그룹에 추가하려면(콘솔)

  1. [루트 사용자]를 선택하고 AWS 계정 이메일 주소를 입력하여 계정 소유자로 IAM 콘솔에 로그인합니다. 다음 페이지에서 암호를 입력합니다.

    참고

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

  2. 탐색 창에서 사용자사용자 추가를 차례로 선택합니다.

  3. 사용자 이름Administrator를 입력합니다.

  4. AWS Management 콘솔 액세스 옆의 확인란을 선택합니다. 그런 다음 Custom password(사용자 지정 암호)를 선택하고 텍스트 상자에 새 암호를 입력합니다.

  5. (선택 사항) 기본적으로 AWS에서는 새 사용자가 처음 로그인할 때 새 암호를 생성해야 합니다. User must create a new password at next sign-in(사용자가 다음에 로그인할 때 새 암호를 생성해야 합니다) 옆에 있는 확인란의 선택을 취소하면 새 사용자가 로그인한 후 암호를 재설정할 수 있습니다.

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

  7. 권한 설정 아래에서 그룹에 사용자 추가를 선택합니다.

  8. 그룹 생성을 선택합니다.

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

  10. Filter policies(정책 필터링)을 선택한 다음 AWS managed -job function(AWS 관리형 -job 함수)을 선택하여 테이블 내용을 필터링합니다.

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

    참고

    AdministratorAccess 권한을 사용하여 AWS Billing and Cost Management 콘솔에 액세스하려면 먼저 결제에 대한 IAM 사용자 및 역할 액세스를 활성화해야 합니다. 이를 위해 결제 콘솔에 액세스를 위임하기 위한 자습서 1단계의 지침을 따르십시오.

  12. 그룹 목록으로 돌아가 새 그룹의 확인란을 선택합니다. 목록에서 그룹을 확인하기 위해 필요한 경우 Refresh(새로 고침)를 선택합니다.

  13. Next: Tags(다음: 태그)를 선택합니다.

  14. (선택 사항) 태그를 키-값 페어로 연결하여 메타데이터를 사용자에게 추가합니다. IAM에서 태그 사용에 대한 자세한 내용은 IAM 사용 설명서IAM 개체 태그 지정 단원을 참조하십시오.

  15. 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 CLI 설치 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가 있는 경우 DB 인스턴스를 지원하도록 해당 VPC를 구성할 수 있습니다. 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 정책이 있어야 합니다. 자세한 내용은 Amazon RDS의 자격 증명 및 액세스 관리 섹션을 참조하세요.

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

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

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

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

    • 범용(SSD)

    • 프로비저닝된 IOPS(PIOPS)

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

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

  2. AWS Management 콘솔의 오른쪽 상단에서 VPC 보안 그룹 및 DB 인스턴스를 만들 AWS 리전을 선택합니다. 해당 AWS 리전의 Amazon VPC 리소스 목록에 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 값)를 입력하거나 보안 그룹 이름을 선택합니다. 내 IP를 선택하면 브라우저에서 감지된 IP 주소에서 DB 인스턴스에 액세스할 수 있습니다.

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

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

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

참고

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

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

참고

DB 인스턴스를 생성한 후 연결할 수 없는 경우 Amazon RDS DB 인스턴스에 연결할 수 없음의 문제 해결 정보를 참조하십시오.