AWS WAF, AWS Firewall Manager, 및 AWS Shield Advanced
개발자 안내서 (API 버전 2015-08-24)

사전 조건

다음 작업은 DDoS 보호와 특별히 관련이 있는 것은 아니지만, 이 자습서를 완료하는 데 필요합니다.

AWS에 가입

Amazon Web Services(AWS)에 가입하면 AWS의 모든 서비스에 AWS 계정이 자동으로 등록됩니다. 사용한 서비스에 대해서만 청구됩니다.

이미 AWS 계정이 있다면 다음 작업으로 건너뛰십시오. AWS 계정이 없는 경우에는 아래 단계를 수행하여 계정을 만드십시오.

AWS 계정을 만들려면 다음을 수행합니다.

  1. https://portal.aws.amazon.com/billing/signup을 엽니다.

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

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

다음 작업에 필요하므로 AWS 계정 번호를 기록합니다.

IAM 사용자 생성

AWS 서비스 및 리소스에 액세스하려면 자격 증명을 입력해야 합니다. AWS 계정을 처음 개설할 때 만든 사용자 이름과 암호로 로그인할 수 있지만, 보안상의 이유로 AWS Identity and Access Management(IAM) 서비스를 통해 새 자격 증명을 만들고 그러한 자격 증명으로 로그인하는 것이 좋습니다.

AWS에 가입했지만 본인의 IAM 사용자를 만들지 않은 경우, 다음 절차에 따라 하나를 만들 수 있습니다.

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

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

  2. 탐색 창에서 UsersAdd user를 차례대로 선택합니다.

  3. 사용자 이름에서 Administrator와 같은 사용자 이름을 입력합니다. 이름은 문자, 숫자, 그리고 다음과 같은 기호로 구성될 수 있습니다. 더하기(+), 등호(=), 쉼표(,), 마침표(.), 앳(@), 밑줄(_), 하이픈(-). 이름은 대/소문자를 구분하지 않으며 최대 64자입니다.

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

  5. 다음: 권한을 선택합니다.

  6. Set permissions for user 페이지에서 Add user to group을 선택합니다.

  7. Create group을 선택합니다.

  8. Create group 대화 상자에 새 그룹의 이름을 입력합니다. 이름은 문자, 숫자, 그리고 다음과 같은 기호로 구성될 수 있습니다. 더하기(+), 등호(=), 쉼표(,), 마침표(.), 앳(@), 밑줄(_), 하이픈(-). 이름은 대/소문자를 구분하지 않으며 최대 128자입니다.

  9. FilterJob function을 선택합니다.

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

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

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

이 새로운 IAM 사용자로 로그인하려면 먼저 AWS 콘솔에서 로그아웃한 후 다음 URL을 사용합니다. 여기에서 your_aws_account_id는 하이픈을 제외한 AWS 계정 번호를 나타냅니다. 예를 들어, AWS 계정 번호가 1234-5678-9012이면 계정 ID는 123456789012입니다.

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

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

본인 계정의 IAM 사용자 로그인 링크를 확인하려면 IAM 콘솔을 열고 대시보드에서 [IAM users sign-in link] 아래를 확인합니다.

IAM에 대한 자세한 내용은 IAM 사용 설명서 단원을 참조하십시오.

키 페어 생성

키 페어는 자격 증명을 입증하는 데 사용하는 보안 자격 증명 집합입니다. 키 페어는 생성한 프라이빗 키와 퍼블릭 키로 구성됩니다. 키 페어를 사용하여 AWS 클라우드의 가상 서버인 Amazon EC2 인스턴스에 로그인합니다. 인스턴스를 처음 시작할 때 키 페어의 이름을 지정합니다.

키 페어를 생성하려면

  1. 이전 섹션에서 생성한 URL을 사용하여 AWS에 로그인합니다.

  2. AWS 대시보드에서 EC2를 선택하여 Amazon EC2 콘솔을 엽니다.

  3. 탐색 모음에서 키 페어를 만들 리전을 선택합니다. 현재 위치와 관계없이 사용자가 고를 수 있는 리전을 임의로 선택합니다. 그러나 키 페어는 리전에 고유합니다. 예를 들어, 미국 서부(오레곤) 지역에서 인스턴스를 시작하려면 미국 서부(오레곤) 지역에서 인스턴스에 대한 키 페어를 생성해야 합니다. 이 자습서에서는 미국 서부(오레곤) 지역을 선택합니다.

    참고

    이 자습서에서 나중에 현재 특정 AWS 리전에서만 사용할 수 있는 AWS Lambda 및 Amazon API Gateway를 사용합니다. 따라서 Lambda 및 Amazon API Gateway를 모두 사용할 수 있는 AWS 리전을 선택해야 합니다. 위에서 제시된 미국 서부(오레곤)는 이 자습서에서 사용되는 모든 서비스를 지원합니다. 서비스 가용성에 대한 최신 정보는 AWS service offerings by region 단원을 참조하십시오.

  4. 탐색 창의 NETWORK & SECURITY에서 Key Pairs를 선택합니다.

    작은 정보

    탐색 창은 콘솔의 왼쪽에 있습니다. 창이 보이지 않는 경우 창이 최소화되었을 수 있으니 화살표를 선택해 확대하십시오. [Key Pairs] 링크가 보이려면 아래로 스크롤해야 할 수 있습니다.

  5. Create Key Pair를 선택합니다.

  6. Create Key Pair(키 페어 생성) 대화 상자의 Key pair name(키 페어 이름) 필드에 새 키 페어의 이름을 입력하고 Create(생성)를 선택합니다. 기억하기 쉬운 이름(예: IAM 사용자 이름)을 사용하고, 뒤에 -key-pair 및 리전 이름을 추가합니다. 예를 들어, me-key-pair-uswest2로 지정할 수 있습니다.

  7. 브라우저에서 프라이빗 키 파일이 자동으로 다운로드됩니다. 기본 파일 이름은 키 페어의 이름으로 지정된 이름이며, 파일 이름 확장명은 .pem입니다. 안전한 장소에 프라이빗 키 파일을 저장합니다.

    중요

    이때가 사용자가 프라이빗 키 파일을 저장할 수 있는 유일한 기회입니다. 인스턴스를 시작할 때 키 페어의 이름을 제공하고, 인스턴스에 연결할 때마다 해당 프라이빗 키를 제공해야 합니다.

자세한 내용은 Amazon EC2 키 페어를 참조하십시오.

서브넷이 두 개인 Virtual Private Cloud(VPC) 생성

Amazon VPC에서는 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있습니다. 이 자습서에서 VPC는 웹 사이트를 호스팅하는 Amazon EC2 인스턴스 두 개와 함께 그러한 인스턴스에 연결된 서브넷 두 개를 포함합니다.

Amazon VPC에 대한 자세한 내용은 Amazon VPC 사용 설명서Amazon VPC란 무엇인가? 단원을 참조하십시오.

기본 VPC가 아닌 VPC를 생성하려면

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

  2. 탐색 모음에서 VPC를 생성할 리전을 선택합니다. VPC는 리전에 고유하므로 키 페어를 생성한 리전과 동일한 리전을 선택해야 합니다. 본 자습서에서는 미국 서부(오레곤) 지역을 사용하겠습니다.

  3. VPC 대시보드에서 [Start VPC Wizard]를 선택합니다.

  4. [Step 1: Select a VPC Configuration] 페이지에서 [VPC with a Single Public Subnet]이 선택되어 있는지 확인한 후 [Select]를 선택합니다.

  5. [Step 2: VPC with a Single Public Subnet] 페이지에서 다음 세부 정보를 지정합니다.

    • [VPC name]에 VPC의 표시 이름을 입력합니다.

    • [Availability Zone]에서 [us-west-2a]를 선택합니다.

    • [Subnet name]에 subnet-1을 입력합니다.

    • 다른 기본 구성 설정은 유지합니다.

  6. [Create VPC]를 선택합니다. 확인 페이지에서 [OK]를 선택합니다.

VPC에 두 번째 서브넷 추가

가용성을 높이기 위해 이 자습서에서 나중에 두 가용 영역의 서로 다른 서브넷을 사용하도록 로드 밸런서를 구성합니다. 이전 단계에서 Amazon VPC를 만들 때 가용 영역에 첫 번째 서브넷을 생성했습니다. 이제 다른 가용 영역에 두 번째 서브넷을 추가해야 합니다. 두 가용 영역이 동일한 AWS 리전에 있어야 합니다.

Amazon VPC에 두 번째 서브넷을 추가하려면

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

  2. 탐색 창에서 Subnets, Create Subnet을 선택합니다.

  3. 다음 서브넷 세부 정보를 지정합니다.

    • [Name tag]에 서브넷의 이름을 입력합니다. 예를 들어 subnet-2라고 입력합니다. 이름 키와 지정한 값으로 태그가 생성됩니다.

    • [VPC]에서 이전 단계에서 방금 생성한 VPC를 선택합니다.

    • [Availability Zone]에서 서브넷이 있게 될 가용 영역을 선택합니다. 이는 이 자습서의 앞부분에서 VPC로 만든 가용 영역과 달라야 합니다. 이 자습서에서는 us-west-2a를 예로 사용했습니다. 따라서 이제 us-west-2a가 아닌 리전을 선택합니다(예: us-west-2b).

    • [IPv4 CIDR block]에서 이 두 번째 서브넷에 대한 IPv4 CIDR 블록을 지정합니다. VPC의 범위로부터 서브넷에 대해 IPv4 CIDR 블록을 지정해야 합니다. 두 서브넷의 IP 주소는 겹칠 수 없습니다. VPC를 설정할 때 기본값을 사용했다고 가정하면 첫 번째 서브넷이 사용한 CIDR 블록은 10.0.0.0/24입니다. 따라서 이 두 번째 CIDR 블록에 대해 10.0.1.0/24를 사용할 수 있습니다. 자세한 내용은 IPv4의 경우, VPC 및 서브넷 크기 조정을 참조하십시오.

  4. [Yes, create]를 선택합니다.

  5. 서브넷 페이지에서 생성한 첫 번째 서브넷인 subnet-1을 선택합니다.

  6. 세부 정보 창의 [Route Table] 탭에서 [Route Table] ID를 적어둡니다. rtb-로 시작합니다.

  7. 서브넷 페이지에서 생성한 두 번째 서브넷인 subnet-2를 선택합니다.

  8. 세부 정보 창에서 [Edit]를 선택합니다.

  9. 두 번째 서브넷은 첫 번째 서브넷과 동일한 라우팅 테이블을 사용해야 합니다. [Change to]에서 앞서 적어둔 라우팅 테이블의 이름을 선택합니다.

  10. Save를 선택합니다.

보안 그룹 생성

보안 그룹은 연결된 인스턴스에 대한 방화벽 역할을 하여 인스턴스 수준에서 인바운드 트래픽과 아웃바운드 트래픽을 모두 제어합니다. RDP를 사용하여 IP 주소에서 인스턴스에 연결할 수 있게 하는 규칙을 보안 그룹에 추가해야 합니다. 어디서나 인바운드 및 아웃바운드 HTTP/HTTPS 액세스를 허용하는 규칙을 추가할 수도 있습니다.

사전 조건

로컬 컴퓨터의 퍼블릭 IPv4 주소가 필요합니다. Amazon EC2 콘솔의 보안 그룹 편집기는 퍼블릭 IPv4 주소를 자동으로 검색할 수 있습니다. 또는 인터넷 브라우저에서 "what is my IP address" 검색 구문을 사용할 수도 있습니다. 고정 IP 주소가 없는 방화벽 뒤나 ISP(인터넷 서비스 제공업체)를 통해 연결되어 있는 경우 클라이언트 컴퓨터가 사용하는 IP 주소의 범위를 찾아야 합니다.

최소 권한으로 보안 그룹을 생성하려면

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

  2. 탐색 모음에서 보안 그룹을 생성할 리전을 선택합니다. 보안 그룹은 리전에 고유하므로 키 페어를 생성한 리전과 동일한 리전인 미국 서부(오레곤)를 선택해야 합니다.

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

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

  5. 새 보안 그룹의 이름과 설명을 입력합니다. 기억하기 쉬운 이름(예: IAM 사용자 이름)을 사용하고, 뒤에 _SG_ 및 리전 이름을 추가합니다. 예를 들어, me_SG_uswest2로 지정할 수 있습니다.

  6. [VPC] 목록에서 이 자습서의 앞부분에서 생성한 VPC를 선택합니다.

  7. [Inbound] 탭에서 다음 규칙을 만듭니다(각 새 규칙에 [Add Rule] 선택).

    • Type(유형) 목록에서 HTTP를 선택하고 Source(소스)Anywhere(위치 무관)(0.0.0.0/0)로 설정되어 있는지 확인합니다.

    • Type(유형) 목록에서 HTTPS를 선택하고 Source(소스)Anywhere(위치 무관)(0.0.0.0/0)로 설정되어 있는지 확인합니다.

    • [Type] 목록에서 [], [RDP]를 선택합니다. 필드를 로컬 컴퓨터의 퍼블릭 IPv4 주소로 자동으로 채우려면 [Source] 상자에서 [MyIP]를 선택하면 됩니다. 또는 [Custom]을 선택하고 컴퓨터 또는 네트워크의 퍼블릭 IPv4 주소를 CIDR 표기법으로 지정해도 됩니다. 개별 IP 주소를 CIDR 표기법으로 지정하려면 라우팅 접미사 /32를 추가합니다(예: 203.0.113.25/32). 회사에서 주소를 범위로 할당하는 경우 전체 범위(예: 203.0.113.0/24)를 지정합니다.

      주의

      보안상 테스트를 위해 짧은 시간 동안만 허용하는 경우를 제외하고 모든 IPv4 주소(0.0.0.0/0)에서의 인스턴스에 대한 RDP 액세스를 허용하지 않는 것이 좋습니다.

  8. 규칙을 모두 추가한 후 [Create]를 선택합니다.

다음: 1단계: Amazon EC2를 사용하여 가상 서버 시작.