기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
ASP.NET 코어 2.0 앱을 아마존 ECS (Fargate) 에 배포 (레거시)
중요
이 설명서에서는 레거시 서비스 및 기능에 대해 설명합니다. 업데이트된 가이드 및 콘텐츠는 AWS.NET 배포 도구
이 섹션에서는 Toolkit for Visual Studio 툴킷의 일부로 제공되는 Publish Container toAWS 마법사를 사용하여 Fargate 시작 유형을 사용하여 Amazon ECS를 통해 Linux를 대상으로 하는 컨테이너화된 ASP.NET Core 2.0 애플리케이션을 배포하는 방법을 설명합니다. 웹 애플리케이션은 연속 실행이 되도록 설계되었기 때문에 서비스 방식으로 배포가 됩니다.
컨테이너 게시 전
컨테이너 게시AWS 마법사를 사용하여 ASP.NET Core 2.0 응용 프로그램을 배포하기 전에:
-
Docker를 설치합니다
. Windows용 Docker 를 포함하여 서로 다른 설치 옵션이 몇 가지 제공됩니다. -
Visual Studio에서 Linux를 대상으로 하는 ASP.NET Core 2.0 컨테이너식 앱을 위한 프로젝트를 만들거나 여십시오.
게시 컨테이너에AWS 마법사에 액세스
Linux를 대상으로 하는 ASP.NET Core 2.0 컨테이너식 응용 프로그램을 배포하려면 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 컨테이너 게시 대상을 선택합니다AWS.
Visual Studio 빌드 메뉴에서 컨테이너 게시 대상을 선택할 수도 있습니다.AWS
컨테이너를AWS 마법사에 게시
사용할 계정 프로필 - 사용할 계정 프로필을 선택합니다.
리전 - 배포 리전을 선택합니다. 프로필과 리전은 배포 환경 리소스를 설정하고 기본 Docker 레지스트리를 선택하는 데 사용됩니다.
구성 - Docker 이미지 빌드 구성을 선택합니다.
Docker 리포지토리 - 기존의 Docker 레지스트리를 선택하거나 새 레지스트리의 이름을 입력하여 레지스트리를 생성합니다. 이 레지스트리에 빌드된 컨테이너가 게시됩니다.
태그 - 기존 태그를 선택하거나 새 태그의 이름을 입력합니다. 태그는 Docker 컨테이너의 버전, 옵션 또는 기타 고유의 구성 요소 같이 중요한 세부 정보를 추적할 수 있습니다.
배포 대상 - Service on an ECS Cluster(ECS 클러스터 서비스)를 선택합니다. 이 배포 옵션은 애플리케이션이 장기 실행용으로 개발된 경우(예: ASP.NET Core 웹 애플리케이션)에 사용합니다.
설정을 aws-docker-tools-defaults.json
에 저장하고 명령줄에 대한 프로젝트를 구성 - 명령줄에서 유연하게 배포하고 싶은 경우에 이 옵션을 선택합니다. 배포할 프로젝트 디렉터리의 dotnet ecs deploy
와 dotnet ecs publish
컨테이너를 사용합니다.
시작 구성 페이지
ECS 클러스터 - Docker 이미지가 실행될 클러스터를 선택합니다. 빈 클러스터를 생성하겠다고 선택한 경우에는 새 클러스터의 이름을 입력합니다.
시작 유형 - FARGATE를 선택합니다.
CPU 최대 용량(vCPU) - 애플리케이션에 필요한 최대 컴퓨팅 파워를 선택합니다. CPU 및 메모리 값의 허용 범위는 작업 크기를 참조하십시오.
메모리 최대 용량(GB) - 애플리케이션에서 사용할 수 있는 최대 메모리 용량을 선택합니다.
VPC 서브넷 - 단일 VPC에 있는 서브넷을 하나 이상 선택합니다. 서브넷을 하나 이상 선택하면 여러 서브넷에 작업이 분산됩니다. 따라서 가용성을 높일 수 있습니다. 자세한 내용은 기본 VPC 및 기본 서브넷을 참조하십시오.
보안 그룹 - 보안 그룹을 선택합니다.
보안 그룹은 연결된 Amazon EC2 인스턴스에 대해 방화벽 역할을 하여 인스턴스 수준에서 인바운드 트래픽과 아웃바운드 트래픽을 모두 제어합니다.
기본 보안 그룹은 동일한 보안 그룹에 할당된 인스턴스에서의 인바운드 트래픽과 모든 아웃바운드 IPv4 트래픽을 허용하도록 구성되어 있습니다. 서비스가 컨테이너 리포지토리에 도달할 수 있으려면 아웃바운드 트래픽이 허용되어야 합니다.
퍼블릭 IP 주소 할당 - 인터넷에서 작업을 액세스할 수 있도록 하려면 이 확인란을 선택합니다.
서비스 구성 서비스
서비스 - 드롭다운에서 서비스 중 하나를 선택하여 기존 서비스에 컨테이너를 추가합니다. 또는 새로 생성을 선택하여 서비스를 새로 생성합니다. 서비스 이름은 클러스터 내에서 고유해야 하지만, 한 리전 또는 여러 리전에 걸쳐 존재하는 여러 클러스터에서 비슷한 서비스 이름을 사용할 수 있습니다.
작업 수 - 클러스터에 배포하여 계속 실행할 작업의 수입니다. 각 작업은 컨테이너 인스턴스의 하나입니다.
최소 정상 상태 백분율 - 배포 동안 RUNNING
상태를 반드시 유지해야 하는 작업의 백분율을 가장 가까운 정수로 반올림한 값입니다.
최대 정상 상태 백분율 - 배포 중에 RUNNING
또는 PENDING
상태가 허용되는 작업의 백분율을 가장 가까운 정수로 반내림한 값입니다.
Application Load Balancer 페이지
Application Load Balancer 구성 - Application Load Balancer를 구성했는지 확인합니다.
로드 밸런서 - 기존 로드 밸런서를 선택하거나 새로 생성을 선택하고 새 로드 밸런서의 이름을 입력합니다.
리스너 포트 - 기존 리스너 포트를 선택하거나 새로 생성을 선택하고 포트 번호를 입력합니다. 기본 포트인 80
은 대부분의 웹 애플리케이션에 적합합니다.
대상 그룹 - Amazon ECS가 서비스에 작업을 등록할 대상 그룹을 선택합니다.
경로 패턴 - 로드 밸런서는 경로 기반 라우팅을 사용합니다. 기본 /
를 수락하거나 다른 패턴을 제공합니다. 경로 이름은 대/소문자를 구별하고 최대 128자이며 선택한 문자 집합을 포함합니다.
상태 확인 경로 - 상태 확인을 위한 대상에서 목적지가 되는 ping 경로입니다. 기본 설정은 /
입니다. 필요할 경우 다른 이름을 입력하십시오. 입력한 경로가 잘못된 경우에는 상태 확인이 실패하게 되고 상태가 비정상으로 간주됩니다.
여러 서비스가 배포되었고 각 서비스가 서로 다른 경로나 위치에 배포된 경우에는 사용자 지정 확인 경로가 필요할 수 있습니다.
작업 정의 페이지
작업 정의 - 기존 작업 정의를 선택하거나 새로 생성을 선택하고 새 작업 정의 이름을 입력합니다.
컨테이너 - 기존 컨테이너를 선택하거나 새로 생성을 선택하고 새 컨테이너 이름을 입력합니다.
작업 역할 - 앱이AWS 서비스에 액세스하는 데 필요한 자격 증명이 있는 IAM 역할을 선택합니다. 이것이 바로 애플리케이션에 보안 자격 증명이 전달되는 과정입니다. 애플리케이션의AWS 보안 자격 증명을 지정하는 방법을 참조하십시오.
작업 실행 역할 - 개인 이미지를 가져오고 로그를 게시할 권한이 있는 역할을 선택합니다. AWS Fargate가 사용자를 대신하여 Fargate가 사용합니다.
포트 매핑 - 자동 할당된 호스트 포트에 바인딩되는 컨테이너에서 포트 번호를 선택합니다.
환경 변수 - 컨테이너의 환경 변수를 추가, 수정 또는 삭제합니다. 배포에 맞게 수정이 가능합니다.
구성에 만족하면 게시를 클릭하여 배포 프로세스를 시작합니다.
컨테이너 게시 대상AWS
배포 중에 이벤트가 표시됩니다. 이 마법사는 작업이 성공적으로 완료되면 자동으로 닫힙니다. 페이지 맨 아래에 있는 상자를 선택 해제하면 재정의를 할 수 있습니다.
AWS탐색기에서 새 인스턴스의 URL을 찾을 수 있습니다. Amazon ECS and Clusters 노드를 확장하고 클러스터를 클릭합니다.