옵션 3: 보안 그룹을 생성하여 수동으로 RDS 데이터베이스에 인스턴스 연결 - Amazon Elastic Compute Cloud

옵션 3: 보안 그룹을 생성하여 수동으로 RDS 데이터베이스에 인스턴스 연결

옵션 3의 목표는 자동 연결 기능의 구성을 수동으로 재현하여 EC2 인스턴스와 RDS 데이터베이스 간의 연결을 수동으로 구성하는 방법을 알아보는 데 있습니다.

시작하기 전 준비 사항

이 자습서를 완료하려면 다음이 필요합니다.

  • RDS 데이터베이스와 동일한 VPC에 있는 EC2 인스턴스입니다. 기존 EC2 인스턴스를 사용하거나 작업 1의 단계에 따라 새 인스턴스를 생성할 수 있습니다.

  • EC2 인스턴스와 동일한 VPC에 있는 RDS 데이터베이스 - 기존 RDS 데이터베이스를 사용하거나 작업 2의 단계에 따라 새 데이터베이스를 생성할 수 있습니다.

  • 다음 작업을 호출할 수 있는 권한:

    • ec2:AssociateRouteTable

    • ec2:AuthorizeSecurityGroupEgress

    • ec2:CreateRouteTable

    • ec2:CreateSecurityGroup

    • ec2:CreateSubnet

    • ec2:DescribeInstances

    • ec2:DescribeNetworkInterfaces

    • ec2:DescribeRouteTables

    • ec2:DescribeSecurityGroups

    • ec2:DescribeSubnets

    • ec2:ModifyNetworkInterfaceAttribute

    • ec2:RevokeSecurityGroupEgress

작업 1(선택 사항): EC2 인스턴스 시작

참고

인스턴스 시작은 이 자습서에서 중점적으로 다루는 사항이 아닙니다. Amazon EC2 인스턴스가 이미 있고 이 자습서에서 해당 인스턴스를 사용하려는 경우 이 작업을 건너뛸 수 있습니다.

이 작업의 목표는 EC2 인스턴스와 Amazon RDS 데이터베이스 간의 연결을 구성하는 작업 3을 완료할 수 있도록 EC2 인스턴스를 시작하는 데 있습니다. 이 작업의 단계에서는 다음과 같이 EC2 인스턴스를 구성합니다.

  • 인스턴스 이름: tutorial-instance

  • AMI: Amazon Linux 2

  • 인스턴스 유형: t2.micro

  • 퍼블릭 IP 자동 할당: 활성화됨

  • 다음과 같은 세 가지 규칙이 있는 보안 그룹:

    • IP 주소에서 SSH 허용

    • 어디에서 들어오든 HTTPS 트래픽 허용

    • 어디에서 들어오든 HTTP 트래픽 허용

중요

프로덕션 환경에서는 특정 요구를 충족하도록 인스턴스를 구성해야 합니다.

EC2 인스턴스 시작
  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. EC2 Dashboard(EC2 대시보드)에서 Launch instance(인스턴스 시작)를 선택하세요.

  3. Name and tags(이름 및 태그)에서 Name(이름)에 인스턴스를 식별하는 이름을 입력합니다. 이 자습서에서는 인스턴스 이름을 tutorial-instance-manual-1로 지정합니다. 인스턴스 이름을 반드시 입력해야 하는 것은 아니지만, 해당 이름을 통해 인스턴스를 쉽게 식별할 수 있습니다.

  4. Application and OS Images(애플리케이션 및 OS 이미지)에서 웹 서버 요구에 맞는 AMI를 선택합니다. 이 자습서에서는 Amazon Linux를 사용합니다.

  5. Instance type(인스턴스 유형)에서 Instance type(인스턴스 유형)으로 웹 서버 요구에 맞는 인스턴스 유형을 선택합니다. 이 자습서에서는 t2.micro를 사용합니다.

    참고

    AWS 계정을 생성한 지 12개월 미만이고 t2.micro 인스턴스 유형 또는 t2.micro를 사용할 수 없는 리전에서는 t3.micro를 선택한 경우 프리 티어로 Amazon EC2를 사용할 수 있습니다. t3.micro 인스턴스를 시작하면 기본적으로 무제한 모드로 설정되므로 CPU 사용량에 따라 추가 요금이 부과될 수 있다는 점에 유의하세요.

  6. Key pair (login)(키 페어(로그인))에서 Key pair name(키 페어 이름)에 대해 키 페어를 선택합니다.

  7. Network settings(네트워크 설정)에서 다음을 수행합니다.

    1. 기본 VPC 또는 서브넷을 변경하지 않은 경우 Network(네트워크) 및 Subnet(서브넷)의 기본 설정을 유지할 수 있습니다.

      기본 VPC 또는 서브넷을 변경한 경우 다음을 확인합니다.

      1. 인스턴스는 RDS 데이터베이스와 동일한 VPC에 있어야 합니다. 기본적으로 VPC는 ​​하나만 있습니다.

      2. 인스턴스를 시작하는 VPC에는 인터넷 게이트웨이가 연결되어 있어야 합니다. 그래야 인터넷에서 웹 서버에 액세스할 수 있습니다. 기본 VPC는 ​​인터넷 게이트웨이를 통해 자동으로 설정됩니다.

      3. 인스턴스가 퍼블릭 IP 주소를 수신하도록 하려면 Auto-assign public IP(퍼블릭 IP 자동 할당)에 대해 Enable(활성화)이 선택되어 있는지 확인합니다. Disable(비활성화)이 선택된 경우 Edit(편집)(Network Settings(네트워크 설정) 오른쪽에 있음)를 선택한 다음, Auto-assign public IP(퍼블릭 IP 자동 할당)에서 Enable(활성화)을 선택합니다.

    2. SSH를 사용하여 인스턴스에 연결하려면 컴퓨터의 퍼블릭 IPv4 주소로부터의 SSH(Linux) 또는 RDP(Windows) 트래픽을 승인하는 보안 그룹 규칙이 필요합니다. 기본적으로 인스턴스를 시작하면 어디에서 들어오든 인바운드 SSH 트래픽을 허용하는 규칙을 사용하여 새 보안 그룹이 생성됩니다.

      자체 IP 주소만 인스턴스에 연결할 수 있도록 하려면 Firewall (security groups)(방화벽(보안 그룹)) 아래의 Allow SSH traffic from(SSH 트래픽 허용) 확인란 옆에 있는 드롭다운 목록에서 My IP(내 IP)를 선택합니다.

    3. 인터넷에서 인스턴스로의 트래픽을 허용하려면 다음 확인란을 선택합니다.

      • Allow HTTPs traffic from the internet(인터넷에서 오는 HTTPS 트래픽 허용)

      • Allow HTTP traffic from the internet(인터넷에서 오는 HTTP 트래픽 허용)

  8. Summary(요약) 패널에서 인스턴스 구성을 검토한 다음, Launch instance(인스턴스 시작)를 선택합니다.

  9. 모든 인스턴스 보기(View all instances)를 선택하여 확인 페이지를 닫고 콘솔로 돌아갑니다. 인스턴스는 먼저 pending 상태에 있다가 running 상태가 됩니다.

    인스턴스가 시작하지 않거나 상태가 terminated이 아닌 running로 변경되는 경우, Amazon EC2 인스턴스 시작 문제 해결 섹션을 참조하세요.

인스턴스 시작에 관한 자세한 내용은 콘솔에서 인스턴스 시작 마법사를 사용하여 EC2 인스턴스 시작 섹션을 참조하세요.

이 애니메이션은 EC2 인스턴스를 시작하는 방법을 보여 줍니다. 이 애니메이션의 텍스트 버전은 이전 절차의 단계를 참조하세요.

작업 2(선택 사항): RDS 데이터베이스 생성

참고

RDS 데이터베이스 생성은 자습서의 이 부분에서 중점적으로 다루는 사항이 아닙니다. RDS 데이터베이스가 이미 있고 이 자습서에서 해당 데이터베이스를 사용하려는 경우 이 작업을 건너뛸 수 있습니다.

이 작업의 목표는 RDS 데이터베이스를 생성하는 데 있습니다. 작업 3에서 EC2 인스턴스에 연결할 때 이 인스턴스를 사용합니다. 이 작업의 단계에서는 다음과 같이 RDS 데이터베이스를 구성합니다.

  • 엔진 유형: MySQL

  • 템플릿: 프리 티어

  • DB 인스턴스 식별자: tutorial-database-manual

  • DB 인스턴스 클래스: db.t3.micro

중요

프로덕션 환경에서는 특정 요구를 충족하도록 인스턴스를 구성해야 합니다.

MySQL DB 인스턴스를 만들려면
  1. https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 리전 선택기(오른쪽 상단)에서 EC2 인스턴스를 생성한 AWS 리전을 선택합니다. EC2 인스턴스와 DB 인스턴스가 동일한 리전에 있어야 합니다.

  3. 대시보드에서 Create database(데이터베이스 생성)를 선택합니다.

  4. Choose a database creation method(데이터베이스 생성 방법 선택)에서 Easy create(손쉬운 생성)를 선택합니다. 이 옵션을 선택하면 연결을 자동으로 구성하는 자동 연결 기능을 사용할 수 없습니다.

  5. Engine options(엔진 옵션)에서 Engine type(엔진 유형)으로 MySQL을 선택합니다.

  6. DB instance size(DB 인스턴스 크기)에서 프리 티어를 선택합니다.

  7. DB instance identifier(DB 인스턴스 식별자)에 RDS 데이터베이스 이름을 입력합니다. 이 자습서에서는 tutorial-database-manual을 입력합니다.

  8. Master username(마스터 사용자 이름)의 경우 기본 이름인 admin을 그대로 둡니다.

  9. Master password(마스터 암호)에 이 자습서에서 기억할 수 있는 암호를 입력한 다음, Confirm password(암호 확인)에 암호를 다시 입력합니다.

  10. 데이터베이스 생성를 선택합니다.

    Databases(데이터베이스) 화면에서 DB 인스턴스를 사용할 준비가 될 때까지 새 DB 인스턴스의 Status(상태)는 Creating(생성 중)입니다. 상태가 Available(사용 가능)로 변경되면 DB 인스턴스에 연결할 수 있습니다. DB 인스턴스 클래스와 스토리지의 양에 따라 새 인스턴스를 사용할 수 있을 때까지 최대 20분이 걸릴 수 있습니다.

이 애니메이션은 DB 인스턴스를 생성하는 방법을 보여 줍니다. 이 애니메이션의 텍스트 버전은 이전 절차의 단계를 참조하세요.

작업 3: 보안 그룹을 생성하여 인스턴스에 할당함으로써 EC2 인스턴스를 RDS 데이터베이스에 수동으로 연결

이 작업의 목표는 두 개의 새 보안 그룹을 생성한 다음, EC2 인스턴스 및 RDS 데이터베이스에 각각 보안 그룹을 추가하는 작업을 수동으로 수행하여 자동 연결 기능의 연결 구성을 재현하는 데 있습니다.

두 개의 새 보안 그룹을 생성하고 EC2 인스턴스 및 RDS 데이터베이스에 각각 하나씩 할당하는 방법
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 먼저, 다음과 같이 EC2 인스턴스에 추가할 보안 그룹을 생성합니다.

    1. 탐색 창에서 보안 그룹을 선택합니다.

    2. 보안 그룹 생성을 선택합니다.

    3. Security group name(보안 그룹 이름)에 보안 그룹을 설명하는 이름을 입력합니다. 이 자습서에서는 ec2-rds-manual-configuration을 입력합니다.

    4. Description(설명)에 간략한 설명을 입력합니다. 이 자습서에서는 EC2 instance security group to allow EC2 instance to securely connect to RDS database을 입력합니다.

    5. 보안 그룹 생성을 선택합니다. RDS 데이터베이스 보안 그룹을 생성한 후 이 보안 그룹으로 돌아와 아웃바운드 규칙을 추가합니다.

  3. 이제 다음과 같이 RDS 데이터베이스에 추가할 보안 그룹을 생성합니다.

    1. 탐색 창에서 보안 그룹을 선택합니다.

    2. 보안 그룹 생성을 선택합니다.

    3. Security group name(보안 그룹 이름)에 보안 그룹을 설명하는 이름을 입력합니다. 이 자습서에서는 rds-ec2-manual-configuration을 입력합니다.

    4. Description(설명)에 간략한 설명을 입력합니다. 이 자습서에서는 RDS database security group to allow EC2 instance to securely connect to RDS database을 입력합니다.

    5. Inbound rules(인바운드 규칙)에서 Add rule(규칙 추가)을 선택하고 다음을 수행합니다.

      1. Type(유형)에서 MYSQL/Aurora를 선택합니다.

      2. Source(소스)에서 본 절차의 2단계에서 생성한 EC2 인스턴스 보안 그룹 ec2-rds-manual-configuration을 선택합니다.

    6. 보안 그룹 생성을 선택합니다.

  4. 다음과 같이 EC2 인스턴스 보안 그룹을 편집하여 아웃바운드 규칙을 추가합니다.

    1. 탐색 창에서 보안 그룹을 선택합니다.

    2. EC2 인스턴스 보안 그룹(이름을 ec2-rds-manual-configuration으로 지정함)을 선택하고 Outbound rules(아웃바운드 규칙) 탭을 선택합니다.

    3. Edit outbound rules(아웃바운드 규칙 편집)를 선택합니다.

    4. Add rule(규칙 추가)을 선택하고 다음을 수행합니다.

      1. Type(유형)에서 MYSQL/Aurora를 선택합니다.

      2. Source(소스)에서 본 절차의 3단계에서 생성한 RDS 데이터베이스 보안 그룹 rds-ec2-manual-configuration을 선택합니다.

      3. 규칙 저장을 선택합니다.

  5. 다음과 같이 EC2 인스턴스 보안 그룹을 EC2 인스턴스에 추가합니다.

    1. 탐색 창에서 Instances(인스턴스)를 선택합니다.

    2. EC2 인스턴스를 선택하고 Actions(작업), Security(보안), Change security groups(보안 그룹 변경)를 선택합니다.

    3. Associated security groups(연결된 보안 그룹)에서 Select security groups(보안 그룹 선택) 필드를 선택하고 앞서 생성한 ec2-rds-manual-configuration을 선택한 다음, Add security group(보안 그룹 추가)을 선택합니다.

    4. Save(저장)를 선택합니다.

  6. 다음과 같이 RDS 데이터베이스 보안 그룹을 RDS 데이터베이스에 추가합니다.

    1. https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

    2. 탐색 창에서 Databases(데이터베이스)를 선택하고 데이터베이스를 선택합니다.

    3. 수정을 선택합니다.

    4. Connectivity(연결)에서 Security group(보안 그룹)에 대해 앞서 생성한 rds-ec2-manual-configuration을 선택한 다음, Continue(계속)를 선택합니다.

    5. Scheduling of modifications(수정 사항 예약)에서 Apply immediately(즉시 적용)를 선택합니다.

    6. Modify DB instance(DB 인스턴스 수정)를 선택합니다.

    이제 자동 연결 기능 사용 시 수행되는 자동 단계를 모방하는 수동 단계를 완료했습니다.

이 자습서의 옵션 3을 완료했습니다. 옵션 1, 2 및 3을 완료했으며 이 자습서에서 생성한 리소스가 더 이상 필요하지 않은 경우 불필요한 비용이 발생하지 않도록 해당 리소스를 삭제해야 합니다. 자세한 내용은 작업 4(선택 사항): 정리 단원을 참조하십시오.

작업 4(선택 사항): 정리

이제 자습서를 완료했으므로 더 이상 사용하지 않을 리소스를 정리(삭제)하는 것이 좋습니다. AWS 리소스를 정리하면 계정에 추가 요금이 발생되지 않도록 방지할 수 있습니다.

이 자습서를 위해 특별히 EC2 인스턴스를 시작한 경우 해당 인스턴스를 종료하여 관련 요금이 발생되지 않도록 할 수 있습니다.

콘솔을 사용한 인스턴스 종료 방법
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 Instances(인스턴스)를 선택합니다.

  3. 이 자습서용으로 생성한 인스턴스를 선택하고 Instance state(인스턴스 상태), Terminate instance(인스턴스 종료)를 선택합니다.

  4. 확인 메시지가 나타나면 종료를 선택합니다.

이 자습서를 위해 특별히 RDS 데이터베이스를 생성한 경우 해당 데이터베이스를 삭제하여 관련 요금이 발생되지 않도록 할 수 있습니다.

콘솔을 사용하여 RDS 데이터베이스 삭제
  1. https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 데이터베이스를 선택합니다.

  3. 이 자습서용으로 생성한 RDS 데이터베이스를 선택하고 Actions(작업), Delete(삭제)를 선택합니다.

  4. 상자에 delete me를 입력한 다음, Delete(삭제)를 선택합니다.