AWS Toolkit for Visual Studio - AWS Elastic Beanstalk

AWS Toolkit for Visual Studio

Visual Studio는 여러 프로그래밍 언어와 애플리케이션 유형을 위한 템플릿을 제공합니다. 이러한 템플릿 중 어떤 것이든 선택하여 시작할 수 있습니다. 또한 AWS Toolkit for Visual Studio에는 애플리케이션 개발을 간소화하는 AWS Console Project, AWS Web Project, AWS Empty Project라는 세 가지 프로젝트 템플릿이 있습니다. 이 예에서는 새로운 ASP.NET 웹 애플리케이션을 생성할 것입니다.

새로운 ASP.NET 웹 애플리케이션 프로젝트를 생성하려면

  1. Visual Studio의 File(파일) 메뉴에서 New(새로 만들기)를 클릭한 후 Project(프로젝트)를 클릭합니다.

  2. New Project(새 프로젝트) 대화 상자에서 Installed Templates(설치된 템플릿)를 클릭하고 Visual C#를 클릭한 후 Web(웹)을 클릭합니다. ASP.NET Empty Web Application(ASP.NET 빈 웹 애플리케이션)을 클릭하고, 프로젝트 이름을 입력한 후, 확인을 클릭합니다.

프로젝트를 실행하려면

다음 중 하나를 수행하십시오.

  1. F5를 누릅니다.

  2. Debug(디버그) 메뉴에서 Start Debugging(디버깅 시작)을 선택합니다.

로컬에서 테스트

Visual Studio를 사용하면 애플리케이션을 로컬에서 손쉽게 테스트할 수 있습니다. ASP.NET 웹 애플리케이션을 테스트하거나 실행하려면 웹 서버가 필요합니다. Visual Studio는 IIS(인터넷 정보 서비스), IIS Express 또는 기본 제공되는 Visual Studio 개발 서버 등의 여러 옵션을 제공합니다. 이러한 각 옵션에 대해 알아보고 가장 적합한 옵션을 결정하려면 Web Servers in Visual Studio for ASP.NET Web Projects(ASP.NET 웹 프로젝트용 Visual Studio의 웹 서버)를 참조하십시오.

Elastic Beanstalk 환경 생성

애플리케이션을 테스트하면 이를 Elastic Beanstalk에 배포할 준비가 완료됩니다.

참고

구성 파일은 아카이브에 포함시킬 프로젝트의 일부여야 합니다. 또는 프로젝트에 구성 파일을 포함시키는 대신에 Visual Studio를 사용하여 프로젝트 폴더의 모든 파일을 배포할 수 있습니다. Solution Explorer(솔루션 탐색기)에서 프로젝트 이름을 마우스 오른쪽 버튼으로 클릭한 후 Properties(속성)를 클릭합니다. Package/Publish Web(웹 패키징/게시) 탭을 클릭합니다. Items to deploy(배포할 항목) 섹션의 드롭다운 목록에서 All Files in the Project Folder(프로젝트 폴더 내 모든 파일)를 선택합니다.

AWS Toolkit for Visual Studio를 사용하여 애플리케이션을 Elastic Beanstalk에 배포하려면

  1. Solution Explorer(솔루션 탐색기)에서 애플리케이션을 마우스 오른쪽 버튼으로 클릭한 후 Publish to AWS(AWS에 게시)를 선택합니다.

  2. Publish to AWS(AWS에 게시) 마법사에서 계정 정보를 입력합니다.

    1. AWS account to use for deployment(배포에 사용할 AWS 계정)에서 계정을 선택하거나 Other(기타)를 선택하여 새 계정 정보를 입력합니다.

    2. Region(리전)에서 애플리케이션을 배포할 리전을 선택합니다. 사용 가능한 AWS 리전에 대한 자세한 내용은 AWS General ReferenceAWS Elastic Beanstalk 엔드포인트 및 할당량을 참조하십시오. Elastic Beanstalk에서 지원되지 않는 리전을 선택한 경우 Elastic Beanstalk에 배포하는 옵션을 사용할 수 없게 됩니다.

    3. Deploy new application with template(템플릿을 사용한 신규 애플리케이션 배포)을 클릭하고 Elastic Beanstalk를 선택합니다. 그런 다음 다음을 클릭합니다.

      
                AWS에 게시 마법사 1
  3. Application(애플리케이션) 페이지에서 애플리케이션 세부 정보를 입력합니다.

    1. 이름에 애플리케이션의 이름을 입력합니다.

    2. [Description]에 애플리케이션의 설명을 입력합니다. 이 단계는 선택 사항입니다.

    3. 애플리케이션의 버전 레이블이 Deployment version label(배포 버전 레이블)에 자동으로 표시됩니다.

    4. Deploy application incrementally(증분 방식 애플리케이션 배포)를 선택하여 변경된 파일만 배포합니다. 모든 파일이 아닌 변경된 파일만 업데이트하므로 증분 배포가 더 빠릅니다. 이 옵션을 선택하면 애플리케이션 버전이 Git 커밋 ID에서 설정됩니다. 애플리케이션을 증분으로 배포하지 않으려는 경우 Deployment version label(배포 버전 레이블) 상자에서 버전 레이블을 업데이트할 수 있습니다.

      
                Beanstalk에 게시 마법사 2
    5. 다음을 클릭합니다.

  4. Environment(환경) 페이지에서 환경 세부 정보를 설명합니다.

    1. Create a new environment for this application(이 애플리케이션에 대해 새 환경 생성)을 선택합니다.

    2. 이름에 환경의 이름을 입력합니다.

    3. 설명에 환경의 특성을 정의합니다. 이 단계는 선택 사항입니다.

    4. 원하는 환경의 유형을 선택합니다.

      Load balanced, auto scaled(로드 밸런싱 수행, 자동 조정) 또는 단일 인스턴스 환경을 선택할 수 있습니다. 자세한 내용은 환경 유형 단원을 참조하십시오.

      참고

      단일 인스턴스 환경의 경우 로드 밸런싱, Auto Scaling, 상태 확인 URL 설정이 적용되지 않습니다.

    5. 커서를 해당 상자로 이동하면 환경 URL에 환경 URL이 자동으로 표시됩니다.

    6. 가용성 확인을 클릭하여 환경 URL을 사용할 수 있는지 확인합니다.

      
                Beanstalk에 게시 마법사 3
    7. 다음을 클릭합니다.

  5. AWS Options(AWS 옵션) 페이지에서 배포에 대한 추가 옵션과 보안 정보를 구성합니다.

    1. Container Type(컨테이너 유형)에서 64bit Windows Server 2012 running IIS 8(IIS 8 실행 64비트 Windows Server 2012) 또는 64bit Windows Server 2008 running IIS 7.5(IIS 7.5 실행 64비트 Windows Server 2008)를 선택합니다.

    2. 인스턴스 유형에서 Micro(마이크로)를 선택합니다.

    3. Key pair(키 페어)에서 Create new key pair(새 키 페어 생성)를 선택합니다. 새 키 페어의 이름을 입력한 후(이 예에서는 myuswestkeypair 사용), 확인을 클릭합니다. 키 페어를 사용하여 Amazon EC2 인스턴스에 원격 데스크톱 액세스를 할 수 있습니다. Amazon EC2 키 페어에 대한 자세한 내용은 Amazon Elastic Compute Cloud 사용 설명서자격 증명 사용을 참조하십시오.

    4. 인스턴스 프로파일을 선택합니다.

      인스턴스 프로파일이 없는 경우 Create a default instance profile(기본 인스턴스 프로파일 생성)을 선택합니다. Elastic Beanstalk에서 인스턴스 프로파일을 사용하는 방법에 대한 자세한 내용은 Elastic Beanstalk 인스턴스 프로파일 관리 단원을 참조하십시오.

    5. 환경에서 사용할 사용자 지정 VPC가 있는 경우 Launch into VPC(VPC로 시작)를 클릭합니다. 다음 페이지에서 VPC 정보를 구성할 수 있습니다. Amazon VPC에 대한 자세한 내용은 Amazon Virtual Private Cloud(Amazon VPC)를 참조하십시오. 레거시가 아닌 지원 컨테이너 유형 목록은 일부 플랫폼 버전이 레거시로 표시되는 이유는 무엇입니까? 단원을 참조하십시오.

      
                Beanstalk에 게시 마법사 4
    6. 다음을 클릭합니다.

  6. VPC 내에서 환경을 시작하도록 선택한 경우 VPC Options(VPC 옵션) 페이지가 표시됩니다. 그렇지 않은 경우 Additional Options(추가 옵션) 페이지가 표시됩니다. 여기에서 VPC 옵션을 구성합니다.

    
            로드 밸런싱 수행 및 확장 가능 환경의 VPC 옵션
    
            단일 인스턴스 환경의 VPC 옵션
    1. 환경을 시작할 VPC의 VPC ID를 선택합니다.

    2. 로드 밸런싱 수행 및 확장 가능 환경의 경우 Elastic Load Balancer를 인터넷에서 사용할 수 없도록 하려면 ELB 체계(ELB Scheme)에서 프라이빗(private)을 선택합니다.

      단일 인스턴스 환경의 경우, 환경에 로드 밸런서가 없기 때문에 이 옵션이 해당되지 않습니다. 자세한 내용은 환경 유형 단원을 참조하십시오.

    3. 로드 밸런싱 수행 및 확장 가능 환경의 경우 Elastic Load Balancer와 EC2 인스턴스의 서브넷을 선택합니다. 퍼블릭 및 프라이빗 서브넷을 만든 경우 탄력적 로드 밸런서와 EC2 인스턴스가 올바른 서브넷에 연결되어 있는지 확인합니다. 기본적으로 Amazon VPC는 10.0.0.0/24를 사용하여 기본 퍼블릭 서브넷을 만들고, 10.0.1.0/24를 사용하여 프라이빗 서브넷을 만듭니다. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔의 기존 서브넷을 볼 수 있습니다.

      단일 인스턴스 환경의 경우, VPC에는 인스턴스의 퍼블릭 서브넷만 필요합니다. 환경에 로드 밸런서가 없기 때문에 로드 밸런서의 서브넷 선택은 해당되지 않습니다. 자세한 내용은 환경 유형 단원을 참조하십시오.

    4. 로드 밸런싱 수행 및 확장 가능 환경의 경우 인스턴스에 대해 생성한 보안 그룹을 선택합니다(해당되는 경우).

      단일 인스턴스 환경의 경우, NAT 디바이스가 필요하지 않습니다. 기본 보안 그룹을 선택합니다. Elastic Beanstalk는 인스턴스에 탄력적 IP 주소를 할당하여 인스턴스가 인터넷에 액세스할 수 있도록 합니다.

    5. 다음을 클릭합니다.

  7. Application Options(애플리케이션 옵션) 페이지에서 애플리케이션 옵션을 구성합니다.

    1. 대상 프레임워크에서 .NET Framework 4.0을 선택합니다.

    2. Elastic Load Balancing은 상태 확인을 사용하여 애플리케이션을 실행하는 Amazon EC2 인스턴스가 정상인지 여부를 확인합니다. 상태 확인은 설정된 간격으로 지정한 URL을 검색하여 인스턴스의 상태를 확인합니다. 애플리케이션의 기존 리소스(예: /myapp/index.aspx)와 일치하도록 애플리케이션 상태 점검 URL 상자에 이를 입력하여 기본 URL을 재정의할 수 있습니다. 애플리케이션 상태 확인에 대한 자세한 내용은 상태 확인을 참조하십시오.

    3. 애플리케이션에 영향을 주는 중요 이벤트에 대한 Amazon Simple Notification Service(Amazon SNS) 알림을 받으려면 이메일 주소를 입력합니다.

    4. Application Environment(애플리케이션 환경) 섹션에서 애플리케이션을 실행하는 Amazon EC2 인스턴스의 환경 변수를 지정할 수 있습니다. 이 설정을 사용하면 환경 간에 이동할 때 소스 코드를 다시 컴파일할 필요가 없어 이동성이 향상됩니다.

    5. 애플리케이션을 배포하는 데 사용할 애플리케이션 자격 증명 옵션을 선택합니다.

      
                Beanstalk에 게시 마법사 6
    6. 다음을 클릭합니다.

  8. Amazon RDS 데이터베이스를 이전에 설정한 경우 Amazon RDS DB Security Group(Amazon RDS DB 보안 그룹) 페이지가 나타납니다. Elastic Beanstalk 환경을 Amazon RDS DB 인스턴스에 연결하려면 보안 그룹을 하나 이상 선택합니다. 그렇지 않은 경우 다음 단계로 이동합니다. 준비되면 다음을 클릭합니다.

    
            Beanstalk에 게시 마법사 7
  9. 배포 옵션을 검토합니다. 모두 원하는 대로 설정되었으면 배포를 클릭합니다.

    
            Beanstalk에 게시 마법사 8

    ASP.NET 프로젝트가 웹 배포 파일로 내보내지고, Amazon S3에 업로드되며, Elastic Beanstalk를 통해 새로운 애플리케이션 버전으로 등록됩니다. Elastic Beanstalk 배포 기능은 새롭게 개발된 코드에 사용할 수 있게 될 때까지 환경을 모니터링합니다. env:<environment name> 탭에서 환경의 상태를 볼 수 있습니다.

    
            환경 상태

환경 종료

사용하지 않는 AWS 리소스에 요금이 발생하지 않도록 하려면 AWS Toolkit for Visual Studio를 사용하여 실행 중인 환경을 종료하면 됩니다.

참고

이후에 동일한 버전을 사용하여 언제든 새 환경을 시작할 수 있습니다.

환경을 종료하려면

  1. AWS Explorer에서 Elastic Beanstalk 노드와 애플리케이션 노드를 확장합니다. 애플리케이션 환경을 마우스 오른쪽 버튼으로 클릭하고 Terminate Environment(환경 종료)를 선택합니다.

  2. 메시지가 표시되면 를 클릭하여 환경을 종료하고자 함을 확인합니다. Elastic Beanstalk가 환경에서 실행 중인 AWS 리소스를 종료하는 데는 몇 분 정도 걸립니다.

    
            Elastic Beanstalk 환경 종료 대화 상자
    참고

    환경을 종료할 때, 종료된 환경에 연결되어 있던 CNAME은 누구나 사용할 수 있게 됩니다.