翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
その他の AWS CloudFormation テンプレートキー
Resources
、、 AWS CloudFormation などの設定ファイルキーは files
から既に導入されていますpackages
。Elastic Beanstalk は、環境をサポートする AWS CloudFormation テンプレートに設定ファイルの内容を追加するため、他の AWS CloudFormation セクションを使用して設定ファイルで高度なタスクを実行できます。
パラメータ
パラメータは、Elastic Beanstalk 独自の代替的なカスタムオプションであり、これを使用して、設定ファイルの他の場所で使用する値を定義することができます。カスタムオプションと同様、パラメータを使用して、1 つの場所でユーザーが設定可能な値を収集することができます。カスタムオプションとは異なり、Elastic Beanstalk の API を使用してパラメータ値を設定することはできず、テンプレートで定義できるパラメータの数は によって制限されます AWS CloudFormation。
パラメータを使用する理由の 1 つは、設定ファイルを AWS CloudFormation テンプレートとして 2 倍にすることです。カスタムオプションの代わりにパラメータを使用する場合は、設定ファイルを使用して、独自のスタック AWS CloudFormation と同じリソースを に作成できます。たとえば、テスト用環境に Amazon EFS ファイルシステムを追加する設定ファイルがある場合は、同一ファイルを使用して、本稼働用の環境ライフサイクルに固定されていない独自のファイルシステムを作成します。
以下の例では、設定ファイルの上部にあるユーザーが設定可能な値を収集するパラメータを示します。
例 loadbalancer-accesslogs-existingbucket.config - パラメータ
Parameters:
bucket:
Type: String
Description: "Name of the Amazon S3 bucket in which to store load balancer logs"
Default: "amzn-s3-demo-bucket"
bucketprefix:
Type: String
Description: "Optional prefix. Can't start or end with a /, or contain the word AWSLogs"
Default: ""
出力
Outputs
ブロックを使用して、作成されたリソースに関する情報を AWS CloudFormationにエクスポートすることができます。その後、 Fn::ImportValue
関数を使用して、Elastic Beanstalk 外の AWS CloudFormation テンプレートに値をプルできます。
次の例では、Amazon SNS トピックを作成し、その ARN を という名前 AWS CloudFormation で にエクスポートしますNotificationTopicArn
。
例 sns-topic.config
Resources:
NotificationTopic:
Type: AWS::SNS::Topic
Outputs:
NotificationTopicArn:
Description: Notification topic ARN
Value: { "Ref" : "NotificationTopic" }
Export:
Name: NotificationTopicArn
別の環境の設定ファイル、または Elastic Beanstalk 外の AWS CloudFormation テンプレートでは、 Fn::ImportValue
関数を使用してエクスポートされた ARN を取得できます。この例では、エクスポートされた値を TOPIC_ARN
という名前の環境プロパティに割り当てます。
例 env.config
option_settings:
aws:elasticbeanstalk:application:environment:
TOPIC_ARN: '`{ "Fn::ImportValue" : "NotificationTopicArn" }`'
Mappings
マッピングを使用して、名前空間ごとに分けられたキーと値のペアを保存することができます。マッピングでは、Config を通して値を整理したり、その他の値に応じてパラメータ値を変更することができます。たとえば、次の設定値では、現在のリージョンに基づいて、アカウント ID のパラメータが設定されます。
例 loadbalancer-accesslogs-newbucket.config - マッピング
Mappings:
Region2ELBAccountId:
us-east-1:
AccountId: "111122223333"
us-west-2:
AccountId: "444455556666"
us-west-1:
AccountId: "123456789012"
eu-west-1:
AccountId: "777788889999"
...
Principal:
AWS:
? "Fn::FindInMap"
:
- Region2ELBAccountId
-
Ref: "AWS::Region"
- AccountId