기존 ASP.NET 애플리케이션을 Elastic Beanstalk에 배포하기 - AWS Amazon Q를 사용한 툴킷

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

기존 ASP.NET 애플리케이션을 Elastic Beanstalk에 배포하기

이 섹션에서는 Toolkit for Visual Studio 툴킷의 일부로 제공되는 Elastic Beanstalk에 게시 마법사를 사용하여 Elastic Beanstalk를 통해 애플리케이션을 배포하는 방법을 설명합니다. 연습을 위해 Visual Studio에 내장되어 있는 웹 애플리케이션 스타터 프로젝트의 인스턴스를 사용하거나 자체의 프로젝트를 사용할 수 있습니다.

참고

ASP.NET Core 애플리케이션 배포도 마법사에서 지원됩니다. ASP.NET Core에 대한 자세한 내용은 AWS.NET 배포 도구 안내서 및 업데이트된 배포 대상 목차를 참조하십시오.AWS

참고

Publish to Elastic Beanstalk 마법사를 사용하려면 먼저 웹 배포를 다운로드하여 설치해야 합니다. 이 마법사는 웹 배포를 통해 IIS(인터넷 정보 서비스) 웹 서버에 웹 애플리케이션과 웹 사이트를 배포합니다.

샘플 웹 애플리케이션 스타터 프로젝트 만들기

  1. Visual Studio의 파일 메뉴에서 새로 만들기, 프로젝트를 차례대로 선택합니다.

  2. New Project(새 프로젝트) 대화 상자의 탐색 창에서 Installed(설치됨), Templates(템플릿), Visual C#을 차례대로 확장한 다음 Web(웹)을 선택합니다.

  3. 프로젝트 템플릿 목록에서 WebApplication 단어가 설명에 포함된 템플릿을 선택합니다. 이 예제에서는 ASP.NET Web Forms Application을 선택합니다.

  4. 이름 상자에 AEBWebAppDemo를 입력합니다.

  5. 위치 상자에서 개발 시스템의 솔루션 폴더에 대한 경로를 입력하거나 찾아보기를 선택한 다음, 솔루션 폴더를 찾아 선택하고, Select Folder(폴더 선택)를 선택합니다.

  6. Create directory for solution(솔루션에 대해 디렉터리 생성) 상자가 선택되어 있는지 확인합니다. Solution(솔루션) 드롭다운 목록에서 Create new solution(새 솔루션 생성)이 선택되어 있는지 확인한 다음 확인을 선택합니다. Visual Studio가 ASP.NET Web Forms Application 프로젝트 템플릿에 따라 솔루션과 프로젝트를 생성합니다. 그런 다음 솔루션과 프로젝트가 나타나는 솔루션 탐색기를 Visual Studio에서 표시합니다.

Publish to Elastic Beanstalk 마법사를 사용하여 애플리케이션을 배포하려면

  1. 솔루션 탐색기에서 이전 섹션에서 만든 프로젝트의 AEBWebAppDemo 프로젝트 폴더에 대한 컨텍스트 메뉴 (마우스 오른쪽 버튼 클릭) 를 열거나, 자체 애플리케이션의 프로젝트 폴더에 대한 컨텍스트 메뉴를 열고 AWSElastic Beanstalk에 게시를 선택합니다.

    Publish to Elastic Beanstalk(Elastic Beanstalk에 게시) 마법사가 표시됩니다.

  2. 프로필의 배포에 사용할 계정 프로필 드롭다운 목록에서 배포에 사용할AWS 계정 프로필을 선택합니다.

    원하는 경우 사용하려는 계정이 있지만 해당 계정에 대한AWSAWS 계정 프로필을 아직 만들지 않은 경우 더하기 기호 (+) 가 있는 버튼을 선택하여AWS 계정 프로필을 추가할 수 있습니다.

  3. 지역 드롭다운 목록에서 Elastic Beanstalk가 애플리케이션을 배포할 지역을 선택합니다.

  4. 배포 대상에서 Create a new application environment(새 애플리케이션 환경 생성)를 선택하여 애플리케이션의 초기 배포를 수행하거나 Redeploy to an existing environment(기존 환경에 재배포)를 선택하여 이전에 배포된 애플리케이션을 다시 배포할 수 있습니다. (이전 배포는 마법사 또는 더 이상 사용되지 않는 독립형 배포 도구를 사용하여 수행되었을 수 있습니다.) Redeploy to an existing environment(기존 환경에 재배포)를 선택하면 마법사가 현재 실행 중인 이전 배포에서 정보를 검색하는 동안 지연 시간이 발생할 수 있습니다.

    참고

    Redeploy to an existing environment(기존 환경에 재배포)를 선택하고 목록에서 환경을 선택하고 다음을 선택하면 마법사를 통해 Application Options(애플리케이션 옵션)으로 곧바로 이동할 수 있습니다. 이 경로로 이동하려면 이 단원 후반부의 Application Options(애플리케이션 옵션) 사용 방법을 설명하는 지침으로 건너뛰십시오.

  5. Next(다음)를 선택합니다.

  6. Application Environment(애플리케이션 환경) 페이지에서 애플리케이션 영역의 이름 드롭다운 목록에 애플리케이션의 기본 이름이 제안됩니다. 드롭다운 목록에서 다른 이름을 선택하여 기본 이름을 변경할 수 있습니다.

  7. 환경 영역의 이름 드롭다운 목록에서 Elastic Beanstalk 환경의 이름을 입력합니다. 이 컨텍스트에서 환경이라는 용어는 애플리케이션에 대해 Elastic Beanstalk가 제공하는 인프라를 의미합니다. 이 드롭다운 목록에 기본 이름이 이미 제안되어 있기도 합니다. 기본 이름이 제안되지 않았으면 이름을 입력하고, 드롭다운 목록에 추가 이름이 있으면 선택합니다. 환경 이름은 23자보다 길 수 없습니다.

  8. URL 영역에서 웹 애플리케이션의 URL이 될 .elasticbeanstalk.com의 기본 하위 도메인이 상자에 제안됩니다. 새로운 하위 도메인 이름을 입력하여 기본 하위 도메인을 변경할 수 있습니다.

  9. 웹 애플리케이션에 대한 URL이 이미 사용 중이 아닌지 확인하려면 가용성 확인을 선택합니다.

  10. 웹 애플리케이션 URL이 사용할 수 있는 상태이면 다음을 선택합니다.

  1. AWS옵션 페이지의 Amazon EC2 시작 구성의 컨테이너 유형 드롭다운 목록에서 애플리케이션에 사용할 Amazon 머신 이미지 (AMI) 유형을 선택합니다.

  2. 인스턴스 유형 드롭다운 목록에서 사용할 Amazon EC2 인스턴스 유형을 지정합니다. 이 예제에는 Micro(마이크로)를 사용하는 것이 좋습니다. 이렇게 하면 인스턴스 실행과 연관된 비용이 최소화됩니다. Amazon EC2 요금에 대한 자세한 내용은 EC2 요금 섹션을 참조하세요.

  3. Key pair 드롭다운 목록에서 애플리케이션에 사용할 인스턴스에 로그인하는 데 사용할 Amazon EC2 인스턴스 key pair 선택합니다.

  4. 선택적으로 Use custom AMI(사용자 지정 AMI 사용) 상자에서 Container type(컨테이너 유형) 드롭다운 목록에 지정된 AMI를 재정의할 사용자 지정 AMI를 지정할 수 있습니다. 사용자 지정 AMI를 만드는 방법에 대한 자세한 내용은 AWSElastic Beanstalk 개발자 안내서의 사용자 지정 AMI 사용 및 Amazon EC2 인스턴스에서 AMI 생성을 참조하십시오.

  5. 선택적으로 VPC에서 인스턴스를 시작하려면 Use a VPC(VPC 사용) 상자를 선택합니다.

  6. 선택적으로 단일 Amazon EC2 인스턴스를 시작한 다음 해당 인스턴스에 애플리케이션을 배포하려는 경우 단일 인스턴스 환경 상자를 선택합니다.

    이 상자를 선택하면 Elastic Beanstalk는 여전히 Auto Scaling 그룹을 생성하지만 구성하지는 않습니다. Auto Scaling 그룹을 나중에 구성하려는 경우 를 사용할 수 있습니다AWS Management Console.

  7. 선택적으로 Enable Rolling Deployments(롤링 배포 활성화) 상자를 선택하여 애플리케이션이 인스턴스에 배포되는 조건을 제어할 수 있습니다. Single instance environment(단일 인스턴스 환경) 상자를 선택하지 않은 경우에만 이 상자를 선택할 수 있습니다.

  8. 애플리케이션이 Amazon S3 및 DynamoDB와 같은AWS 서비스를 사용하는 경우 자격 증명을 제공하는 가장 좋은 방법은 IAM 역할을 사용하는 것입니다. 배포된 애플리케이션 권한 영역에서 기존 IAM 역할을 선택하거나 마법사가 환경을 시작하는 데 사용할 역할을 생성할 수 있습니다. 를 사용하는 애플리케이션은AWS 서비스에 요청할 때 이 IAM 역할에서 제공하는 자격 증명을AWS SDK for .NET 자동으로 사용합니다.

  9. 애플리케이션이 Amazon RDS 데이터베이스에 액세스하는 경우, 관계형 데이터베이스 액세스 영역의 드롭다운 목록에서 Amazon EC2 인스턴스가 해당 데이터베이스에 액세스할 수 있도록 마법사가 업데이트할 Amazon RDS 보안 그룹 옆의 상자를 선택합니다.

  10. Next(다음)를 선택합니다.

    • Use a VPC(VPC 사용)를 선택하면 VPC Options(VPC 옵션) 페이지가 표시됩니다.

    • Use a VPC(VPC 사용)를 선택하지 않고 Enable Rolling Deployments(롤링 배포 활성화)를 선택하면 Rolling Deployments(롤링 배포) 페이지가 표시됩니다. 이 단원 후반부의 Rolling Deployments(롤링 배포) 사용 방법을 설명하는 지침으로 건너뛰십시오.

    • Use a VPC(VPC 사용) 또는 Enable Rolling Deployments(롤링 배포 활성화)를 선택하지 않은 경우 Application Options(애플리케이션 옵션) 페이지가 표시됩니다. 이 단원 후반부의 Application Options(애플리케이션 옵션) 사용 방법을 설명하는 지침으로 건너뛰십시오.

  11. Use a VPC(VPC 사용)를 선택한 경우 VPC Options(VPC 옵션) 페이지에서 정보를 지정하여 VPC로 애플리케이션을 시작합니다.

    VPC가 이미 생성되어 있어야 합니다. Visual Studio용 툴킷에서 VPC를 만든 경우 Visual Toolkit for Visual Studio 툴킷으로 이 페이지가 자동으로 채워집니다. AWS관리 콘솔에서 VPC 만든 경우 이 페이지에 VPC 대한 정보를 입력하십시오.

VPC에 배포하기 위한 주요 고려 사항

  • VPC에는 퍼블릭 서브넷 및 프라이빗 서브넷이 최소한 한 개가 있어야 합니다.

  • ELB Subnet(ELB 서브넷) 드롭다운 목록에서 퍼블릭 서브넷을 지정합니다. Toolkit for Visual Studio 툴킷은 애플리케이션의 Elastic Load Balancing 로드 밸런서를 퍼블릭 서브넷에 배포합니다. 퍼블릭 서브넷은 인터넷 게이트웨이를 가리키는 항목이 있는 라우팅 테이블과 연결됩니다. 인터넷 게이트웨이에는 igw-로 시작하는 ID(예: igw-83cddaex)가 있으므로 알아볼 수 있습니다. Toolkit for Visual Studio 사용하여 만든 퍼블릭 서브넷에는 퍼블릭 서브넷으로 식별하는 태그 값이 있습니다.

  • Instances Subnet(인스턴스 서브넷) 드롭다운 목록에서 프라이빗 서브넷을 지정합니다. Toolkit for Visual Studio 툴킷은 애플리케이션의 Amazon EC2 인스턴스를 프라이빗 서브넷에 배포합니다.

  • 애플리케이션의 Amazon EC2 인스턴스는 네트워크 주소 변환 (NAT) 을 수행하는 퍼블릭 서브넷의 Amazon EC2 인스턴스를 통해 프라이빗 서브넷에서 인터넷으로 통신합니다. 이러한 통신을 사용하려면 프라이빗 서브넷에서 NAT 인스턴스로 트래픽의 흐름을 허용하는 VPC 보안 그룹이 필요합니다. 보안 그룹 드롭다운 목록에서 이 VPC 보안 그룹을 지정합니다.

Elastic Beanstalk 애플리케이션을 VPC 배포하는 방법에 대한 자세한 내용은 AWSElastic Beanstalk 개발자 안내서를 참조하십시오.

  1. VPC Options(VPC 옵션) 페이지에 있는 정보를 모두 채우고 다음을 선택합니다.

    • Enable Rolling Deployments(롤링 배포 활성화)를 선택하면 Rolling Deployments(롤링 배포) 페이지가 표시됩니다.

    • Enable Rolling Deployments(롤링 배포 활성화)를 선택하지 않은 경우 Application Options(애플리케이션 옵션) 페이지가 표시됩니다. 이 단원 후반부의 Application Options(애플리케이션 옵션) 사용 방법을 설명하는 지침으로 건너뛰십시오.

  2. Enable Rolling Deployments(롤링 배포 활성화)를 선택한 경우 애플리케이션의 새 버전을 로드 밸런싱 환경의 인스턴스에 배포하는 방법을 구성하기 위해 Rolling Deployments(롤링 배포) 페이지에서 정보를 지정합니다. 예를 들어, 환경에 인스턴스 4개가 있고 인스턴스 유형을 변경하려는 경우 한 번에 인스턴스 2개를 변경할 수 있도록 환경을 구성할 수 있습니다. 그러면 변경하는 동안에도 애플리케이션이 실행됩니다.

  3. 애플리케이션 버전 영역에서 백분율 또는 인스턴스 수로 배포를 한 번에 제어하는 옵션을 선택합니다. 원하는 백분율이나 수를 지정합니다.

  4. 배포 중에 계속 서비스할 인스턴스 수를 지정하려는 경우 환경 구성 영역에서 상자를 선택합니다. 이 상자를 선택할 경우 한 번에 수정할 최대 인스턴스의 수와 한 번에 계속 서비스할 최소 인스턴스 수를 하나만 지정하거나 둘 다 지정합니다.

  5. Next(다음)를 선택합니다.

  6. Application Options(애플리케이션 옵션) 페이지에서 빌드, IIS(인터넷 정보 서비스) 및 애플리케이션 설정에 대한 정보를 지정합니다.

  7. Build and IIS Deployment Settings(빌드 및 IIS 배포 설정) 영역의 Project build configuration(프로젝트 빌드 구성) 드롭다운 목록에서 대상 빌드 구성을 선택합니다. 마법사가 찾으면 릴리스가 표시되고 그렇지 않으면 활성화된 구성이 이 상자에 표시됩니다.

  8. App pool(앱 풀) 드롭다운 목록에서 애플리케이션에 필요한 .NET Framework 버전을 선택합니다. 올바른 .NET Framework 버전이 이미 표시되어 있어야 합니다.

  9. 애플리케이션이 32바이트인 경우 Enable 32-bit applications(32비트 애플리케이션 활성화) 상자를 선택합니다.

  10. App path(앱 경로) 상자에서 IIS가 애플리케이션을 배포하는 데 사용할 경로를 지정합니다. 기본적으로 Default Web Site/(기본 웹 사이트/)가 지정되며 일반적으로 c:\inetpub\wwwroot 경로로 변환됩니다. Default Web Site/(기본 웹 사이트/) 이외의 경로를 지정하면 마법사는 지정된 경로를 가리키는 Default Web Site/(기본 웹 사이트/) 경로에 리디렉션을 배치합니다.

  11. 애플리케이션 설정 영역의 Health 확인 URL 상자에 Elastic Beanstalk의 URL을 입력하여 웹 애플리케이션이 여전히 반응하는지 확인합니다. 이 URL은 루트 서버 URL에 상대적입니다. 루트 서버 URL이 기본적으로 지정됩니다. 예를 들어, 전체 URL이 example.com/site-is-up.html이면 /site-is-up.html을 입력합니다.

  12. 영역에서 애플리케이션의 Web.config 파일에 추가할 키 및 값 페어를 지정할 수 있습니다.

    참고

    권장되지는 않지만 영역을 사용하여 애플리케이션을 실행할AWS 자격 증명을 지정할 수 있습니다. 기본 접근 방식은 AWS옵션 페이지의 Identity and Access Management 역할 드롭다운 목록에서 IAM 역할을 지정하는 것입니다. 하지만 애플리케이션을 실행할 때 IAM 역할 대신AWS 자격 증명을 사용해야 하는 경우에는 행에서 선택하십시오 AWSAccessKey. 열에 액세스 키를 입력합니다. 에 대해 다음 단계를 AWSSecretKey반복합니다.

  13. Next(다음)를 선택합니다.

  14. 검토 페이지에서 구성한 옵션을 검토하고 Open environment status window when wizard closes(마법사를 닫을 때 환경 상태 창 열기) 상자를 선택합니다.

  15. 모든 사항이 올바르게 보이는 경우 배포를 선택합니다.

    참고

    애플리케이션을 배포할 때 활성 계정에는 애플리케이션에서 사용하는AWS 리소스에 대한 요금이 부과됩니다.

    배포에 대한 정보는 Visual Studio 상태 표시줄 및 결과 창에 표시됩니다. 몇 분 정도 걸릴 수 있습니다. 배포가 완료되면 결과 창에 확인 메시지가 표시됩니다.

  16. 배포를 삭제하려면AWS 탐색기에서 Elastic Beanstalk 노드를 확장하고, 배포에 대한 하위 노드의 컨텍스트 메뉴 (마우스 오른쪽 버튼 클릭) 를 연 다음, [삭제 (Delete)] 를 선택합니다. 삭제 프로세스는 몇 분 정도 걸릴 수 있습니다.