Amazon Lightsail 기반 컨테이너 웹 앱 배포

시작 안내서

모듈 2: 컨테이너 서비스 생성

이 모듈에서는 Lightsail Container Service 생성 방법을 알아봅니다

소개

Amazon Lightsail Container Service는 Docker 이미지를 배포할 수 있는 컴퓨팅 리소스입니다. Lightsail Container Service에 이미지를 배포하면 서비스가 자동으로 AWS 인프라에서 컨테이너를 시작하고 실행합니다.

Lightsail Container Service는 사용자가 생성한 이미지를 사용하여 AWS 인프라에 컨테이너를 실행할 수 있게 해주는 컴퓨팅 환경으로 생각할 수 있습니다. 컴퓨팅 리소스 외에도 컨테이너 서비스는 DNS 이름, TLS 인증서 및 선택적 네트워크 로드 밸런서를 할당하여 컨테이너의 여러 인스턴스 간에 네트워크 트래픽을 분산합니다.

gsg-build-lightsail-2

Lightsail Container Service를 생성할 때 서비스가 생성되는 AWS 리전 및 애플리케이션에 필요한 컴퓨팅 능력을 선택합니다. 1~20노드의 용량을 선택할 수 있으며 각 노드는 0.25vCPU~4vCPU 및 512Mb~8Gb의 RAM을 갖추고 있습니다.

애플리케이션 사용에 따라 언제든지 노드 수 및 노트 크기를 변경할 수 있습니다.

학습 내용

  • AWS CLI에 Amazon Lightsail Extension을 설치하는 방법.
  • 컨테이너 서비스를 생성하는 방법.

 소요 시간

10분

 모듈 사전 요구 사항

  • 관리자 수준의 액세스 권한이 있는 AWS 계정**
  • 권장 브라우저: 최신 버전의 Chrome 또는 Firefox

[**]생성된 지 24시간이 지나지 않은 계정은 이 자습서를 완료하는 데 필요한 서비스에 액세스할 권한이 아직 없을 수 있습니다.

구현

AWS CLI Lightsail Extension 설치

Amazon Lightsail 컨테이너와 상호 작용하려면 AWS CLI 및 컨테이너 서비스 플러그 인, Lightsail이 Docker 컨테이너를 조작할 수 있는 확장 세트를 설치해야 합니다. 이 설정은 1회 설정입니다.

Lightsail CLI 또는 컨테이너 서비스 플러그인이 설치되어 있지 않다면 사용자 운영 체제를 위한 지침을 따를 수 있습니다.

컨테이너 서비스 생성

컨테이너를 배포하려면 먼저 Lightsail Oontainer Service를 생성합니다. 컨테이너 서비스는 컨테이너를 배포하고 실행하는 데 필요한 컴퓨팅 인프라입니다.

컨테이너 서비스는 컴퓨팅 노드, TLS 인증서, DNS 도메인 이름 및 선택적 로드 밸런서로 이루어집니다.

컨테이너 서비스를 생성하기 전에 결정해야 할 세 가지 파라미터가 있습니다.

  • 컨테이너를 배포하려는 AWS 리전. 일반적으로 고객이 있는 곳과 지리적으로 가까운 리전을 선택합니다.
  • 컴퓨팅 노드의 크기. 크기는 티셔츠 사이즈와 같이 Nano(0.25vCPU ~ 512Mb RAM)와 XLarge(4vCPUS ~ 8Gb RAM) 크기로 표현됩니다.
  • 할당되는 노드 수는 1~20개 입니다.

Lightsail Container Service를 생성하려면 터미널을 열고 다음의 명령을 입력합니다.

aws lightsail create-container-service \
    --region eu-west-3                 \
    --service-name signup-application  \
    --power nano                       \
    --scale 1

AWS EU(파리) 리전(eu-west-3)에 하나의 Nano 컴퓨팅 노드를 사용하여 배포할 것입니다.

이 명령은 다음과 같은 JSON 메시지를 출력합니다.

{
    "containerService": {
        "containerServiceName": "signup-application",
        "arn": "arn:aws:lightsail:eu-west-3:012345678901:ContainerService/528a0bcf-fd14-42d4-a09a-943a241adc51",
        "createdAt": "2021-07-17T13:38:40+02:00",
        "location": {
            "availabilityZone": "all",
            "regionName": "eu-west-3"
        },
        "resourceType": "ContainerService",
        "tags": [],
        "power": "nano",
        "powerId": "nano-1",
        "state": "PENDING",
        "scale": 1,
        "isDisabled": false,
        "principalArn": "",
        "privateDomainName": "signup-application.service.local",
        "url": "https://signup-application.me04fvc6dbk4e.eu-west-3.cs.amazonlightsail.com/"
    }
}

"상태"는 "PENDING" 상태입니다.. 잠시 후 상태가 READY로 변경됩니다. 다음 명령을 사용하여 컨테이너 서비스의 상태를 확인할 수 있습니다.

aws lightsail get-container-services  \
    --region eu-west-3                \
    --service-name signup-application \
    --query "containerServices[].state"
[
    "READY"
]

애플리케이션 사용에 따라 언제든지 노드 수 및 노트 크기를 변경할 수 있습니다. 다음은 크기를 1에서 2로 변경하는 예입니다.

aws lightsail update-container-service \
    --region eu-west-3                 \
    --service-name signup-application  \
    --scale 2   

축하합니다. 이제 컨테이너 서비스가 컨테이너를 호스팅할 준비가 되었습니다.

결론

이 모듈에서는 Amazon Lightsail Container Service 생성 방법을 알아보았습니다. 다음 모듈에서는 이를 클라우드에 배포하는 방법과 변경 사항이 있을 때 앱을 업데이트하는 방법에 대해 알아봅니다.

다음: 컨테이너 배포

내용이 마음에 드셨는지요.

피드백을 제공해 주셔서 감사합니다.
이 페이지가 도움이 되어 기쁩니다. 지속적인 개선에 도움이 되는 추가 세부 정보를 공유해 주시겠습니까?
닫기
피드백을 제공해 주셔서 감사합니다.
이 페이지가 도움이 되지 못해 죄송합니다. 지속적인 개선에 도움이 되는 추가 세부 정보를 공유해 주시겠습니까?
닫기