

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon ECS에 ASP.NET Core 2.0 앱 배포(Fargate)(레거시)
<a name="deployment-ecs-aspnetcore-fargate"></a>

**중요**  
이 설명서에서는 레거시 서비스 및 기능을 참조합니다. 업데이트된 안내서와 정보는 [AWS .NET 배포 도구](https://aws.github.io/aws-dotnet-deploy/) 안내서 및 업데이트된 [AWS목차 배포](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/deployment-chapt.html)를 참조하세요.

이 섹션에서는 Toolkit for Visual Studio의 일부로 제공되는 ** AWS에 컨테이너 게시** 마법사를 사용하여 Fargate 시작 유형을 이용해 Amazon ECS를 통해 Linux를 대상으로 하는 컨테이너화된 ASP.NET Core 2.0 애플리케이션을 배포하는 방법을 설명합니다. 웹 애플리케이션은 연속 실행이 되도록 설계되었기 때문에 서비스 방식으로 배포가 됩니다.

## 컨테이너 게시 전
<a name="tkv-deploy-ecs-netcore-prerequisites"></a>

** AWS에 컨테이너 게시** 마법사를 사용하여 ASP.NET Core 2.0 애플리케이션을 배포하기 전에 다음을 수행합니다.
+  [AWS 보안 인증 정보를 지정](deployment-ecs-specify-credentials.md)하고 [Amazon ECS를 설정](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/get-set-up-for-amazon-ecs.html)하세요.
+  [Docker를 설치합니다](https://docs.docker.com/engine/installation). [Windows용 Docker](https://docs.docker.com/docker-for-windows/install/)를 포함하여 서로 다른 설치 옵션이 몇 가지 제공됩니다.
+ Visual Studio에서, Linux를 대상으로 하는 ASP.NET Core 2.0 컨테이너화된 앱용 프로젝트를 만들거나 엽니다.

## 에 컨테이너 게시 AWS 마법사 액세스
<a name="tkv-deployment-ecs-netcore-accessing"></a>

Linux를 대상으로 하는 ASP.NET Core 2.0 컨테이너화된 애플리케이션을 배포하려면 솔루션 탐색기에서 해당 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 ** AWS에 컨테이너 게시**를 선택하세요.

![\[Context menu showing "Publish Container to AWS" option highlighted for deployment.\]](http://docs.aws.amazon.com/ko_kr/toolkit-for-visual-studio/latest/user-guide/images/wiz-ecspub-fargate-step0a.png)


Visual Studio 빌드 메뉴에서 ** AWS에 컨테이너 게시**를 선택할 수도 있습니다.

## AWS 마법사에 컨테이너 게시
<a name="tkv-deploy-ecs-pubtoaws"></a>

![\[AWS Publish Container interface showing profile, Docker image, and deployment options for ECR.\]](http://docs.aws.amazon.com/ko_kr/toolkit-for-visual-studio/latest/user-guide/images/wiz-ecspub-fargate-step1.png)


 **사용할 계정 프로필** - 사용할 계정 프로필을 선택합니다.

 **리전** - 배포 리전을 선택합니다. 프로필과 리전은 배포 환경 리소스를 설정하고 기본 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` 컨테이너를 사용합니다.

## 시작 구성 페이지
<a name="tkv-deploy-ecs-launch-configuration"></a>

![\[AWS Launch Configuration interface for creating an empty ECS 클러스터 with FARGATE launch type.\]](http://docs.aws.amazon.com/ko_kr/toolkit-for-visual-studio/latest/user-guide/images/wiz-ecspub-fargate-step2.png)


 **ECS 클러스터** - Docker 이미지가 실행될 클러스터를 선택합니다. 빈 클러스터를 생성하겠다고 선택한 경우에는 새 클러스터의 이름을 입력합니다.

 **시작 유형** - **FARGATE**를 선택합니다.

 **CPU 최대 용량(vCPU)** - 애플리케이션에 필요한 최대 컴퓨팅 파워를 선택합니다. CPU 및 메모리 값의 허용 범위는 [작업 크기](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html)를 참조하십시오.

 **메모리 최대 용량(GB)** - 애플리케이션에서 사용할 수 있는 최대 메모리 용량을 선택합니다.

 **VPC 서브넷** - 단일 VPC에 있는 서브넷을 하나 이상 선택합니다. 서브넷을 하나 이상 선택하면 여러 서브넷에 작업이 분산됩니다. 따라서 가용성을 높일 수 있습니다. 자세한 내용은 [기본 VPC 및 기본 서브넷](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html)을 참조하십시오.

 **보안 그룹** - 보안 그룹을 선택합니다.

보안 그룹은 연결된 Amazon EC2 인스턴스에 대해 방화벽 역할을 하여 인스턴스 수준에서 인바운드 트래픽과 아웃바운드 트래픽을 모두 제어합니다.

 [기본 보안 그룹](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)은 동일한 보안 그룹에 할당된 인스턴스에서의 인바운드 트래픽과 모든 아웃바운드 IPv4 트래픽을 허용하도록 구성되어 있습니다. 서비스가 컨테이너 리포지토리에 도달할 수 있으려면 아웃바운드 트래픽이 허용되어야 합니다.

 **퍼블릭 IP 주소 할당** - 인터넷에서 작업을 액세스할 수 있도록 하려면 이 확인란을 선택합니다.

## 서비스 구성 서비스
<a name="tkv-deploy-ecs-service"></a>

![\[AWS Service Configuration interface for deploying an application with customizable parameters.\]](http://docs.aws.amazon.com/ko_kr/toolkit-for-visual-studio/latest/user-guide/images/wiz-ecspub-fargate-step3.png)


 **서비스** - 드롭다운에서 서비스 중 하나를 선택하여 기존 서비스에 컨테이너를 추가합니다. 또는 **새로 생성**을 선택하여 서비스를 새로 생성합니다. 서비스 이름은 클러스터 내에서 고유해야 하지만, 한 리전 또는 여러 리전에 걸쳐 존재하는 여러 클러스터에서 비슷한 서비스 이름을 사용할 수 있습니다.

 **작업 수** - 클러스터에 배포하여 계속 실행할 작업의 수입니다. 각 작업은 컨테이너 인스턴스의 하나입니다.

 **최소 정상 상태 백분율** - 배포 동안 `RUNNING` 상태를 반드시 유지해야 하는 작업의 백분율을 가장 가까운 정수로 반올림한 값입니다.

 **최대 정상 상태 백분율** - 배포 중에 `RUNNING` 또는 `PENDING` 상태가 허용되는 작업의 백분율을 가장 가까운 정수로 반내림한 값입니다.

## Application Load Balancer 페이지
<a name="tkv-deploy-ecs-app-load-balancer"></a>

![\[Application Load Balancer configuration interface for AWS with options for load balancer and target group settings.\]](http://docs.aws.amazon.com/ko_kr/toolkit-for-visual-studio/latest/user-guide/images/wiz-ecspub-fargate-step4.png)


 **Application Load Balancer 구성** - Application Load Balancer를 구성했는지 확인합니다.

 **로드 밸런서** - 기존 로드 밸런서를 선택하거나 **새로 생성**을 선택하고 새 로드 밸런서의 이름을 입력합니다.

 **리스너 포트** - 기존 리스너 포트를 선택하거나 **새로 생성**을 선택하고 포트 번호를 입력합니다. 기본 포트인 `80`은 대부분의 웹 애플리케이션에 적합합니다.

 **대상 그룹** - Amazon ECS가 서비스를 위해 작업을 등록할 대상 그룹을 선택합니다.

 **경로 패턴** - 로드 밸런서는 경로 기반 라우팅을 사용합니다. 기본 `/`를 수락하거나 다른 패턴을 제공합니다. 경로 이름은 대/소문자를 구별하고 최대 128자이며 [선택한 문자 집합](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#path-conditions)을 포함합니다.

 **상태 확인 경로** - 상태 확인을 위한 대상에서 목적지가 되는 ping 경로입니다. 기본 설정은 `/`입니다. 필요할 경우 다른 이름을 입력하십시오. 입력한 경로가 잘못된 경우에는 상태 확인이 실패하게 되고 상태가 비정상으로 간주됩니다.

여러 서비스가 배포되었고 각 서비스가 서로 다른 경로나 위치에 배포된 경우에는 사용자 지정 확인 경로가 필요할 수 있습니다.

## 작업 정의 페이지
<a name="tkv-deploy-ecs-task-definition"></a>

![\[AWS Task Definition interface for configuring Docker container parameters and permissions.\]](http://docs.aws.amazon.com/ko_kr/toolkit-for-visual-studio/latest/user-guide/images/wiz-ecspub-fargate-step5.png)


 **작업 정의** - 기존 작업 정의를 선택하거나 **새로 생성**을 선택하고 새 작업 정의 이름을 입력합니다.

 **컨테이너** - 기존 컨테이너를 선택하거나 **새로 생성**을 선택하고 새 컨테이너 이름을 입력합니다.

 **작업 역할** - 앱이 AWS 서비스에 액세스하는 데 필요한 자격 증명이 있는 IAM 역할을 선택합니다. 이것이 바로 애플리케이션에 보안 자격 증명이 전달되는 과정입니다. [애플리케이션에 대해 AWS 보안 인증 정보를 지정하는 방법](deployment-ecs-specify-credentials.md)을 참조하세요.

 **작업 실행 역할** - 프라이빗 이미지를 가져오고 로그를 게시할 권한이 있는 역할을 선택합니다. AWS Fargate는 사용자를 대신하여 해당 역할을 사용합니다.

 **포트 매핑** - 자동 할당된 호스트 포트에 바인딩되는 컨테이너에서 포트 번호를 선택합니다.

 **환경 변수** - 컨테이너의 환경 변수를 추가, 수정 또는 삭제합니다. 배포에 맞게 수정이 가능합니다.

구성에 만족하면 **게시**를 클릭하여 배포 프로세스를 시작합니다.

## 에 컨테이너 게시 AWS
<a name="tkv-deploy-ecs-publishing"></a>

![\[AWS container publishing progress window showing steps for deploying to ECS and ECR.\]](http://docs.aws.amazon.com/ko_kr/toolkit-for-visual-studio/latest/user-guide/images/wiz-ecspub-fargate-step6.png)


배포 중에 이벤트가 표시됩니다. 이 마법사는 작업이 성공적으로 완료되면 자동으로 닫힙니다. 페이지 맨 아래에 있는 상자를 선택 해제하면 재정의를 할 수 있습니다.

 AWS 탐색기에서 새 인스턴스의 URL을 찾을 수 있습니다. Amazon ECS and Clusters 노드를 확장하고 클러스터를 클릭합니다.