기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
예: ElastiCache
다음 샘플은 EC2-Classic 및 EC2-VPC(기본 및 사용자 지정 Amazon Virtual Private Cloud(Amazon VPC)) 플랫폼에 Amazon ElastiCache 클러스터를 추가합니다. 이러한 플랫폼에 대한 자세한 내용과 EC2에서 사용자의 리전 및 AWS 계정에 대해 지원하는 플랫폼을 확인하는 방법은 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html 단원을 참조하세요. 그런 다음 사용 중인 플랫폼에 적용되는 이 주제의 단원을 참조하십시오.
EC2-Classic 플랫폼
이 샘플은 EC2-Classic 플랫폼으로 시작된 인스턴스가 있는 환경에 Amazon ElastiCache 클러스터를 추가합니다. 이 예제에서 보이는 모든 속성은 이러한 각 리소스 유형에 대해 설정해야 하는 최소 필수 속성입니다. ElastiCache 예제
참고
이 예에서는 요금이 부과될 수 있는 AWS 리소스를 생성합니다. AWS 요금에 대한 자세한 내용은 https://aws.amazon.com/pricing/
이 예를 활용하려면 다음과 같이 하세요.
소스 번들의 최상위 디렉터리에
.ebextensions
디렉터리를 생성합니다.확장자
.config
로 구성 파일 두 개를 생성하고.ebextensions
디렉터리로 가져옵니다. 구성 파일 하나는 리소스를 정의하고 다른 하나는 옵션을 정의합니다.Elastic Beanstalk에 애플리케이션을 배포합니다.
YAML은 일정한 들여쓰기를 사용합니다. 예제 구성 파일의 콘텐츠를 바꿀 때 들여쓰기 레벨을 일치시키고, 텍스트 편집기가 탭 문자 대신 공백을 사용해 들여쓰기를 하도록 합니다.
리소스를 정의하는 구성 파일(예: elasticache.config
)을 생성합니다. 이 예제에서는 ElastiCache 클러스터 리소스(MyElastiCache
)의 이름을 지정하고, 해당 리소스의 유형을 선언한 다음 클러스터의 속성을 구성하여 ElastiCache 클러스터를 생성합니다. 또한 이 구성 파일에서 생성 및 정의되는 ElastiCache 보안 그룹 리소스의 이름을 참조합니다. 다음으로 ElastiCache 보안 그룹을 생성합니다. 이 리소스의 이름을 정의하고, 리소스의 유형을 선언한 다음 보안 그룹에 대한 설명을 추가합니다. 마지막으로, ElastiCache 보안 그룹(MyCacheSecurityGroup
) 및 Elastic Beanstalk 보안 그룹(AWSEBSecurityGroup
) 내 인스턴스에서의 액세스만 허용하도록 ElastiCache 보안 그룹에 대한 수신 규칙을 설정합니다. 파라미터 이름 AWSEBSecurityGroup
은 Elastic Beanstalk에서 제공하는 고정된 리소스 이름입니다. Elastic Beanstalk 애플리케이션에서 ElastiCache 클러스터의 인스턴스에 연결하도록 하려면 ElastiCache 보안 그룹 수신 규칙에 AWSEBSecurityGroup
을 추가해야 합니다.
#This sample requires you to create a separate configuration file that defines the custom option settings for CacheCluster properties.
Resources:
MyElastiCache:
Type: AWS::ElastiCache::CacheCluster
Properties:
CacheNodeType:
Fn::GetOptionSetting:
OptionName : CacheNodeType
DefaultValue: cache.m1.small
NumCacheNodes:
Fn::GetOptionSetting:
OptionName : NumCacheNodes
DefaultValue: 1
Engine:
Fn::GetOptionSetting:
OptionName : Engine
DefaultValue: memcached
CacheSecurityGroupNames:
- Ref: MyCacheSecurityGroup
MyCacheSecurityGroup:
Type: AWS::ElastiCache::SecurityGroup
Properties:
Description: "Lock cache down to webserver access only"
MyCacheSecurityGroupIngress:
Type: AWS::ElastiCache::SecurityGroupIngress
Properties:
CacheSecurityGroupName:
Ref: MyCacheSecurityGroup
EC2SecurityGroupName:
Ref: AWSEBSecurityGroup
이 구성 파일 예제에서 사용된 리소스에 대한 자세한 내용은 다음 참조를 참조하십시오.
options.config
라는 별개의 구성 파일을 생성하고, 사용자 지정 옵션 설정을 정의합니다.
option_settings:
"aws:elasticbeanstalk:customoption":
CacheNodeType : cache.m1.small
NumCacheNodes : 1
Engine : memcached
이러한 행은 사용할 실제 값의 이름-값 페어가 포함된 aws:elasticbeanstalk:customoption 섹션과 함께 option_settings 섹션이 포함된 구성 파일(이 예제의 options.config)의 CacheNodeType, NumCacheNodes, and Engine 값에서 CacheNodeType, NumCacheNodes, and Engine 속성의 값을 가져오라고 ElasticBeanstalk에 지시합니다. 위 예제에서 이는 cache.m1.small 즉, 1을 뜻하며 Memcached가 이 값에 사용됩니다. Fn::GetOptionSetting
에 대한 자세한 정보는 함수 섹션을 참조하십시오.
EC2-VPC(기본값)
이 샘플은 EC2-VPC 플랫폼으로 시작된 인스턴스가 있는 환경에 Amazon ElastiCache 클러스터를 추가합니다. 특히, 이 섹션의 정보는 EC2가 인스턴스를 기본 VPC로 시작하는 시나리오에 적용됩니다. 이 예제의 모든 속성은 이러한 각 리소스 유형에 대해 설정해야 하는 최소 필수 속성입니다. 기본 VPC에 대한 자세한 내용은 기본 VPC 및 서브넷 단원을 참조하세요.
참고
이 예에서는 요금이 부과될 수 있는 AWS 리소스를 생성합니다. AWS 요금에 대한 자세한 내용은 https://aws.amazon.com/pricing/
이 예를 활용하려면 다음과 같이 하세요.
소스 번들의 최상위 디렉터리에
.ebextensions
디렉터리를 생성합니다.확장자
.config
로 구성 파일 두 개를 생성하고.ebextensions
디렉터리로 가져옵니다. 구성 파일 하나는 리소스를 정의하고 다른 하나는 옵션을 정의합니다.Elastic Beanstalk에 애플리케이션을 배포합니다.
YAML은 일정한 들여쓰기를 사용합니다. 예제 구성 파일의 콘텐츠를 바꿀 때 들여쓰기 레벨을 일치시키고, 텍스트 편집기가 탭 문자 대신 공백을 사용해 들여쓰기를 하도록 합니다.
이제, 리소스 구성 파일의 이름을 elasticache.config
로 지정합니다. ElastiCache 클러스터를 생성하기 위해 이 예제에서는 ElastiCache 클러스터 리소스(MyElastiCache
)의 이름을 지정하고, 해당 리소스의 유형을 선언한 다음 클러스터의 속성을 구성합니다. 또한 이 구성 파일에서 생성 및 정의한 보안 그룹 리소스의 ID를 참조합니다.
다음으로 EC2 보안 그룹을 생성합니다. 리소스의 이름을 정의하고, 리소스의 유형을 선언한 다음 설명을 추가한 후 Elastic Beanstalk 보안 그룹(AWSEBSecurityGroup
) 내 인스턴스에서의 액세스만 허용하도록 보안 그룹에 대한 수신 규칙을 설정합니다. (매개변수 이름 AWSEBSecurityGroup
은 Elastic Beanstalk이 제공하는 고정형 리소스입니다. Elastic Beanstalk 애플리케이션에서 ElastiCache 클러스터의 인스턴스에 연결하도록 하려면 ElastiCache 보안 그룹 수신 규칙에 AWSEBSecurityGroup
을 추가해야 합니다.)
또한 EC2 보안 그룹에 대한 수신 규칙은 캐시 노드가 연결을 수락할 수 있는 IP 프로토콜 및 포트 번호도 정의합니다. Redis용 기본 포트 번호는 6379
입니다.
#This sample requires you to create a separate configuration file that defines the custom option settings for CacheCluster properties.
Resources:
MyCacheSecurityGroup:
Type: "AWS::EC2::SecurityGroup"
Properties:
GroupDescription: "Lock cache down to webserver access only"
SecurityGroupIngress :
- IpProtocol : "tcp"
FromPort :
Fn::GetOptionSetting:
OptionName : "CachePort"
DefaultValue: "6379"
ToPort :
Fn::GetOptionSetting:
OptionName : "CachePort"
DefaultValue: "6379"
SourceSecurityGroupName:
Ref: "AWSEBSecurityGroup"
MyElastiCache:
Type: "AWS::ElastiCache::CacheCluster"
Properties:
CacheNodeType:
Fn::GetOptionSetting:
OptionName : "CacheNodeType"
DefaultValue : "cache.t2.micro"
NumCacheNodes:
Fn::GetOptionSetting:
OptionName : "NumCacheNodes"
DefaultValue : "1"
Engine:
Fn::GetOptionSetting:
OptionName : "Engine"
DefaultValue : "redis"
VpcSecurityGroupIds:
-
Fn::GetAtt:
- MyCacheSecurityGroup
- GroupId
Outputs:
ElastiCache:
Description : "ID of ElastiCache Cache Cluster with Redis Engine"
Value :
Ref : "MyElastiCache"
이 구성 파일 예제에서 사용된 리소스에 대한 자세한 내용은 다음 참조를 참조하십시오.
다음으로, 옵션 구성 파일의 이름을 options.config
로 지정하고, 사용자 지정 옵션 설정을 정의합니다.
option_settings:
"aws:elasticbeanstalk:customoption":
CacheNodeType : cache.t2.micro
NumCacheNodes : 1
Engine : redis
CachePort : 6379
이러한 줄은 구성 파일(이 예제에서는 options.config
)의 CacheNodeType
, NumCacheNodes
, Engine
및 CachePort
값에서 CacheNodeType
, NumCacheNodes
, Engine
및 CachePort
속성의 값을 가져오도록 Elastic Beanstalk에 지시합니다. 이 구성 파일에는 aws:elasticbeanstalk:customoption
아래에 사용할 실제 값이 들어 있는 이름-값 페어가 포함된 option_settings
섹션이 있습니다. 앞선 예제에서 cache.t2.micro
, 1
, redis
및 6379
이 이러한 값에 사용될 수 있습니다. Fn::GetOptionSetting
에 대한 자세한 정보는 함수 섹션을 참조하십시오.
EC2-VPC(사용자 지정)
EC2-VPC 플랫폼에서 사용자 지정 VPC를 생성하고 이 VPC를 EC2에서 인스턴스를 시작할 VPC로 지정하면 환경에 Amazon ElastiCache 클러스터를 추가하는 프로세스가 기본 VPC의 프로세스와 달라집니다. ElastiCache 클러스터에 대한 서브넷 그룹을 생성해야 한다는 점이 가장 크게 다릅니다. 이 예제의 모든 속성은 이러한 각 리소스 유형에 대해 설정해야 하는 최소 필수 속성입니다.
참고
이 예에서는 요금이 부과될 수 있는 AWS 리소스를 생성합니다. AWS 요금에 대한 자세한 내용은 https://aws.amazon.com/pricing/
이 예를 활용하려면 다음과 같이 하세요.
소스 번들의 최상위 디렉터리에
.ebextensions
디렉터리를 생성합니다.확장자
.config
로 구성 파일 두 개를 생성하고.ebextensions
디렉터리로 가져옵니다. 구성 파일 하나는 리소스를 정의하고 다른 하나는 옵션을 정의합니다.Elastic Beanstalk에 애플리케이션을 배포합니다.
YAML은 일정한 들여쓰기를 사용합니다. 예제 구성 파일의 콘텐츠를 바꿀 때 들여쓰기 레벨을 일치시키고, 텍스트 편집기가 탭 문자 대신 공백을 사용해 들여쓰기를 하도록 합니다.
이제, 리소스 구성 파일의 이름을 elasticache.config
로 지정합니다. ElastiCache 클러스터를 생성하기 위해 이 예제에서는 ElastiCache 클러스터 리소스(MyElastiCache
)의 이름을 지정하고, 해당 리소스의 유형을 선언한 다음 클러스터의 속성을 구성합니다. 이 예제의 속성은 ElastiCache 클러스터의 서브넷 그룹 이름과 이 구성 파일에서 생성 및 정의한 보안 그룹 리소스의 ID를 참조합니다.
다음으로 EC2 보안 그룹을 생성합니다. 리소스의 이름을 정의하고, 리소스의 유형을 선언한 다음 설명 및 VPC ID를 추가한 후 Elastic Beanstalk 보안 그룹(AWSEBSecurityGroup
) 내 인스턴스에서의 액세스만 허용하도록 보안 그룹에 대한 수신 규칙을 설정합니다. (매개변수 이름 AWSEBSecurityGroup
은 Elastic Beanstalk이 제공하는 고정형 리소스입니다. Elastic Beanstalk 애플리케이션에서 ElastiCache 클러스터의 인스턴스에 연결하도록 하려면 ElastiCache 보안 그룹 수신 규칙에 AWSEBSecurityGroup
을 추가해야 합니다.)
또한 EC2 보안 그룹에 대한 수신 규칙은 캐시 노드가 연결을 수락할 수 있는 IP 프로토콜 및 포트 번호도 정의합니다. Redis용 기본 포트 번호는 6379
입니다. 마지막으로, 이 예제에서는 ElastiCache 클러스터의 서브넷 그룹을 생성합니다. 이 리소스의 이름을 정의하고, 리소스의 유형을 선언한 다음 서브넷 그룹의 서브넷 ID와 설명을 추가합니다.
참고
ElastiCache 클러스터에 프라이빗 서브넷을 사용하는 것이 좋습니다. 프라이빗 서브넷을 사용하는 VPC에 대한 자세한 내용은 https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html 단원을 참조하세요.
#This sample requires you to create a separate configuration file that defines the custom option settings for CacheCluster properties.
Resources:
MyElastiCache:
Type: "AWS::ElastiCache::CacheCluster"
Properties:
CacheNodeType:
Fn::GetOptionSetting:
OptionName : "CacheNodeType"
DefaultValue : "cache.t2.micro"
NumCacheNodes:
Fn::GetOptionSetting:
OptionName : "NumCacheNodes"
DefaultValue : "1"
Engine:
Fn::GetOptionSetting:
OptionName : "Engine"
DefaultValue : "redis"
CacheSubnetGroupName:
Ref: "MyCacheSubnets"
VpcSecurityGroupIds:
- Ref: "MyCacheSecurityGroup"
MyCacheSecurityGroup:
Type: "AWS::EC2::SecurityGroup"
Properties:
GroupDescription: "Lock cache down to webserver access only"
VpcId:
Fn::GetOptionSetting:
OptionName : "VpcId"
SecurityGroupIngress :
- IpProtocol : "tcp"
FromPort :
Fn::GetOptionSetting:
OptionName : "CachePort"
DefaultValue: "6379"
ToPort :
Fn::GetOptionSetting:
OptionName : "CachePort"
DefaultValue: "6379"
SourceSecurityGroupId:
Ref: "AWSEBSecurityGroup"
MyCacheSubnets:
Type: "AWS::ElastiCache::SubnetGroup"
Properties:
Description: "Subnets for ElastiCache"
SubnetIds:
Fn::GetOptionSetting:
OptionName : "CacheSubnets"
Outputs:
ElastiCache:
Description : "ID of ElastiCache Cache Cluster with Redis Engine"
Value :
Ref : "MyElastiCache"
이 구성 파일 예제에서 사용된 리소스에 대한 자세한 내용은 다음 참조를 참조하십시오.
다음으로, 옵션 구성 파일의 이름을 options.config
로 지정하고, 사용자 지정 옵션 설정을 정의합니다.
참고
다음 예제에서는 고유한 서브넷 및 VPC로 예제 CacheSubnets
및 VpcId
값을 바꿉니다.
option_settings:
"aws:elasticbeanstalk:customoption":
CacheNodeType : cache.t2.micro
NumCacheNodes : 1
Engine : redis
CachePort : 6379
CacheSubnets:
- subnet-1a1a1a1a
- subnet-2b2b2b2b
- subnet-3c3c3c3c
VpcId: vpc-4d4d4d4d
이러한 줄은 구성 파일(이 예제에서는 options.config
)의 CacheNodeType
, NumCacheNodes
, Engine
, CachePort
, CacheSubnets
및 VpcId
값에서 CacheNodeType
, NumCacheNodes
, Engine
, CachePort
, CacheSubnets
및 VpcId
속성의 값을 가져오도록 Elastic Beanstalk에 지시합니다. 이 구성 파일에는 aws:elasticbeanstalk:customoption
아래에 샘플 값이 들어 있는 이름-값 페어가 포함된 option_settings
섹션이 있습니다. 위의 예제에서 cache.t2.micro
, 1
, redis
, 6379
, subnet-1a1a1a1a
, subnet-2b2b2b2b
, subnet-3c3c3c3c
및 vpc-4d4d4d4d
이 이러한 값에 사용될 수 있습니다. Fn::GetOptionSetting
에 대한 자세한 정보는 함수 섹션을 참조하십시오.