組み込み関数 Fn::GetAZs は、リージョンに属するゾーンのリストを返します。
説明
この関数は、Elastic Compute Service (ECS) と Virtual Private Cloud (VPC) リソースのみに適しています。
宣言
JSON
{ "Fn::GetAZs": "regionId" }YAML
完全な関数名の構文:
Fn::GetAZs: regionId短縮形の構文:
!GetAZs regionId
パラメーター
regionId: リージョン ID。例: cn-hangzhou。
戻り値
指定されたリージョン内のゾーンのリスト。
例
次の例では、指定されたリージョンの最初のゾーンに ECS インスタンスが作成されます。
ROSTemplateFormatVersion: '2015-09-01'
Resources:
WebServer:
Type: ALIYUN::ECS::Instance
Properties:
ImageId: centos7u2_64_40G_cloudinit_2016072****
InstanceType: ecs.n1.tiny
SecurityGroupId: sg-2zedcm7ep5quses0****
Password: Ros1****
AllocatePublicIP: true
InternetChargeType: PayByTraffic
InternetMaxBandwidthIn: 100
InternetMaxBandwidthOut: 100
SystemDiskCategory: cloud_efficiency
IoOptimized: optimized
ZoneId:
!Select
- '0'
- !GetAZs
Ref: ALIYUN::Region
Outputs:
InstanceId:
Value: !GetAtt WebServer.InstanceId
PublicIp:
Value: !GetAtt WebServer.PublicIp{
"ROSTemplateFormatVersion": "2015-09-01",
"Resources": {
"WebServer": {
"Type": "ALIYUN::ECS::Instance",
"Properties": {
"ImageId": "centos7u2_64_40G_cloudinit_2016072****",
"InstanceType": "ecs.n1.tiny",
"SecurityGroupId": "sg-2zedcm7ep5quses0****",
"Password": "Ros1****",
"AllocatePublicIP": true,
"InternetChargeType": "PayByTraffic",
"InternetMaxBandwidthIn": 100,
"InternetMaxBandwidthOut": 100,
"SystemDiskCategory": "cloud_efficiency",
"IoOptimized": "optimized",
"ZoneId": {
"Fn::Select": [
"0",
{
"Fn::GetAZs": {
"Ref": "ALIYUN::Region"
}
}
]
}
}
}
},
"Outputs": {
"InstanceId": {
"Value": {
"Fn::GetAtt": [
"WebServer",
"InstanceId"
]
}
},
"PublicIp": {
"Value": {
"Fn::GetAtt": [
"WebServer",
"PublicIp"
]
}
}
}
}