翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
以下のサンプルでは、Amazon ElastiCache クラスターを EC2-Classic および EC2-VPC (デフォルトおよびカスタム Amazon Virtual Private Cloud (Amazon VPC) の両方) プラットフォームに追加します。これらのプラットフォームの詳細と、EC2 がユーザーのリージョンおよび AWS アカウントに対してサポートしているプラットフォームについては、https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html を参照してください。このトピックの、使用しているプラットフォームに該当するセクションを参照してください。
EC2-classic プラットフォーム
このサンプルは、EC2-Classic プラットフォーム内にインスタンスが起動される環境に Amazon ElastiCache クラスターを追加します。この例で示されているすべてのプロパティは、各リソースタイプに対して設定する必要のある最低限必要なプロパティです。サンプルは、「ElastiCache example
注記
この例では、課金対象となる可能性のある AWS リソースを作成します。AWS 料金の詳細については、「https://aws.amazon.com/pricing/
この例を使用するには、以下を実行します。
ソースバンドルの最上位ディレクトリに
.ebextensions
ディレクトリを作成します。拡張子が
.config
の設定ファイルを 2 つ作成し、.ebextensions
ディレクトリに配置します。一方の設定ファイルではリソースが定義され、もう一方の設定ファイルではオプションが定義されます。アプリケーションを Elastic Beanstalk にデプロイします。
YAML は、一貫したインデントに依存します。設定ファイルの例でコンテンツを置き換える際はインデントレベルを一致させ、テキストエディタがインデントにタブ文字ではなくスペースを使用していることを確認します。
リソースを定義する設定ファイル(例: elasticache.config
)を作成します。最初に、ElastiCache クラスターリソースの名前(MyElastiCache
)を指定し、タイプを宣言し、クラスターのプロパティを設定することによって、ElastiCache クラスターを作成します。この例は、この設定ファイルで作成され、定義されている ElastiCache セキュリティグループリソースの名前を参照します。次に、ElastiCache セキュリティグループを作成します。このリソースの名前を定義し、タイプを宣言し、セキュリティグループの説明を追加します。最後に、ElastiCache セキュリティグループの入口ルールを設定し、ElastiCache セキュリティグループ(MyCacheSecurityGroup
)および Elastic Beanstalk セキュリティグループ(AWSEBSecurityGroup
)の内部のインスタンスからのアクセスのみを許可するようにします。パラメータ名 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
これらの行は、Elastic Beanstalk に対し、CacheNodeType、NumCacheNodes、Engine プロパティの値を、option_settings セクションと、使用する実際の値を含む名前と値のペアを含む aws:elasticbeanstalk:customoption セクションが含まれている設定ファイル (この例では options.config) の CacheNodeType、NumCacheNodes、Engine の値から取得するように指示します。上の例では、これは値として cache.m1.small、1、memcached を使用することを意味します。Fn::GetOptionSetting
の詳細については、「関数」を参照してください。
EC2-VPC (デフォルト)
このサンプルは、EC2-VPC プラットフォーム内にインスタンスが起動される環境に Amazon ElastiCache クラスターを追加します。具体的には、このセクションの情報は、EC2 がデフォルト VPC 内にインスタンスを起動するシナリオに適用されます。この例のプロパティはすべて、リソースタイプごとに設定する必要のある最低限必要なプロパティです。デフォルト VPC の詳細については、「Your Default VPC and Subnets」を参照してください。
注記
この例では、課金対象となる可能性のある AWS リソースを作成します。AWS 料金の詳細については、「https://aws.amazon.com/pricing/
この例を使用するには、以下を実行します。
ソースバンドルの最上位ディレクトリに
.ebextensions
ディレクトリを作成します。拡張子が
.config
の設定ファイルを 2 つ作成し、.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 を作成し、EC2 がインスタンスを起動する VPC として指定する場合、ユーザーの環境に Amazon ElastiCache クラスターを追加するプロセスはデフォルト VPC の場合とは異なります。主な違いは、ElastiCache クラスター用のサブネットグループを作成する必要があることです。この例のプロパティはすべて、リソースタイプごとに設定する必要のある最低限必要なプロパティです。
注記
この例では、課金対象となる可能性のある AWS リソースを作成します。AWS 料金の詳細については、「https://aws.amazon.com/pricing/
この例を使用するには、以下を実行します。
ソースバンドルの最上位ディレクトリに
.ebextensions
ディレクトリを作成します。拡張子が
.config
の設定ファイルを 2 つ作成し、.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
という名前を付け、カスタムオプションの設定を定義します。
注記
以下の例では、例の CacheSubnets
および VpcId
の値をユーザー独自のサブネットおよび VPC に置き換えます。
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
の詳細については、「関数」を参照してください。