メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::ElasticLoadBalancingV2::LoadBalancer

AWS::ElasticLoadBalancingV2::LoadBalancer リソースにより、Elastic Load Balancing Application Load Balancer またはネットワークロードバランサーが作成されます。詳細については、Elastic Load Balancing ユーザーガイドの「ご利用開始にあたって」を参照してください。

注記

AWS CloudFormation は Elastic Load Balancing ロードバランサーのタグ (キーと値のペア) を自動的に作成しません。ロードバランサーに関連付けるタグを作成するために、Tags プロパティを使用する必要があります。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

Copy
{ "Type" : "AWS::ElasticLoadBalancingV2::LoadBalancer", "Properties" : { "LoadBalancerAttributes" : [ LoadBalancerAttributes, ... ], "Name" : String, "Scheme" : String, "SecurityGroups" : [ String, ... ], "SubnetMappings" : [ SubnetMapping, ... ], "Subnets" : [ String, ... ], "Tags" : [ Resource Tag, ... ], "Type" : String, "IpAddressType" : String } }

YAML

Copy
Type: "AWS::ElasticLoadBalancingV2::LoadBalancer" Properties: LoadBalancerAttributes: - LoadBalancerAttributes Name: String Scheme: String SecurityGroups: - 文字列 SubnetMappings: - SubnetMapping Subnets: - 文字列 Tags: - Resource Tag Type: String IpAddressType: String

プロパティ

詳細および有効なパラメータ値については、Elastic Load Balancing API リファレンスバージョン 2015-12-01の「CreateLoadBalancer アクション」を参照してください。

LoadBalancerAttributes

ロードバランサー設定を指定します。

Required: No

Type: Elastic Load Balancing LoadBalancer LoadBalancerAttributes のリスト

更新に伴う要件: 中断はありません。

Name

ロードバランサーの名前を指定します。この名前は AWS アカウント内で一意でなければならず、英数字とハイフンを含めた 32 文字以下が使用できます。名前をハイフンで開始または終了することはできません。

Required: No

Type: String

更新に伴う要件: 置換

Scheme

ロードバランサーが内部的なものかインターネット向けかを指定します。有効な値は、internet-facing および internal です。デフォルト: internet-facing

インターネット向けロードバランサーのノードにはパブリック IP アドレスが必要です。インターネット向けロードバランサーの DNS 名は、ノードのパブリック IP アドレスにパブリックに解決可能です。したがって、インターネット向けロードバランサーは、クライアントからインターネット経由でリクエストをルーティングできます。

内部ロードバランサーのノードはプライベート IP アドレスのみを持ちます。内部ロードバランサーの DNS 名は、ノードのプライベート IP アドレスにパブリックに解決可能です。そのため、内部向けロードバランサーは、ロードバランサー用に VPC へのアクセス権を持つクライアントからのみ、リクエストをルーティングできます。

Required: No

Type: String

更新に伴う要件: 置換

SecurityGroups

[Application Load Balancer] ロードバランサーに割り当てるセキュリティグループの ID の一覧を指定します。

Required: No

Type: List of String values

更新に伴う要件: 中断はありません。

SubnetMappings

ロードバランサーにアタッチするサブネットは、SubnetMapping プロパティタイプのリストとして指定します。 アベイラビリティーゾーンごとに 1 つだけサブネットを指定できます。サブネットまたはサブネットマッピングを指定する必要があります。

[Application Load Balancer] サブネットごとにロードバランサーに 1 つの静的 IP アドレスが割り当てられます。独自の Elastic IP アドレスを指定することはできません。

[ネットワークロードバランサー] サブネットごとに 1 つの Elastic IP アドレスを指定できます。

Required: No

Elastic Load Balancing LoadBalancer SubnetMappingType: リスト

更新に伴う要件: 置換

Subnets

サブネット ID のリストとして指定されたロードバランサーにアタッチするサブネット。 アベイラビリティーゾーンごとに 1 つだけサブネットを指定できます。サブネットまたはサブネットマッピングを指定する必要があります。

[Application Load Balancer] 2 つ以上のアベイラビリティーゾーンからサブネットを指定する必要があります。

Required: No

Type: List of String values

更新に伴う要件: 中断はありません。

Tags

このロードバランサーに関連付ける任意のタグのセット (キ–と値のペア) を指定します。タグを使ってリソースを管理します。

Required: No

Type: AWS CloudFormation Resource Tags

更新に伴う要件: 中断はありません。

Type

作成するロードバランサーのタイプを指定します。有効な値は、application および network です。デフォルトは application です。

Required: No

Type: String

更新に伴う要件: 置換

IpAddressType

[Application Load Balancer] ipv4 (IPv4 アドレス用) または dualstack (IPv4 および IPv6 アドレス用) などのロードバランサーのサブネットで使用されている IP アドレスのタイプ。有効な値については、「IpAddressTypeElastic Load Balancing API リファレンスバージョン 2015-12-01CreateLoadBalancer」の [ アクションの パラメータ] を参照してください。

Required: No

Type: String

更新に伴う要件: 中断はありません。

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、Ref によりロードバランサーの ARN が返されます ( など)

Copy
arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-internal-load-balancer/50dc6c495c0c9188

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

Fn::GetAtt

Fn::GetAtt は次の属性の値を返します.

DNSName

ロードバランサーの DNS 名 (例: my-load-balancer-424835706.us-west-2.elb.amazonaws.com)。

CanonicalHostedZoneID

ロードバランサーに関連付けられる Amazon Route 53 ホストゾーンの ID (Z2P70J7EXAMPLE など)。

LoadBalancerFullName

ロードバランサーの正式名称 (例: app/my-load-balancer/50dc6c495c0c9188)。

LoadBalancerName

ロードバランサーの名前 (例: my-load-balancer)。

SecurityGroups

ロードバランサーのセキュリティグループの ID (例: sg-123456a)。

Fn::GetAtt の使用の詳細については、「Fn::GetAtt」を参照してください。

アイドルタイムアウト期間が指定されたロードバランサー

次の例では、50 秒のアイドルタイムアウト期間で内部ロードバランサーが作成されます。

JSON

Copy
"loadBalancer" : { "Type": "AWS::ElasticLoadBalancingV2::LoadBalancer", "Properties": { "Scheme" : "internal", "Subnets" : [ {"Ref": "SubnetAZ1"}, {"Ref" : "SubnetAZ2"}], "LoadBalancerAttributes" : [ { "Key" : "idle_timeout.timeout_seconds", "Value" : "50" } ], "SecurityGroups": [{"Ref": "SecurityGroup1"}, {"Ref" : "SecurityGroup2"}], "Tags" : [ { "Key" : "key", "Value" : "value" }, { "Key" : "key2", "Value" : "value2" } ] } }

YAML

Copy
loadBalancer: Type: AWS::ElasticLoadBalancingV2::LoadBalancer Properties: Scheme: internal Subnets: - Ref: SubnetAZ1 - Ref: SubnetAZ2 LoadBalancerAttributes: - Key: idle_timeout.timeout_seconds Value: '50' SecurityGroups: - Ref: SecurityGroup1 - Ref: SecurityGroup2 Tags: - Key: key Value: value - Key: key2 Value: value2

ロードバランサーとサブネット

次の例では、2 つのマッピングされたサブネットを持つロードバランサーを作成します。

JSON

Copy
{ "Parameters": { "FirstSubnet": { "Type": "String" }, "SecondSubnet": { "Type": "String" }, "ELBType": { "Type": "String" }, "ELBIpAddressType": { "Type": "String" } }, "Resources": { "loadBalancer": { "Type": "AWS::ElasticLoadBalancingV2::LoadBalancer", "Properties": { "SubnetMappings": [ { "AllocationId": { "Fn::GetAtt": [ "FirstEIP", "AllocationId" ] }, "SubnetId": { "Ref": "FirstSubnet" } }, { "AllocationId": { "Fn::GetAtt": [ "SecondEIP", "AllocationId" ] }, "SubnetId": { "Ref": "SecondSubnet" } } ], "Type": { "Ref": "ELBType" }, "IpAddressType": { "Ref": "ELBIpAddressType" } } }, "FirstEIP": { "Type": "AWS::EC2::EIP", "Properties": { "Domain": "vpc" } }, "SecondEIP": { "Type": "AWS::EC2::EIP", "Properties": { "Domain": "vpc" } } } }

YAML

Copy
Parameters: FirstSubnet: Type: String SecondSubnet: Type: String ELBType: Type: String ELBIpAddressType: Type: String Resources: loadBalancer: Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer' Properties: SubnetMappings: - AllocationId: !GetAtt - FirstEIP - AllocationId SubnetId: !Ref FirstSubnet - AllocationId: !GetAtt - SecondEIP - AllocationId SubnetId: !Ref SecondSubnet Type: !Ref ELBType IpAddressType: !Ref ELBIpAddressType FirstEIP: Type: 'AWS::EC2::EIP' Properties: Domain: vpc SecondEIP: Type: 'AWS::EC2::EIP' Properties: Domain: vpc

このページの内容: