QuickStart: 를 배포합니다.NET Core on Windows 애플리케이션을 Elastic Beanstalk로 - AWS Elastic Beanstalk

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

QuickStart: 를 배포합니다.NET Core on Windows 애플리케이션을 Elastic Beanstalk로

이 QuickStart 자습서에서는 생성 프로세스를 안내합니다.NET Windows 애플리케이션에 코어를 적용하고 AWS Elastic Beanstalk 환경에 배포합니다.

참고

이 자습 QuickStart 서는 데모용입니다. 이 자습서에서 생성된 애플리케이션을 프로덕션 트래픽에 사용하지 마세요.

AWS 계정

아직 AWS 고객이 아닌 경우 AWS 계정을 생성해야 합니다. 가입하면 Elastic Beanstalk 및 필요한 기타 AWS 서비스에 액세스할 수 있습니다.

이미 AWS 계정이 있는 경우 로 이동할 수 있습니다사전 조건.

에 가입 AWS 계정

가 없는 경우 다음 단계를 AWS 계정완료하여 를 생성합니다.

에 가입하려면 AWS 계정
  1. https://portal.aws.amazon.com/billing/가입 을 엽니다.

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

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

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

AWS 는 가입 프로세스가 완료된 후 확인 이메일을 보냅니다. 언제든지 https://aws.amazon.com/로 이동하여 내 계정 을 선택하여 현재 계정 활동을 보고 계정을 관리할 수 있습니다.

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

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

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

    루트 사용자를 사용하여 로그인하는 데 도움이 필요하면 AWS 로그인 User Guide루트 사용자로 로그인을 참조하십시오.

  2. 루트 사용자에 대해 다중 인증(MFA)을 켭니다.

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

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

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

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

    를 자격 증명 소스 IAM Identity Center 디렉터리 로 사용하는 방법에 대한 자습서는 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를 참조하세요.

사전 조건

참고

AWS 2024년 10월 1일 이후에 생성된 계정은 새 환경을 성공적으로 생성하려면 일시적으로 옵션을 설정해야 합니다. 새 계정과 마찬가지로, 하지만 계정에 환경이 아직 없는 리전의 경우에만 기존 계정에서 동일한 작업을 수행해야 합니다. 자세한 내용은 시작 템플릿 단원을 참조하십시오.

이 설명서의 절차를 수행하기 위해서는 실행 명령줄을 입력할 쉘 또는 터미널이 필요합니다. 명령은 프롬프트 기호(>)와 해당하는 경우 현재 디렉터리의 이름 앞에 있는 목록에 표시됩니다.

C:\eb-project> this is a command this is output

EB CLI

이 자습서에서는 Elastic Beanstalk 명령줄 인터페이스(EB)를 사용합니다CLI. EB 설치 및 구성에 대한 자세한 내용은 Elastic Beanstalk 명령줄 인터페이스 설치 및 섹션을 CLI참조하세요EB CLI 구성.

.NET Windows의 코어

로컬 시스템에 .NET가 SDK 설치되어 있지 않은 경우 . 설명서 웹 사이트의NET 다운로드 .NET 링크를 따라 설치할 수 있습니다.

다음 명령을 실행하여 .NET SDK 설치를 확인합니다.

C:\> dotnet --info

1단계: 을 생성합니다.NET Core on Windows 애플리케이션

프로젝트 디렉터리를 만듭니다.

C:\> mkdir eb-dotnetcore C:\> cd eb-dotnetcore

그런 다음 다음 다음 명령을 실행하여 샘플 Hello World RESTful 웹 서비스 애플리케이션을 생성합니다.

C:\eb-dotnetcore> dotnet new web --name HelloElasticBeanstalk C:\eb-dotnetcore> cd HelloElasticBeanstalk

2단계: 로컬에서 애플리케이션 실행

다음 명령을 실행하여 애플리케이션을 로컬에서 실행합니다.

C:\eb-dotnetcore\HelloElasticBeasntalk> dotnet run

출력은 다음 텍스트와 비슷해야 합니다.

info: Microsoft.Hosting.Lifetime[14] Now listening on: https://localhost:7222 info: Microsoft.Hosting.Lifetime[14] Now listening on: http://localhost:5228 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development info: Microsoft.Hosting.Lifetime[0] Content root path: C:\Users\Administrator\eb-dotnetcore\HelloElasticBeanstalk
참고

dotnet 명령은 애플리케이션을 로컬에서 실행할 때 무작위로 포트를 선택합니다. 이 예제에서 포트는 5228입니다. 애플리케이션을 Elastic Beanstalk 환경에 배포하면 애플리케이션은 포트 5000에서 실행됩니다.

웹 브라우저http://localhost:port에 URL 주소를 입력합니다. 이 특정 예제의 경우 명령은 입니다http://localhost:5228. 웹 브라우저에 “Hello World!”가 표시되어야 합니다.

3단계: 를 배포합니다.NET EB를 사용한 Windows 애플리케이션의 코어 CLI

다음 명령을 실행하여 이 애플리케이션에 대한 Elastic Beanstalk 환경을 생성합니다.

환경을 생성하고 를 배포합니다.NET Core on Windows 애플리케이션
  1. HelloElasticBeanstalk 디렉터리에서 다음 명령을 실행하여 애플리케이션을 게시하고 압축합니다.

    C:\eb-dotnetcore\HelloElasticBeasntalk> dotnet publish -o site C:\eb-dotnetcore\HelloElasticBeasntalk> cd site C:\eb-dotnetcore\HelloElasticBeasntalk\site> Compress-Archive -Path * -DestinationPath ../site.zip C:\eb-dotnetcore\HelloElasticBeasntalk\site> cd ..
  2. 다음 내용을 aws-windows-deployment-manifest.json 사용하여 HelloElasticBeanstalk 호출된 에서 새 파일을 생성합니다.

    { "manifestVersion": 1, "deployments": { "aspNetCoreWeb": [ { "name": "test-dotnet-core", "parameters": { "appBundle": "site.zip", "iisPath": "/", "iisWebSite": "Default Web Site" } } ] } }
  3. eb init 명령을 사용하여 EB CLI리포지토리를 초기화합니다.

    C:\eb-dotnetcore\HelloElasticBeasntalk> eb init -p iis dotnet-windows-server-tutorial --region us-east-2

    이 명령은 라는 애플리케이션을 생성하고 최신 Windows 서버 플랫폼 버전의 환경을 생성하도록 로컬 리포지토리를 dotnet-windows-server-tutorial 구성합니다.

  4. 환경을 만들고 eb create로 해당 환경에 애플리케이션을 배포합니다. Elastic Beanstalk는 애플리케이션을 위한 zip 파일을 자동으로 빌드하고 포트 5000에서 시작합니다.

    C:\eb-dotnetcore\HelloElasticBeasntalk> eb create dotnet-windows-server-env

    Elastic Beanstalk가 환경을 생성하는 데 약 5분이 걸립니다.

4단계: Elastic Beanstalk에서 애플리케이션 실행

환경을 생성하는 프로세스가 완료되면 로 웹 사이트를 엽니다eb open.

C:\eb-dotnetcore\HelloElasticBeasntalk> eb open

축하합니다! 를 배포했습니다.NET Elastic Beanstalk를 사용한 Windows 애플리케이션의 코어! 그러면 애플리케이션에 대해 생성된 도메인 이름을 사용하여 브라우저 창이 열립니다.

5단계: 정리

애플리케이션 작업을 마치면 환경을 종료할 수 있습니다. Elastic Beanstalk는 환경과 연결된 모든 AWS 리소스를 종료합니다.

EB로 Elastic Beanstalk 환경을 종료하려면 다음 명령을 CLI 실행합니다.

C:\eb-dotnetcore\HelloElasticBeasntalk> eb terminate

AWS 애플리케이션 리소스

방금 단일 인스턴스 애플리케이션을 생성했습니다. 단일 EC2 인스턴스를 사용하는 간단한 샘플 애플리케이션 역할을 하므로 로드 밸런싱이나 오토 스케일링이 필요하지 않습니다. 단일 인스턴스 애플리케이션의 경우 Elastic Beanstalk는 다음 AWS 리소스를 생성합니다.

  • EC2 인스턴스 - 선택한 플랫폼에서 웹 앱을 실행하도록 구성된 Amazon EC2 가상 머신입니다.

    특정 언어 버전, 프레임워크, 웹 컨테이너 또는 조합을 지원하도록 각 플랫폼마다 실행하는 소프트웨어, 구성 파일 및 스크립트 세트가 다릅니다. 대부분의 플랫폼에서는 웹 앱 앞의 웹 트래픽을 처리하고, 웹 앱으로 요청을 전달하고, 정적 자산을 제공하고, 액세스 및 오류 로그를 생성하는 역방향 프록시로 Apache 또는 nginx를 사용합니다.

  • 인스턴스 보안 그룹 - 포트 80에서 수신 트래픽을 허용하도록 구성된 Amazon EC2 보안 그룹입니다. 이 리소스를 사용하면 로드 밸런서의 HTTP 트래픽이 웹 앱을 실행하는 EC2 인스턴스에 도달할 수 있습니다. 기본적으로 다른 포트에서는 트래픽이 허용되지 않습니다.

  • Amazon S3 버킷(Amazon S3 bucket) - Elastic Beanstalk 사용 시 생성된 소스 코드, 로그 및 기타 아티팩트의 스토리지 위치입니다.

  • Amazon CloudWatch 경보 - 환경의 인스턴스에 대한 부하를 모니터링하고 부하가 너무 높거나 낮으면 트리거되는 CloudWatch 경보 2개입니다. 경보가 트리거되면 이에 대한 응답으로 Auto Scaling 그룹이 스케일 업 또는 축소됩니다.

  • AWS CloudFormation 스택 - Elastic Beanstalk는 AWS CloudFormation 를 사용하여 환경의 리소스를 시작하고 구성 변경을 전파합니다. 리소스는 AWS CloudFormation 콘솔에서 볼 수 있는 템플릿에서 정의됩니다.

  • 도메인 이름 - 양식으로 웹 앱으로 라우팅하는 도메인 이름입니다. subdomain.region.elasticbeanstalk.com.

이러한 모든 리소스는 Elastic Beanstalk에서 관리합니다. 사용자가 환경을 종료하면 Elastic Beanstalk는 환경에 있는 모든 리소스를 종료합니다.

다음 단계

애플리케이션을 실행하는 환경이 있으면 언제든 다른 애플리케이션 또는 애플리케이션의 새 버전을 배포할 수 있습니다. EC2 인스턴스를 프로비저닝하거나 다시 시작할 필요가 없으므로 새 애플리케이션 버전을 배포하는 것이 매우 빠릅니다. Elastic Beanstalk 콘솔을 사용하여 새 환경을 탐색할 수도 있습니다. 자세한 단계는 이 가이드의 시작하기 장의 환경 탐색을 참조하세요.

자습서 더 보기

다른 예제 애플리케이션으로 다른 자습서를 사용하려는 경우 섹션을 참조하세요QuickStart 용ASP.NET.

샘플 애플리케이션을 배포하고 를 개발하고 실행할 준비가 된 후.NET 로컬 Windows 애플리케이션의 코어, 참조 설정 중. NET개발 환경

Elastic Beanstalk 콘솔을 사용하여 배포

Elastic Beanstalk 콘솔을 사용하여 샘플 애플리케이션을 시작할 수도 있습니다. 자세한 단계는 이 가이드의 시작하기 장의 예제 애플리케이션 생성을 참조하세요.