

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

# Linux 기반 Elastic Beanstalk .NET Core 플랫폼 사용
<a name="dotnet-linux-platform"></a>

이 항목에서는 Elastic Beanstalk를 통해 Linux 기반 .NET Core 애플리케이션을 구성, 빌드 및 실행하는 방법을 설명합니다.

AWS Elastic Beanstalk 는 Linux 운영 체제에서 실행되는 다양한 .NET Core 프레임워크 버전에 대해 여러 플랫폼 브랜치를 지원합니다. 전체 목록은 *AWS Elastic Beanstalk 플랫폼*의 [Linux 기반 .NET Core](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.dotnetlinux)를 참조하세요.

Elastic Beanstalk Linux 기반 플랫폼 확장을 위한 다양한 방법은 [Elastic Beanstalk Linux 플랫폼 확장](platforms-linux-extend.md)을 참조하세요.

## Linux 기반 .NET Core 플랫폼 고려 사항
<a name="dotnet-linux-platform.intro"></a>

### 프록시 서버
<a name="dotnet-linux-platform.proxy"></a>

Elastic Beanstalk Linux 기반 .NET Core 플랫폼에는 요청을 애플리케이션으로 전달하는 역방향 프록시가 포함되어 있습니다. 기본적으로 Elastic Beanstalk는 [NGINX](https://www.nginx.com/)를 프록시 서버로 사용합니다. 프록시 서버를 사용하지 않고 [Kestrel](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel)을 웹 서버로 구성할 수 있습니다. Kestrel은 ASP.NET Core 프로젝트 템플릿에 기본적으로 포함되어 있습니다.

### 애플리케이션 구조
<a name="dotnet-linux-platform.publish-apps"></a>

Elastic Beanstalk에서 제공하는 .NET Core 런타임을 사용하는 *런타임 종속적* 애플리케이션을 게시할 수 있습니다. 소스 번들에 .NET Core 런타임 및 애플리케이션의 종속성을 포함하는 *독립적* 애플리케이션을 게시할 수도 있습니다. 자세한 내용은 [Linux 기반 .NET Core Elastic Beanstalk 플랫폼용 애플리케이션 번들링](dotnet-linux-platform-bundle-app.md)를 참조하세요.

### 플랫폼 구성
<a name="dotnet-linux-platform.configuration"></a>

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

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

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

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

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

## Linux 환경에서 .NET Core 구성
<a name="dotnet-linux-options"></a>

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

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

**Elastic Beanstalk 콘솔을 사용하여 Linux 환경에서 .NET Core를 구성하려면**

1. [Elastic Beanstalk 콘솔](https://console.aws.amazon.com/elasticbeanstalk)을 열고 **리전** 목록에서를 선택합니다 AWS 리전.

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

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

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

### 로그 옵션
<a name="dotnet-linux-logs"></a>

**로그 옵션** 섹션에는 다음 두 가지 설정이 있습니다.
+ **인스턴스 프로파일** – 애플리케이션과 연결된 Amazon S3 버킷에 액세스할 권한이 있는 인스턴스 프로파일을 지정합니다.
+ **Amazon S3에 대한 로그 파일 교체 활성화(Enable log file rotation to Amazon S3)** – 애플리케이션과 연결된 Amazon S3 버킷에 애플리케이션의 Amazon EC2 인스턴스에 대한 로그 파일을 복사하는지 여부를 지정합니다.

### 환경 속성
<a name="dotnet-linux-options-properties"></a>

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

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

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

자세한 내용은 [환경 변수 및 기타 소프트웨어 설정](environments-cfg-softwaresettings.md)를 참조하십시오.

## Linux 기반 .NET Core 구성 네임스페이스
<a name="dotnet-linux-namespace"></a>

[구성 파일](ebextensions.md)을 사용하여 구성 옵션을 설정하고 배포 중 다른 인스턴스 구성 작업을 수행할 수 있습니다. 구성 옵션은 [플랫폼별](command-options-specific.md)로 다르거나 Elastic Beanstalk 서비스의 [모든 플랫폼](command-options-general.md)에 전체적으로 적용될 수 있습니다. 구성 옵션은 *네임스페이스*로 구성됩니다.

Linux 기반 .NET Core 플랫폼에서는 [모든 Elastic Beanstalk 환경에 대해 지원되는 옵션](command-options-general.md) 이외에도 다음 네임스페이스의 옵션을 지원합니다.
+ `aws:elasticbeanstalk:environment:proxy` - NGIN를 사용하거나 프록시 서버를 사용하지 않습니다. 유효한 값은 `nginx` 또는 `none`입니다.

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

**Example .ebextensions/proxy-settings.config**  

```
option_settings:
  aws:elasticbeanstalk:environment:proxy:
    ProxyServer: {{none}}
```

Elastic Beanstalk는 사용자가 환경을 맞춤형으로 지정할 수 있는 다양한 구성 옵션을 제공합니다. 구성 파일 외에 콘솔, 저장된 구성, EB CLI 또는 AWS CLI를 통해 구성 옵션을 설정할 수도 있습니다. 자세한 정보는 [구성 옵션](command-options.md)을 참조하세요.