Amazon ECS 사용 설정 - Amazon Elastic Container Service

Amazon ECS 사용 설정

Amazon Web Services(AWS)에 이미 가입했고 Amazon Elastic Compute Cloud (Amazon EC2)를 사용하고 있는 경우, Amazon ECS를 곧 사용할 수 있습니다. 두 서비스의 설정 프로세스는 유사합니다. 다음 가이드에서는 첫 번째 Amazon ECS 클러스터를 시작할 준비를 합니다.

Amazon ECS를 설정하려면 다음 태스크를 수행합니다.

AWS 계정에 등록

AWS 계정이 없는 경우 다음 절차에 따라 계정을 생성합니다.

AWS 계정에 등록하려면
  1. https://portal.aws.amazon.com/billing/signup을 여세요.

  2. 온라인 지시 사항을 따르세요.

    등록 절차 중에는 전화를 받고 키패드로 인증 코드를 입력하는 과정이 있습니다.

    AWS 계정에 가입하면 AWS 계정 루트 사용자이 생성됩니다. 루트 사용자에게는 계정의 모든 AWS 서비스 및 리소스 액세스 권한이 있습니다. 보안 모범 사례는 사용자에게 관리 액세스 권한을 할당하고, 루트 사용자만 사용하여 루트 사용자 액세스 권한이 필요한 작업을 수행하는 것입니다.

AWS는 가입 절차 완료된 후 사용자에게 확인 이메일을 전송합니다. 언제든지 https://aws.amazon.com/으로 가서 내 계정(My Account)을 선택하여 현재 계정 활동을 보고 계정을 관리할 수 있습니다.

관리자 액세스 권한이 있는 사용자 생성

AWS 계정에 가입하고 AWS 계정 루트 사용자에 보안 조치를 한 다음, AWS IAM Identity Center를 활성화하고 일상적인 작업에 루트 사용자를 사용하지 않도록 관리 사용자를 생성합니다.

귀하의 AWS 계정 루트 사용자 보호
  1. 루트 사용자를 선택하고 AWS 계정이메일 주소를 입력하여 AWS Management Console에 계정 소유자로 로그인합니다. 다음 페이지에서 비밀번호를 입력합니다.

    루트 사용자를 사용하여 로그인하는 데 도움이 필요하면 AWS 로그인 사용 설명서루트 사용자로 로그인을 참조하세요.

  2. 루트 사용자의 다중 인증(MFA)을 활성화합니다.

    지침은 IAM 사용 설명서의 AWS 계정루트 사용자용 가상 MFA 디바이스 활성화(콘솔)를 참조하세요.

관리자 액세스 권한이 있는 사용자 생성
  1. IAM Identity Center를 활성화합니다.

    지침은 AWS IAM Identity Center 사용 설명서AWS IAM Identity Center 설정을 참조하세요.

  2. IAM Identity Center에서 사용자에게 관리 액세스 권한을 부여합니다.

    IAM Identity Center 디렉터리를 ID 소스로 사용하는 방법에 대한 자습서는 AWS IAM Identity Center 사용 설명서기본 IAM Identity Center 디렉터리로 사용자 액세스 구성을 참조하세요.

관리 액세스 권한이 있는 사용자로 로그인
  • IAM IDentity Center 사용자로 로그인하려면 IAM IDentity Center 사용자를 생성할 때 이메일 주소로 전송된 로그인 URL을 사용합니다.

    IAM Identity Center 사용자로 로그인하는 데 도움이 필요한 경우 AWS 로그인 사용 설명서AWS 액세스 포털에 로그인을 참조하세요.

추가 사용자에게 액세스 권한 할당
  1. IAM Identity Center에서 최소 권한 적용 모범 사례를 따르는 권한 세트를 생성합니다.

    지침은 AWS IAM Identity Center 사용 설명서의 Create a permission set를 참조하세요.

  2. 사용자를 그룹에 할당하고, 그룹에 Single Sign-On 액세스 권한을 할당합니다.

    지침은 AWS IAM Identity Center 사용 설명서의 Add groups를 참조하세요.

Virtual Private Cloud 생성

Amazon Virtual Private Cloud(Amazon VPC)를 사용하여 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있습니다. VPC에서 컨테이너 인스턴스를 시작하는 것이 좋습니다.

기본 VPC가 있는 경우 이 섹션을 건너뛰고 보안 그룹 생성 작업으로 이동합니다. 기본 VPC가 있는지를 확인하려면 Amazon EC2 사용 설명서의 Amazon EC2 콘솔에서 지원되는 플랫폼을 참조하세요. 그렇지 않으면 아래 단계에 따라 계정에서 기본이 아닌 VPC를 생성할 수 있습니다.

VPC를 생성하는 방법에 대한 자세한 내용은 Amazon VPC 사용 설명서의 VPC만 생성을 참조하고 다음 표를 사용하여 선택할 옵션을 결정하세요.

옵션

생성할 리소스

VPC 전용
명칭

선택적으로 VPC의 이름을 입력합니다.

IPv4 CIDR block

IPv4 CIDR 수동 입력

CIDR 블록 크기는 /16과 /28 사이여야 합니다.

IPv6 CIDR block

No IPv6 CIDR 블록

Tenancy

기본값

Amazon VPC에 대한 자세한 내용은 Amazon VPC 사용 설명서Amazon VPC란 무엇인가? 섹션을 참조하세요.

보안 그룹 생성

보안 그룹은 연결된 컨테이너 인스턴스에 대한 방화벽 역할을 하여 컨테이너 인스턴스 수준에서 인바운드 트래픽과 아웃바운드 트래픽을 모두 제어합니다. 해당 IP 주소에서 SSH를 사용하여 컨테이너 인스턴스에 연결할 수 있게 하는 규칙을 보안 그룹에 추가할 수 있습니다. 어디서나 인바운드 및 아웃바운드 HTTP/HTTPS 액세스를 허용하는 규칙을 추가할 수도 있습니다. 작업에 필요한 포트를 여는 규칙을 추가합니다. 컨테이너 인스턴스는 Amazon ECS 서비스 엔드포인트와 통신하기 위해 외부 네트워크에 액세스해야 합니다.

여러 리전에서 컨테이너 인스턴스를 시작하려면 각 리전에서 보안 그룹을 생성해야 합니다. 자세한 내용은 Amazon EC2 사용 설명서에서 리전 및 가용 영역을 참조하세요.

작은 정보

로컬 컴퓨터의 퍼블릭 IP 주소가 필요하며, 서비스를 사용해 확인할 수 있습니다. 예를 들면, Amazon에서는 http://checkip.amazonaws.com/ 또는 https://checkip.amazonaws.com/ 서비스를 제공합니다. IP 주소를 제공하는 다른 서비스를 찾으려면 "what is my IP address"로 검색합니다. 고정 IP 주소가 없는 방화벽 뒤나 ISP(인터넷 서비스 제공업체)를 통해 연결되어 있는 경우 클라이언트 컴퓨터가 사용하는 IP 주소의 범위를 찾아야 합니다.

보안 그룹을 생성하는 방법에 대한 자세한 내용은 Amazon EC2 사용 설명서의 보안 그룹 생성을 참조하고 다음 표를 사용하여 선택할 옵션을 결정하세요.

옵션

지역

키 페어를 생성한 리전과 동일.
명칭 기억하기 쉬운 이름(예: ecs-instances-default-cluster).
VPC 기본 VPC("(기본값)"으로 표시.
참고

계정에서 Amazon EC2 Classic을 지원하는 경우 이전 작업에서 생성한 VPC를 선택합니다.

사용 사례에 추가할 아웃바운드 규칙에 대한 자세한 내용은 Amazon EC2 사용 설명서의 다양한 사용 사례에 대한 보안 그룹 규칙을 참조하세요.

Amazon ECS 컨테이너 인스턴스는 인바운드 포트를 열어야 할 필요가 없습니다. 하지만 컨테이너 인스턴스에 로그인하고 Docker 명령을 사용하여 태스크를 검사할 수 있도록 SSH 규칙을 추가할 수 있습니다. 또한 컨테이너 인스턴스에서 웹 서버를 실행하는 태스크를 호스팅하게 하려는 경우 HTTP 및 HTTPS에 대한 규칙을 추가할 수도 있습니다. 컨테이너 인스턴스는 Amazon ECS 서비스 엔드포인트와 통신하기 위해 외부 네트워크에 액세스해야 합니다. 이러한 보안 그룹 규칙을 필요에 따라 추가하려면 다음 절차를 수행합니다.

보안 그룹에 다음 세 가지 인바운드 규칙을 추가합니다. 보안 그룹을 생성하는 방법에 대한 자세한 내용은 Amazon EC2 사용 설명서의 보안 그룹에 규칙 추가를 참조하세요.

옵션

HTTP 규칙

유형: HTTP

출처: 모든 소스(0.0.0.0/0)

이 옵션은 0.0.0.0/0 IPv4 CIDR 블록을 자동으로 소스로 추가합니다. 테스트 환경에서 잠시 사용하는 것은 괜찮지만 프로덕션 환경에서는 안전하지 않습니다. 프로덕션에서는 특정 IP 주소나 주소 범위만 인스턴스에 액세스하도록 허용하세요.

HTTPS 규칙

유형: HTTPS

출처: 모든 소스(0.0.0.0/0)

테스트 환경에서 잠시 사용하는 것은 괜찮지만 프로덕션 환경에서는 안전하지 않습니다. 프로덕션에서는 특정 IP 주소나 주소 범위만 인스턴스에 액세스하도록 허용하세요.

SSH 규칙

유형: SSH

소스(Source)에서 사용자 지정(Custom)을 선택하고 컴퓨터 또는 네트워크의 퍼블릭 IP 주소를 CIDR 표기법으로 지정합니다. 개별 IP 주소를 CIDR 표기법으로 지정하려면 라우팅 접두사 /32를 추가합니다. 예를 들어, IP 주소가 203.0.113.25인 경우 203.0.113.25/32를 지정합니다. 회사에서 주소를 범위로 할당하는 경우 전체 범위(예: 203.0.113.0/24)를 지정합니다.

중요

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

EC2 인스턴스에 연결하기 위한 자격 증명 생성

Amazon ECS의 경우, 키 페어는 EC2 시작 유형을 사용할 때만 필요합니다.

AWS에서는 퍼블릭 키 암호화를 사용하여 인스턴스에 대한 로그인 정보를 보호합니다. Amazon ECS 컨테이너 인스턴스 같은 Linux 인스턴스는 SSH 액세스에 사용할 암호가 없습니다. 키 페어를 사용하면 인스턴스에 안전하게 로그인할 수 있습니다. 컨테이너 인스턴스를 시작할 때 키 페어의 이름을 지정한 다음 SSH를 사용하여 로그인할 때 프라이빗 키를 제공합니다.

키 페어를 아직 생성하지 않은 경우 Amazon EC2 콘솔을 사용하여 생성할 수 있습니다. 여러 리전에서 인스턴스를 시작하려면 각 리전에서 키 페어를 생성해야 합니다. 리전에 대한 자세한 내용은 Amazon EC2 사용 설명서의 리전 및 가용 영역을 참조하세요.

키 페어를 생성하는 방법
  • Amazon EC2 콘솔을 사용하여 키 페어를 생성합니다. 키 페어 생성에 대한 자세한 내용은 Amazon EC2 사용 설명서의 키 페어 생성을 참조하세요.

인스턴스에 연결하는 방법에 대한 자세한 내용은 Amazon EC2 사용 설명서의 Linux 인스턴스에 연결을 참조하세요.

AWS CLI 설치

AWS Management Console은 Amazon ECS로 모든 태스크를 수동 관리하는 데 사용할 수 있습니다. 그러나 로컬 데스크톱이나 개발자 상자에 AWS CLI를 설치하면 Amazon ECS에서 일반적인 관리 작업을 자동화하는 스크립트를 빌드할 수도 있습니다.

Amazon ECS에 AWS CLI를 사용하려면 최신 AWS CLI 버전을 설치합니다. AWS CLI 설치 또는 최신 버전 업그레이드 방법에 대한 자세한 내용은 AWS Command Line Interface 사용 설명서AWS 명령줄 인터페이스 설치를 참조하세요.