를 사용한 Elastic Beanstalk 예제 AWS CLI - AWS SDK 코드 예제

AWS Doc SDK ExamplesWord AWS SDK 리포지토리에는 더 많은 GitHub 예제가 있습니다.

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

를 사용한 Elastic Beanstalk 예제 AWS CLI

다음 코드 예제에서는 Elastic Beanstalk와 AWS Command Line Interface 함께를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 abort-environment-update을 사용하는 방법을 보여 줍니다.

AWS CLI

배포를 중단하려면

다음 명령은 라는 환경에 대해 실행 중인 애플리케이션 버전 배포를 중단합니다my-env.

aws elasticbeanstalk abort-environment-update --environment-name my-env

다음 코드 예시에서는 check-dns-availability을 사용하는 방법을 보여 줍니다.

AWS CLI

CNAME의 가용성을 확인하려면

다음 명령은 하위 도메인의 가용성을 확인합니다my-cname.elasticbeanstalk.com.

aws elasticbeanstalk check-dns-availability --cname-prefix my-cname

출력:

{ "Available": true, "FullyQualifiedCNAME": "my-cname.elasticbeanstalk.com" }

다음 코드 예시에서는 create-application-version을 사용하는 방법을 보여 줍니다.

AWS CLI

새 애플리케이션 버전을 생성하려면

다음 명령은 'MyApp'라는 애플리케이션의 새 버전 'v1'을 생성합니다.

aws elasticbeanstalk create-application-version --application-name MyApp --version-label v1 --description MyAppv1 --source-bundle S3Bucket="my-bucket",S3Key="sample.war" --auto-create-application

auto-create-application 옵션으로 인해 애플리케이션이 아직 존재하지 않는 경우 자동으로 생성됩니다. 소스 번들은 Apache Tomcat 샘플 애플리케이션이 포함된 'my-bucket'이라는 s3 버킷에 저장된 .war 파일입니다.

출력:

{ "ApplicationVersion": { "ApplicationName": "MyApp", "VersionLabel": "v1", "Description": "MyAppv1", "DateCreated": "2015-02-03T23:01:25.412Z", "DateUpdated": "2015-02-03T23:01:25.412Z", "SourceBundle": { "S3Bucket": "my-bucket", "S3Key": "sample.war" } } }

다음 코드 예시에서는 create-application을 사용하는 방법을 보여 줍니다.

AWS CLI

새 애플리케이션을 생성하려면

다음 명령은 'MyApp'라는 새 애플리케이션을 생성합니다.

aws elasticbeanstalk create-application --application-name MyApp --description "my application"

create-application 명령은 애플리케이션의 이름과 설명만 구성합니다. 애플리케이션의 소스 코드를 업로드하려면를 사용하여 애플리케이션의 초기 버전을 생성합니다create-application-version. 에는 애플리케이션과 애플리케이션 버전을 한 번에 생성할 수 있는 auto-create-application 옵션create-application-version도 있습니다.

출력:

{ "Application": { "ApplicationName": "MyApp", "ConfigurationTemplates": [], "DateUpdated": "2015-02-12T18:32:21.181Z", "Description": "my application", "DateCreated": "2015-02-12T18:32:21.181Z" } }
  • API 세부 정보는 AWS CLI 명령 참조CreateApplication를 참조하세요.

다음 코드 예시에서는 create-configuration-template을 사용하는 방법을 보여 줍니다.

AWS CLI

구성 템플릿을 생성하려면

다음 명령은 id를 사용하여 환경에 적용된 설정my-app-v1에서 라는 구성 템플릿을 생성합니다e-rpqsewtp2j.

aws elasticbeanstalk create-configuration-template --application-name my-app --template-name my-app-v1 --environment-id e-rpqsewtp2j

출력:

{ "ApplicationName": "my-app", "TemplateName": "my-app-v1", "DateCreated": "2015-08-12T18:40:39Z", "DateUpdated": "2015-08-12T18:40:39Z", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8" }

다음 코드 예시에서는 create-environment을 사용하는 방법을 보여 줍니다.

AWS CLI

애플리케이션에 대한 새 환경을 생성하려면

다음 명령은 'my-app'이라는 java 애플리케이션의 버전 'v1'에 대한 새 환경을 생성합니다.

aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --cname-prefix my-app --version-label v1 --solution-stack-name "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8"

출력:

{ "ApplicationName": "my-app", "EnvironmentName": "my-env", "VersionLabel": "v1", "Status": "Launching", "EnvironmentId": "e-izqpassy4h", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", "CNAME": "my-app.elasticbeanstalk.com", "Health": "Grey", "Tier": { "Type": "Standard", "Name": "WebServer", "Version": " " }, "DateUpdated": "2015-02-03T23:04:54.479Z", "DateCreated": "2015-02-03T23:04:54.479Z" }

v1는 이전에 create-application-version로 업로드된 애플리케이션 버전의 레이블입니다.

환경 구성 옵션을 정의할 JSON 파일을 지정하려면

다음 create-environment 명령은 이름이 인 JSON 파일을 myoptions.json 사용하여 솔루션 스택 또는 구성 템플릿에서 얻은 값을 재정의하도록 지정합니다.

aws elasticbeanstalk create-environment --environment-name sample-env --application-name sampleapp --option-settings file://myoptions.json

myoptions.json는 여러 설정을 정의하는 JSON 객체입니다.

[ { "Namespace": "aws:elb:healthcheck", "OptionName": "Interval", "Value": "15" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "Timeout", "Value": "8" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "HealthyThreshold", "Value": "2" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "UnhealthyThreshold", "Value": "3" } ]

자세한 내용은 AWS Elastic Beanstalk 개발자 안내서의 옵션 값을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateEnvironment를 참조하세요.

다음 코드 예시에서는 create-storage-location을 사용하는 방법을 보여 줍니다.

AWS CLI

스토리지 위치를 생성하려면

다음 명령은 Amazon S3에 스토리지 위치를 생성합니다.

aws elasticbeanstalk create-storage-location

출력:

{ "S3Bucket": "elasticbeanstalk-us-west-2-0123456789012" }

다음 코드 예시에서는 delete-application-version을 사용하는 방법을 보여 줍니다.

AWS CLI

애플리케이션 버전을 삭제하려면

다음 명령은 라는 애플리케이션에 22a0-stage-150819_182129 대해 라는 애플리케이션 버전을 삭제합니다my-app.

aws elasticbeanstalk delete-application-version --version-label 22a0-stage-150819_182129 --application-name my-app

다음 코드 예시에서는 delete-application을 사용하는 방법을 보여 줍니다.

AWS CLI

애플리케이션 삭제

다음 명령은 라는 애플리케이션을 삭제합니다my-app.

aws elasticbeanstalk delete-application --application-name my-app
  • API 세부 정보는 AWS CLI 명령 참조DeleteApplication를 참조하세요.

다음 코드 예시에서는 delete-configuration-template을 사용하는 방법을 보여 줍니다.

AWS CLI

구성 템플릿을 삭제하려면

다음 명령은 라는 애플리케이션에 my-template 대한 라는 구성 템플릿을 삭제합니다my-app.

aws elasticbeanstalk delete-configuration-template --template-name my-template --application-name my-app

다음 코드 예시에서는 delete-environment-configuration을 사용하는 방법을 보여 줍니다.

AWS CLI

초안 구성을 삭제하려면

다음 명령은 이라는 환경에 대한 초안 구성을 삭제합니다my-env.

aws elasticbeanstalk delete-environment-configuration --environment-name my-env --application-name my-app

다음 코드 예시에서는 describe-application-versions을 사용하는 방법을 보여 줍니다.

AWS CLI

애플리케이션 버전에 대한 정보를 보려면

다음 명령은 레이블이 지정된 애플리케이션 버전에 대한 정보를 검색합니다. v2

aws elasticbeanstalk describe-application-versions --application-name my-app --version-label "v2"

출력:

{ "ApplicationVersions": [ { "ApplicationName": "my-app", "VersionLabel": "v2", "Description": "update cover page", "DateCreated": "2015-07-23T01:32:26.079Z", "DateUpdated": "2015-07-23T01:32:26.079Z", "SourceBundle": { "S3Bucket": "elasticbeanstalk-us-west-2-015321684451", "S3Key": "my-app/5026-stage-150723_224258.war" } }, { "ApplicationName": "my-app", "VersionLabel": "v1", "Description": "initial version", "DateCreated": "2015-07-23T22:26:10.816Z", "DateUpdated": "2015-07-23T22:26:10.816Z", "SourceBundle": { "S3Bucket": "elasticbeanstalk-us-west-2-015321684451", "S3Key": "my-app/5026-stage-150723_222618.war" } } ] }

다음 코드 예시에서는 describe-applications을 사용하는 방법을 보여 줍니다.

AWS CLI

애플리케이션 목록을 보려면

다음 명령은 현재 리전의 애플리케이션에 대한 정보를 검색합니다.

aws elasticbeanstalk describe-applications

출력:

{ "Applications": [ { "ApplicationName": "ruby", "ConfigurationTemplates": [], "DateUpdated": "2015-08-13T21:05:44.376Z", "Versions": [ "Sample Application" ], "DateCreated": "2015-08-13T21:05:44.376Z" }, { "ApplicationName": "pythonsample", "Description": "Application created from the EB CLI using \"eb init\"", "Versions": [ "Sample Application" ], "DateCreated": "2015-08-13T19:05:43.637Z", "ConfigurationTemplates": [], "DateUpdated": "2015-08-13T19:05:43.637Z" }, { "ApplicationName": "nodejs-example", "ConfigurationTemplates": [], "DateUpdated": "2015-08-06T17:50:02.486Z", "Versions": [ "add elasticache", "First Release" ], "DateCreated": "2015-08-06T17:50:02.486Z" } ] }

다음 코드 예시에서는 describe-configuration-options을 사용하는 방법을 보여 줍니다.

AWS CLI

환경에 대한 구성 옵션을 보려면

다음 명령은 이라는 환경에 사용 가능한 모든 구성 옵션에 대한 설명을 검색합니다my-env.

aws elasticbeanstalk describe-configuration-options --environment-name my-env --application-name my-app

출력(약식):

{ "Options": [ { "Name": "JVMOptions", "UserDefined": false, "DefaultValue": "Xms=256m,Xmx=256m,XX:MaxPermSize=64m,JVM Options=", "ChangeSeverity": "RestartApplicationServer", "Namespace": "aws:cloudformation:template:parameter", "ValueType": "KeyValueList" }, { "Name": "Interval", "UserDefined": false, "DefaultValue": "30", "ChangeSeverity": "NoInterruption", "Namespace": "aws:elb:healthcheck", "MaxValue": 300, "MinValue": 5, "ValueType": "Scalar" }, ... { "Name": "LowerThreshold", "UserDefined": false, "DefaultValue": "2000000", "ChangeSeverity": "NoInterruption", "Namespace": "aws:autoscaling:trigger", "MinValue": 0, "ValueType": "Scalar" }, { "Name": "ListenerEnabled", "UserDefined": false, "DefaultValue": "true", "ChangeSeverity": "Unknown", "Namespace": "aws:elb:listener", "ValueType": "Boolean" } ] }

사용 가능한 구성 옵션은 플랫폼 및 구성 버전에 따라 다릅니다. 네임스페이스 및 지원되는 옵션에 대한 자세한 내용은 AWS Elastic Beanstalk 개발자 안내서의 옵션 값을 참조하세요.

다음 코드 예시에서는 describe-configuration-settings을 사용하는 방법을 보여 줍니다.

AWS CLI

환경에 대한 구성 설정을 보려면

다음 명령은 라는 환경에 대한 구성 설정을 검색합니다my-env.

aws elasticbeanstalk describe-configuration-settings --environment-name my-env --application-name my-app

출력(약식):

{ "ConfigurationSettings": [ { "ApplicationName": "my-app", "EnvironmentName": "my-env", "Description": "Environment created from the EB CLI using \"eb create\"", "DeploymentStatus": "deployed", "DateCreated": "2015-08-13T19:16:25Z", "OptionSettings": [ { "OptionName": "Availability Zones", "ResourceName": "AWSEBAutoScalingGroup", "Namespace": "aws:autoscaling:asg", "Value": "Any" }, { "OptionName": "Cooldown", "ResourceName": "AWSEBAutoScalingGroup", "Namespace": "aws:autoscaling:asg", "Value": "360" }, ... { "OptionName": "ConnectionDrainingTimeout", "ResourceName": "AWSEBLoadBalancer", "Namespace": "aws:elb:policies", "Value": "20" }, { "OptionName": "ConnectionSettingIdleTimeout", "ResourceName": "AWSEBLoadBalancer", "Namespace": "aws:elb:policies", "Value": "60" } ], "DateUpdated": "2015-08-13T23:30:07Z", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8" } ] }

네임스페이스 및 지원되는 옵션에 대한 자세한 내용은 AWS Elastic Beanstalk 개발자 안내서의 옵션 값을 참조하세요.

다음 코드 예시에서는 describe-environment-health을 사용하는 방법을 보여 줍니다.

AWS CLI

환경 상태를 보려면

다음 명령은 이라는 환경에 대한 전체 상태 정보를 검색합니다my-env.

aws elasticbeanstalk describe-environment-health --environment-name my-env --attribute-names All

출력:

{ "Status": "Ready", "EnvironmentName": "my-env", "Color": "Green", "ApplicationMetrics": { "Duration": 10, "Latency": { "P99": 0.004, "P75": 0.002, "P90": 0.003, "P95": 0.004, "P85": 0.003, "P10": 0.001, "P999": 0.004, "P50": 0.001 }, "RequestCount": 45, "StatusCodes": { "Status3xx": 0, "Status2xx": 45, "Status5xx": 0, "Status4xx": 0 } }, "RefreshedAt": "2015-08-20T21:09:18Z", "HealthStatus": "Ok", "InstancesHealth": { "Info": 0, "Ok": 1, "Unknown": 0, "Severe": 0, "Warning": 0, "Degraded": 0, "NoData": 0, "Pending": 0 }, "Causes": [] }

상태 정보는 향상된 상태 보고가 활성화된 환경에서만 사용할 수 있습니다. 자세한 내용은 AWS Elastic Beanstalk 개발자 안내서의 향상된 상태 보고 및 모니터링을 참조하세요.

다음 코드 예시에서는 describe-environment-resources을 사용하는 방법을 보여 줍니다.

AWS CLI

환경의 AWS 리소스에 대한 정보를 보려면

다음 명령은 이라는 환경의 리소스에 대한 정보를 검색합니다my-env.

aws elasticbeanstalk describe-environment-resources --environment-name my-env

출력:

{ "EnvironmentResources": { "EnvironmentName": "my-env", "AutoScalingGroups": [ { "Name": "awseb-e-qu3fyyjyjs-stack-AWSEBAutoScalingGroup-QSB2ZO88SXZT" } ], "Triggers": [], "LoadBalancers": [ { "Name": "awseb-e-q-AWSEBLoa-1EEPZ0K98BIF0" } ], "Queues": [], "Instances": [ { "Id": "i-0c91c786" } ], "LaunchConfigurations": [ { "Name": "awseb-e-qu3fyyjyjs-stack-AWSEBAutoScalingLaunchConfiguration-1UUVQIBC96TQ2" } ] } }

다음 코드 예시에서는 describe-environments을 사용하는 방법을 보여 줍니다.

AWS CLI

환경에 대한 정보를 보려면

다음 명령은 이라는 환경에 대한 정보를 검색합니다my-env.

aws elasticbeanstalk describe-environments --environment-names my-env

출력:

{ "Environments": [ { "ApplicationName": "my-app", "EnvironmentName": "my-env", "VersionLabel": "7f58-stage-150812_025409", "Status": "Ready", "EnvironmentId": "e-rpqsewtp2j", "EndpointURL": "awseb-e-w-AWSEBLoa-1483140XB0Q4L-109QXY8121.us-west-2.elb.amazonaws.com", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", "CNAME": "my-env.elasticbeanstalk.com", "Health": "Green", "AbortableOperationInProgress": false, "Tier": { "Version": " ", "Type": "Standard", "Name": "WebServer" }, "DateUpdated": "2015-08-12T18:16:55.019Z", "DateCreated": "2015-08-07T20:48:49.599Z" } ] }

다음 코드 예시에서는 describe-events을 사용하는 방법을 보여 줍니다.

AWS CLI

환경에 대한 이벤트를 보려면

다음 명령은 이라는 환경에 대한 이벤트를 검색합니다. my-env

aws elasticbeanstalk describe-events --environment-name my-env

출력(약식):

{ "Events": [ { "ApplicationName": "my-app", "EnvironmentName": "my-env", "Message": "Environment health has transitioned from Info to Ok.", "EventDate": "2015-08-20T07:06:53.535Z", "Severity": "INFO" }, { "ApplicationName": "my-app", "EnvironmentName": "my-env", "Severity": "INFO", "RequestId": "b7f3960b-4709-11e5-ba1e-07e16200da41", "Message": "Environment update completed successfully.", "EventDate": "2015-08-20T07:06:02.049Z" }, ... { "ApplicationName": "my-app", "EnvironmentName": "my-env", "Severity": "INFO", "RequestId": "ca8dfbf6-41ef-11e5-988b-651aa638f46b", "Message": "Using elasticbeanstalk-us-west-2-012445113685 as Amazon S3 storage bucket for environment data.", "EventDate": "2015-08-13T19:16:27.561Z" }, { "ApplicationName": "my-app", "EnvironmentName": "my-env", "Severity": "INFO", "RequestId": "cdfba8f6-41ef-11e5-988b-65638f41aa6b", "Message": "createEnvironment is starting.", "EventDate": "2015-08-13T19:16:26.581Z" } ] }
  • API 세부 정보는 AWS CLI 명령 참조DescribeEvents를 참조하세요.

다음 코드 예시에서는 describe-instances-health을 사용하는 방법을 보여 줍니다.

AWS CLI

환경 상태를 보려면

다음 명령은 이라는 환경의 인스턴스에 대한 상태 정보를 검색합니다my-env.

aws elasticbeanstalk describe-instances-health --environment-name my-env --attribute-names All

출력:

{ "InstanceHealthList": [ { "InstanceId": "i-08691cc7", "ApplicationMetrics": { "Duration": 10, "Latency": { "P99": 0.006, "P75": 0.002, "P90": 0.004, "P95": 0.005, "P85": 0.003, "P10": 0.0, "P999": 0.006, "P50": 0.001 }, "RequestCount": 48, "StatusCodes": { "Status3xx": 0, "Status2xx": 47, "Status5xx": 0, "Status4xx": 1 } }, "System": { "LoadAverage": [ 0.0, 0.02, 0.05 ], "CPUUtilization": { "SoftIRQ": 0.1, "IOWait": 0.2, "System": 0.3, "Idle": 97.8, "User": 1.5, "IRQ": 0.0, "Nice": 0.1 } }, "Color": "Green", "HealthStatus": "Ok", "LaunchedAt": "2015-08-13T19:17:09Z", "Causes": [] } ], "RefreshedAt": "2015-08-20T21:09:08Z" }

상태 정보는 향상된 상태 보고가 활성화된 환경에서만 사용할 수 있습니다. 자세한 내용은 AWS Elastic Beanstalk 개발자 안내서의 향상된 상태 보고 및 모니터링을 참조하세요.

다음 코드 예시에서는 list-available-solution-stacks을 사용하는 방법을 보여 줍니다.

AWS CLI

솔루션 스택을 보려면

다음 명령은 현재 사용 가능한 모든 플랫폼 구성과 과거에 사용한 모든에 대한 솔루션 스택을 나열합니다.

aws elasticbeanstalk list-available-solution-stacks

출력(약식):

{ "SolutionStacks": [ "64bit Amazon Linux 2015.03 v2.0.0 running Node.js", "64bit Amazon Linux 2015.03 v2.0.0 running PHP 5.6", "64bit Amazon Linux 2015.03 v2.0.0 running PHP 5.5", "64bit Amazon Linux 2015.03 v2.0.0 running PHP 5.4", "64bit Amazon Linux 2015.03 v2.0.0 running Python 3.4", "64bit Amazon Linux 2015.03 v2.0.0 running Python 2.7", "64bit Amazon Linux 2015.03 v2.0.0 running Python", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.2 (Puma)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.2 (Passenger Standalone)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.1 (Puma)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.1 (Passenger Standalone)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.0 (Puma)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.0 (Passenger Standalone)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 1.9.3", "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 7 Java 7", "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 7 Java 6", "64bit Windows Server Core 2012 R2 running IIS 8.5", "64bit Windows Server 2012 R2 running IIS 8.5", "64bit Windows Server 2012 running IIS 8", "64bit Windows Server 2008 R2 running IIS 7.5", "64bit Amazon Linux 2015.03 v2.0.0 running Docker 1.6.2", "64bit Amazon Linux 2015.03 v2.0.0 running Multi-container Docker 1.6.2 (Generic)", "64bit Debian jessie v2.0.0 running GlassFish 4.1 Java 8 (Preconfigured - Docker)", "64bit Debian jessie v2.0.0 running GlassFish 4.0 Java 7 (Preconfigured - Docker)", "64bit Debian jessie v2.0.0 running Go 1.4 (Preconfigured - Docker)", "64bit Debian jessie v2.0.0 running Go 1.3 (Preconfigured - Docker)", "64bit Debian jessie v2.0.0 running Python 3.4 (Preconfigured - Docker)", ], "SolutionStackDetails": [ { "PermittedFileTypes": [ "zip" ], "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Node.js" }, ... ] }

다음 코드 예시에서는 rebuild-environment을 사용하는 방법을 보여 줍니다.

AWS CLI

환경을 다시 빌드하려면

다음 명령은 라는 환경에서 리소스를 종료하고 다시 생성합니다. my-env

aws elasticbeanstalk rebuild-environment --environment-name my-env

다음 코드 예시에서는 request-environment-info을 사용하는 방법을 보여 줍니다.

AWS CLI

테일 로그를 요청하려면

다음 명령은 이라는 환경에서 로그를 요청합니다my-env.

aws elasticbeanstalk request-environment-info --environment-name my-env --info-type tail

로그를 요청한 후 retrieve-environment-info를 사용하여 해당 위치를 검색합니다.

다음 코드 예시에서는 restart-app-server을 사용하는 방법을 보여 줍니다.

AWS CLI

애플리케이션 서버를 다시 시작하려면

다음 명령은 라는 환경의 모든 인스턴스에서 애플리케이션 서버를 다시 시작합니다my-env.

aws elasticbeanstalk restart-app-server --environment-name my-env
  • API 세부 정보는 AWS CLI 명령 참조RestartAppServer를 참조하세요.

다음 코드 예시에서는 retrieve-environment-info을 사용하는 방법을 보여 줍니다.

AWS CLI

테일 로그를 검색하려면

다음 명령은 이라는 환경에서 로그에 대한 링크를 검색합니다my-env.

aws elasticbeanstalk retrieve-environment-info --environment-name my-env --info-type tail

출력:

{ "EnvironmentInfo": [ { "SampleTimestamp": "2015-08-20T22:23:17.703Z", "Message": "https://elasticbeanstalk-us-west-2-0123456789012.s3.amazonaws.com/resources/environments/logs/tail/e-fyqyju3yjs/i-09c1c867/TailLogs-1440109397703.out?AWSAccessKeyId=AKGPT4J56IAJ2EUBL5CQ&Expires=1440195891&Signature=n%2BEalOV6A2HIOx4Rcfb7LT16bBM%3D", "InfoType": "tail", "Ec2InstanceId": "i-09c1c867" } ] }

브라우저에서 링크를 봅니다. 검색하기 전에 request-environment-info에서 로그를 요청해야 합니다.

다음 코드 예시에서는 swap-environment-cnames을 사용하는 방법을 보여 줍니다.

AWS CLI

환경 CNAMES를 바꾸려면

다음 명령은 두 환경의 할당된 하위 도메인을 교체합니다.

aws elasticbeanstalk swap-environment-cnames --source-environment-name my-env-blue --destination-environment-name my-env-green

다음 코드 예시에서는 terminate-environment을 사용하는 방법을 보여 줍니다.

AWS CLI

환경을 종료하려면

다음 명령은 라는 Elastic Beanstalk 환경을 종료합니다my-env.

aws elasticbeanstalk terminate-environment --environment-name my-env

출력:

{ "ApplicationName": "my-app", "EnvironmentName": "my-env", "Status": "Terminating", "EnvironmentId": "e-fh2eravpns", "EndpointURL": "awseb-e-f-AWSEBLoa-1I9XUMP4-8492WNUP202574.us-west-2.elb.amazonaws.com", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", "CNAME": "my-env.elasticbeanstalk.com", "Health": "Grey", "AbortableOperationInProgress": false, "Tier": { "Version": " ", "Type": "Standard", "Name": "WebServer" }, "DateUpdated": "2015-08-12T19:05:54.744Z", "DateCreated": "2015-08-12T18:52:53.622Z" }

다음 코드 예시에서는 update-application-version을 사용하는 방법을 보여 줍니다.

AWS CLI

애플리케이션 버전의 설명을 변경하려면

다음 명령은 라는 애플리케이션 버전에 대한 설명을 업데이트합니다22a0-stage-150819_185942.

aws elasticbeanstalk update-application-version --version-label 22a0-stage-150819_185942 --application-name my-app --description "new description"

출력:

{ "ApplicationVersion": { "ApplicationName": "my-app", "VersionLabel": "22a0-stage-150819_185942", "Description": "new description", "DateCreated": "2015-08-19T18:59:17.646Z", "DateUpdated": "2015-08-20T22:53:28.871Z", "SourceBundle": { "S3Bucket": "elasticbeanstalk-us-west-2-0123456789012", "S3Key": "my-app/22a0-stage-150819_185942.war" } } }

다음 코드 예시에서는 update-application을 사용하는 방법을 보여 줍니다.

AWS CLI

애플리케이션의 설명을 변경하려면

다음 명령은 라는 애플리케이션의 설명을 업데이트합니다my-app.

aws elasticbeanstalk update-application --application-name my-app --description "my Elastic Beanstalk application"

출력:

{ "Application": { "ApplicationName": "my-app", "Description": "my Elastic Beanstalk application", "Versions": [ "2fba-stage-150819_234450", "bf07-stage-150820_214945", "93f8", "fd7c-stage-150820_000431", "22a0-stage-150819_185942" ], "DateCreated": "2015-08-13T19:15:50.449Z", "ConfigurationTemplates": [], "DateUpdated": "2015-08-20T22:34:56.195Z" } }
  • API 세부 정보는 AWS CLI 명령 참조UpdateApplication를 참조하세요.

다음 코드 예시에서는 update-configuration-template을 사용하는 방법을 보여 줍니다.

AWS CLI

구성 템플릿을 업데이트하려면

다음 명령은 라는 저장된 구성 템플릿ConfigDocument에서 configured CloudWatch 사용자 지정 상태 지표 구성을 제거합니다my-template.

aws elasticbeanstalk update-configuration-template --template-name my-template --application-name my-app --options-to-remove Namespace=aws:elasticbeanstalk:healthreporting:system,OptionName=ConfigDocument

출력:

{ "ApplicationName": "my-app", "TemplateName": "my-template", "DateCreated": "2015-08-20T22:39:31Z", "DateUpdated": "2015-08-20T22:43:11Z", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8" }

네임스페이스 및 지원되는 옵션에 대한 자세한 내용은 AWS Elastic Beanstalk 개발자 안내서의 옵션 값을 참조하세요.

다음 코드 예시에서는 update-environment을 사용하는 방법을 보여 줍니다.

AWS CLI

환경을 새 버전으로 업데이트하려면

다음 명령은 'my-env'라는 환경을 속한 애플리케이션의 버전 'v2'로 업데이트합니다.

aws elasticbeanstalk update-environment --environment-name my-env --version-label v2

이 명령을 사용하려면 'my-env' 환경이 이미 존재하고 레이블이 'v2'인 유효한 애플리케이션 버전이 있는 애플리케이션에 속해야 합니다.

출력:

{ "ApplicationName": "my-app", "EnvironmentName": "my-env", "VersionLabel": "v2", "Status": "Updating", "EnvironmentId": "e-szqipays4h", "EndpointURL": "awseb-e-i-AWSEBLoa-1RDLX6TC9VUAO-0123456789.us-west-2.elb.amazonaws.com", "SolutionStackName": "64bit Amazon Linux running Tomcat 7", "CNAME": "my-env.elasticbeanstalk.com", "Health": "Grey", "Tier": { "Version": " ", "Type": "Standard", "Name": "WebServer" }, "DateUpdated": "2015-02-03T23:12:29.119Z", "DateCreated": "2015-02-03T23:04:54.453Z" }

환경 변수를 설정하려면

다음 명령은 'my-env' 환경의 'PARAM1' 변수 값을 'ParamValue'로 설정합니다.

aws elasticbeanstalk update-environment --environment-name my-env --option-settings Namespace=aws:elasticbeanstalk:application:environment,OptionName=PARAM1,Value=ParamValue

option-settings 파라미터는 변수의 이름과 값 외에도 네임스페이스를 사용합니다. Elastic Beanstalk는 환경 변수 외에도 옵션에 대한 여러 네임스페이스를 지원합니다.

파일에서 옵션 설정을 구성하려면

다음 명령은 파일에서 aws:elb:loadbalancer 네임스페이스의 여러 옵션을 구성합니다.

aws elasticbeanstalk update-environment --environment-name my-env --option-settings file://options.json

options.json는 여러 설정을 정의하는 JSON 객체입니다.

[ { "Namespace": "aws:elb:healthcheck", "OptionName": "Interval", "Value": "15" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "Timeout", "Value": "8" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "HealthyThreshold", "Value": "2" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "UnhealthyThreshold", "Value": "3" } ]

출력:

{ "ApplicationName": "my-app", "EnvironmentName": "my-env", "VersionLabel": "7f58-stage-150812_025409", "Status": "Updating", "EnvironmentId": "e-wtp2rpqsej", "EndpointURL": "awseb-e-w-AWSEBLoa-14XB83101Q4L-104QXY80921.sa-east-1.elb.amazonaws.com", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", "CNAME": "my-env.elasticbeanstalk.com", "Health": "Grey", "AbortableOperationInProgress": true, "Tier": { "Version": " ", "Type": "Standard", "Name": "WebServer" }, "DateUpdated": "2015-08-12T18:15:23.804Z", "DateCreated": "2015-08-07T20:48:49.599Z" }

네임스페이스 및 지원되는 옵션에 대한 자세한 내용은 AWS Elastic Beanstalk 개발자 안내서의 옵션 값을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조UpdateEnvironment를 참조하세요.

다음 코드 예시에서는 validate-configuration-settings을 사용하는 방법을 보여 줍니다.

AWS CLI

구성 설정을 검증하려면

다음 명령은 a CloudWatch 사용자 지정 지표 구성 문서를 검증합니다.

aws elasticbeanstalk validate-configuration-settings --application-name my-app --environment-name my-env --option-settings file://options.json

options.json는 검증할 하나 이상의 구성 설정을 포함하는 JSON 문서입니다.

[ { "Namespace": "aws:elasticbeanstalk:healthreporting:system", "OptionName": "ConfigDocument", "Value": "{\"CloudWatchMetrics\": {\"Environment\": {\"ApplicationLatencyP99.9\": null,\"InstancesSevere\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": null,\"ApplicationLatencyP95\": 60,\"InstancesUnknown\": 60,\"ApplicationLatencyP85\": 60,\"InstancesInfo\": null,\"ApplicationRequests2xx\": null,\"InstancesDegraded\": null,\"InstancesWarning\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": null,\"InstancesNoData\": null,\"InstancesPending\": 60,\"ApplicationLatencyP10\": null,\"ApplicationRequests5xx\": null,\"ApplicationLatencyP75\": null,\"InstancesOk\": 60,\"ApplicationRequests3xx\": null,\"ApplicationRequests4xx\": null},\"Instance\": {\"ApplicationLatencyP99.9\": null,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": null,\"ApplicationLatencyP95\": null,\"ApplicationLatencyP85\": null,\"CPUUser\": 60,\"ApplicationRequests2xx\": null,\"CPUIdle\": null,\"ApplicationLatencyP50\": null,\"ApplicationRequestsTotal\": 60,\"RootFilesystemUtil\": null,\"LoadAverage1min\": null,\"CPUIrq\": null,\"CPUNice\": 60,\"CPUIowait\": 60,\"ApplicationLatencyP10\": null,\"LoadAverage5min\": null,\"ApplicationRequests5xx\": null,\"ApplicationLatencyP75\": 60,\"CPUSystem\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": null,\"InstanceHealth\": null,\"CPUSoftirq\": 60}},\"Version\": 1}" } ]

지정한 옵션이 지정된 환경에 유효한 경우 Elastic Beanstalk는 빈 메시지 배열을 반환합니다.

{ "Messages": [] }

검증에 실패하면 응답에 오류에 대한 정보가 포함됩니다.

{ "Messages": [ { "OptionName": "ConfigDocumet", "Message": "Invalid option specification (Namespace: 'aws:elasticbeanstalk:healthreporting:system', OptionName: 'ConfigDocumet'): Unknown configuration setting.", "Namespace": "aws:elasticbeanstalk:healthreporting:system", "Severity": "error" } ] }

네임스페이스 및 지원되는 옵션에 대한 자세한 내용은 AWS Elastic Beanstalk 개발자 안내서의 옵션 값을 참조하세요.