Linux 기반 .NET Core 플랫폼 사용 - AWS Elastic Beanstalk

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

Linux 기반 .NET Core 플랫폼 사용

Linux 기반 AWS Elastic Beanstalk .NET Core 플랫폼은 Linux 운영 체제에서 실행되는 .NET Core 애플리케이션용 플랫폼 버전 집합입니다.

Elastic Beanstalk Linux 기반 플랫폼 확장을 위한 다양한 방법은 Elastic Beanstalk Linux 플랫폼 확장을 참조하세요. 다음은 몇 가지 플랫폼별 고려 사항입니다.

Linux 기반 .NET Core 플랫폼 소개

프록시 서버

Elastic Beanstalk Linux 기반 .NET Core 플랫폼에는 요청을 애플리케이션으로 전달하는 역방향 프록시가 포함되어 있습니다. 기본적으로 Elastic Beanstalk는 nginx를 프록시 서버로 사용합니다. 프록시 서버를 사용하지 않고 Kestrel을 웹 서버로 구성할 수 있습니다. Kestrel은 ASP.NET Core 프로젝트 템플릿에 기본적으로 포함되어 있습니다.

애플리케이션 구조

Elastic Beanstalk에서 제공하는 .NET Core 런타임을 사용하는 런타임 종속적 애플리케이션을 게시할 수 있습니다. 소스 번들에 .NET Core 런타임 및 애플리케이션의 종속성을 포함하는 독립적 애플리케이션을 게시할 수도 있습니다. 자세한 내용은 Linux 기반 .NET Core 플랫폼용 애플리케이션 번들링 단원을 참조하십시오.

플랫폼 구성

환경의 서버 인스턴스에서 실행되는 프로세스를 구성하려면 소스 번들에 선택적 Procfile을 포함시킵니다. 소스 번들에 애플리케이션이 두 개 이상 있는 경우 Procfile이 필요합니다.

항상 Procfile을 애플리케이션과 함께 소스 번들로 제공하는 것이 좋습니다. 이렇게 하면 애플리케이션에 대해 Elastic Beanstalk가 실행되는 프로세스를 정확하게 제어할 수 있습니다.

실행 환경 구성을 수정하기 위해 Elastic Beanstalk 콘솔의 구성 옵션을 사용할 수 있습니다. 저장된 구성을 사용해 설정을 저장하면 환경 종료 시 구성이 훼손되지 않도록 할 수 있으며, 추후 기타 환경에서도 적용할 수 있습니다.

소스 코드에 설정을 저장하려면 구성 파일을 포함시킬 수 있습니다. 구성 파일 설정은 환경을 생성하거나 애플리케이션을 배포할 때마다 적용됩니다. 구성 파일을 사용하여 패키지를 설치하거나, 스크립트를 실행하거나, 배포 중 기타 인스턴스 사용자 지정 작업을 수행할 수 있습니다.

Elastic Beanstalk 콘솔에 적용된 설정이 구성 파일에 적용된 동일한 설정(있는 경우)을 덮어씁니다. 이렇게 함으로써 구성 파일은 기본 설정을 갖는 동시에 콘솔에서 환경 특정 설정으로 설정을 덮어 쓸 수 있습니다. 우선 적용 및 설정을 변경하는 다른 방법에 대한 자세한 내용은 구성 옵션 단원을 참조하십시오.

Linux 환경에서 .NET Core 구성

Linux 기반 .NET Core 플랫폼 설정을 사용하면 Amazon EC2 인스턴스의 동작을 세부적으로 조정할 수 있습니다. Elastic Beanstalk 콘솔을 사용하여 Elastic Beanstalk 환경의 Amazon EC2 인스턴스 구성을 편집할 수 있습니다.

Elastic Beanstalk 콘솔을 사용하여 Amazon S3에 대한 로그 교체를 활성화하고, 애플리케이션에서 읽을 수 있도록 환경 변수를 구성합니다.

Elastic Beanstalk 콘솔을 사용하여 Linux 환경에서 .NET Core를 구성하려면
  1. Elastic Beanstalk 콘솔을 연 다음 리전(Regions) 목록에서 해당 AWS 리전을 선택합니다.

  2. 탐색 창에서 환경을 선택한 다음 목록에서 환경 이름을 선택합니다.

    참고

    여러개의 환경을 보유한 경우 검색 창을 통해 환경 목록을 필터링합니다.

  3. 탐색 창에서 구성을 선택합니다.

  4. 업데이트, 모니터링 및 로깅 구성 범주에서 편집을 선택합니다.

로그 옵션

로그 옵션 섹션에는 다음 두 가지 설정이 있습니다.

  • 인스턴스 프로파일 – 애플리케이션과 연결된 Amazon S3 버킷에 액세스할 권한이 있는 인스턴스 프로파일을 지정합니다.

  • Amazon S3에 대한 로그 파일 교체 활성화(Enable log file rotation to Amazon S3) – 애플리케이션과 연결된 Amazon S3 버킷에 애플리케이션의 Amazon EC2 인스턴스에 대한 로그 파일을 복사하는지 여부를 지정합니다.

환경 속성

환경 속성(Environment Properties) 섹션에서는 애플리케이션을 실행하는 Amazon EC2 인스턴스에서 환경 구성 설정을 지정할 수 있습니다. 환경 속성은 키-값 페어로 애플리케이션에 전달됩니다.

Elastic Beanstalk에서 실행되는 Linux 기반 .NET Core 환경에서 Environment.GetEnvironmentVariable("variable-name")을 사용하여 환경 변수에 액세스할 수 있습니다. 예를 들어 다음 코드로 변수에 대한 API_ENDPOINT이라는 속성을 읽을 수 있습니다.

string endpoint = Environment.GetEnvironmentVariable("API_ENDPOINT");

자세한 내용은 환경 속성 및 기타 소프트웨어 설정를 참조하십시오.

Linux 기반 .NET Core 구성 네임스페이스

구성 파일을 사용하여 구성 옵션을 설정하고 배포 중 다른 인스턴스 구성 작업을 수행할 수 있습니다. 구성 옵션은 Elastic Beanstalk 서비스 또는 사용 중인 플랫폼에서 정의할 수 있으며 네임스페이스로 구성됩니다.

Linux 기반 .NET Core 플랫폼에서는 모든 Elastic Beanstalk 환경에 대해 지원되는 옵션 이외에도 다음 네임스페이스의 옵션을 지원합니다.

  • aws:elasticbeanstalk:environment:proxy - nginx를 사용하거나 프록시 서버를 사용하지 않습니다. 유효한 값은 nginx 또는 none입니다.

다음 예제 구성 파일에서는 Linux 기반 .NET Core 관련 구성 옵션의 사용을 보여줍니다.

예 .ebextensions/proxy-settings.config
option_settings: aws:elasticbeanstalk:environment:proxy: ProxyServer: none

Elastic Beanstalk는 사용자가 환경을 맞춤형으로 지정할 수 있는 다양한 구성 옵션을 제공합니다. 구성 파일 외에 콘솔, 저장된 구성, EB CLI 또는 AWS CLI를 통해 구성 옵션을 설정할 수도 있습니다. 자세한 내용은 구성 옵션를 참조하십시오.