BLOG
최근 Elastic Beanstalk가 출시한 .NET Core에 대한 Linux 지원 추가와 함께, Beanstalk 팀은 Linux와 Windows .NET Core Beanstalk 플랫폼 전반에 걸친 환경변수 지원 표준화에 힘쓰고 있습니다. 즉, Linux 또는 Windows용 최신 플랫폼 버전을 사용하여 Beanstalk 환경에서 환경 변수를 설정할 수 있으며, 환경에 배치된 애플리케이션은 애플리케이션을 재배치하지 않고도 새로운 가치에 접근할 수 있습니다.
환경 변수 설정하기
환경 변수는 환경의 구성 섹션 아래에 있는 AWS 관리 콘솔에서 설정할 수 있습니다.
환경변수는 또한 AWS SDK, CLI 또는 PowerShell을 사용하여 설정할 수 있습니다. 다음은 AWS Tools. ElasticBeanstalk PowerShell 모듈을 사용하여 위의 콘솔에서 볼 수 있는 것과 동일한 환경 변수를 설정합니다.
$env1 = New-Object Amazon.ElasticBeanstalk.Model.ConfigurationOptionSetting
$env1.Namespace = “aws:elasticbeanstalk:application:environment”
$env1.OptionName = “EnvName1”
$env1.Value = “EnvValue1”
$env2 = New-Object Amazon.ElasticBeanstalk.Model.ConfigurationOptionSetting
$env2.Namespace = “aws:elasticbeanstalk:application:environment”
$env2.OptionName = “EnvName2”
$env2.Value = “EnvValue2”
$connectionStringEnv = New-Object Amazon.ElasticBeanstalk.Model.ConfigurationOptionSetting
$connectionStringEnv.Namespace = “aws:elasticbeanstalk:application:environment”
$connectionStringEnv.OptionName = “ConnectionStrings__Default”
$connectionStringEnv.Value = “this_is_my_conn_string”
Update-EBEnvironment -Region us-west-2 -ApplicationName “EnvTest” -EnvironmentName “EnvTest-dev” -OptionSetting @($env1, $env2, $connectionStringEnv)
IConfiguration로 환경 변수 액세스하기
.NET Core 애플리케이션은 일반적으로 IConfiguration 인터페이스를 사용하여 구성 값에 액세스합니다. IConfiguration은 appsettings.json 및 환경 변수와 같은 다양한 소스에서 구성 정보를 가져옵니다.
환경 변수 설정에 대한 위의 예제에서 기본 연결 문자열 환경 변수 이름에는 __ (이중 밑줄)이 있었습니다. 이는 .NET Core가 NET Core의 IConfiguration 프레임워크 내부에 중첩된 구성 값을 생성하기 위해 사용하는 규약입니다. 본 예제에서는 IConfiguration의 ConnectionString 섹션에서 Default값을 설정해 보겠습니다. appsettings.json에서 이는 중첩된 JSON 개체일 수 있지만 환경변수의 경우 중첩은 __ 토큰을 사용하여 표현됩니다.
글을 마치며…
환경변수 지원은 지난주 출시된 신형 리눅스 .NET Core 플랫폼과 2020년 6월 29일 출시된 윈도 .NET 플랫폼 버전 2.5.7로 이용할 수 있습니다. 이러한 플랫폼에 대한 자세한 내용은 Elastic Beanstalk 개발자 가이드를 참고해 주시기 바랍니다.
원문URL:https://aws.amazon.com/ko/blogs/developer/environment-variables-with-net-core-and-elastic-beanstalk/
** 메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.