文档 AWS SDK 示例 GitHub 存储库中还有更多 S AWS DK 示例
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 “工具” 的 Route 53 示例 PowerShell
以下代码示例向您展示了如何在 Route 53 中使用来执行操作和实现常见场景。 AWS Tools for PowerShell
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示如何使用 Edit-R53ResourceRecordSet
。
- 用于 PowerShell
-
示例 1:此示例为 www.example.com 创建 A 记录,并将 test.example.com 的 A 记录从 192.0.2.3 更改为 192.0.2.1。请注意,TXT 类型记录的更改值必须采用双引号。有关更多详细信息,请参阅 Amazon Route 53 文档。您可以使用 Get-R53Change cmdlet 进行轮询以确定更改何时完成。
$change1 = New-Object Amazon.Route53.Model.Change $change1.Action = "CREATE" $change1.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet $change1.ResourceRecordSet.Name = "www.example.com" $change1.ResourceRecordSet.Type = "TXT" $change1.ResourceRecordSet.TTL = 600 $change1.ResourceRecordSet.ResourceRecords.Add(@{Value="item 1 item 2 item 3"}) $change2 = New-Object Amazon.Route53.Model.Change $change2.Action = "DELETE" $change2.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet $change2.ResourceRecordSet.Name = "test.example.com" $change2.ResourceRecordSet.Type = "A" $change2.ResourceRecordSet.TTL = 600 $change2.ResourceRecordSet.ResourceRecords.Add(@{Value="192.0.2.3"}) $change3 = New-Object Amazon.Route53.Model.Change $change3.Action = "CREATE" $change3.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet $change3.ResourceRecordSet.Name = "test.example.com" $change3.ResourceRecordSet.Type = "A" $change3.ResourceRecordSet.TTL = 600 $change3.ResourceRecordSet.ResourceRecords.Add(@{Value="192.0.2.1"}) $params = @{ HostedZoneId="Z1PA6795UKMFR9" ChangeBatch_Comment="This change batch creates a TXT record for www.example.com. and changes the A record for test.example.com. from 192.0.2.3 to 192.0.2.1." ChangeBatch_Change=$change1,$change2,$change3 } Edit-R53ResourceRecordSet @params
示例 2:此示例说明如何创建别名资源记录集。'Z222222222'是您要在其中创建别名资源记录集的 Amazon Route 53 托管区的 ID。'example.com' 是您要为其创建别名的 Zone Apex(机构根网域),而 'www.example.com' 是您也想为其创建别名的子域。'Z1111111111111'是负载均衡器的托管区域ID的示例,'-1111111111.us-east example-load-balancer -1.elb.amazonaws.com'是负载均衡器域名的示例,亚马逊53号路由使用该域名回应example.com和www.example.com的查询。有关更多详细信息,请参阅 Amazon Route 53 文档。您可以使用 Get-R53Change cmdlet 进行轮询以确定更改何时完成。
$change1 = New-Object Amazon.Route53.Model.Change $change1.Action = "CREATE" $change1.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet $change1.ResourceRecordSet.Name = "example.com" $change1.ResourceRecordSet.Type = "A" $change1.ResourceRecordSet.AliasTarget = New-Object Amazon.Route53.Model.AliasTarget $change1.ResourceRecordSet.AliasTarget.HostedZoneId = "Z1111111111111" $change1.ResourceRecordSet.AliasTarget.DNSName = "example-load-balancer-1111111111.us-east-1.elb.amazonaws.com." $change1.ResourceRecordSet.AliasTarget.EvaluateTargetHealth = $true $change2 = New-Object Amazon.Route53.Model.Change $change2.Action = "CREATE" $change2.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet $change1.ResourceRecordSet.Name = "www.example.com" $change1.ResourceRecordSet.Type = "A" $change1.ResourceRecordSet.AliasTarget = New-Object Amazon.Route53.Model.AliasTarget $change1.ResourceRecordSet.AliasTarget.HostedZoneId = "Z1111111111111" $change1.ResourceRecordSet.AliasTarget.DNSName = "example-load-balancer-1111111111.us-east-1.elb.amazonaws.com." $change1.ResourceRecordSet.AliasTarget.EvaluateTargetHealth = $false $params = @{ HostedZoneId="Z222222222" ChangeBatch_Comment="This change batch creates two alias resource record sets, one for the zone apex, example.com, and one for www.example.com, that both point to example-load-balancer-1111111111.us-east-1.elb.amazonaws.com." ChangeBatch_Change=$change1,$change2 } Edit-R53ResourceRecordSet @params
示例 3:此示例为 www.example.com 创建了两条 A 记录。在四分之一的时间 (1/(1+3)),Amazon Route 53 使用第一个资源记录集的两个值(192.0.2.9 和 192.0.2.10)来响应 www.example.com 的查询。在四分之三的时间 (3/(1+3)),Amazon Route 53 使用第二个资源记录集的两个值(192.0.2.11 和 192.0.2.12)来响应 www.example.com 的查询。有关更多详细信息,请参阅 Amazon Route 53 文档。您可以使用 Get-R53Change cmdlet 进行轮询以确定更改何时完成。
$change1 = New-Object Amazon.Route53.Model.Change $change1.Action = "CREATE" $change1.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet $change1.ResourceRecordSet.Name = "www.example.com" $change1.ResourceRecordSet.Type = "A" $change1.ResourceRecordSet.SetIdentifier = "Rack 2, Positions 4 and 5" $change1.ResourceRecordSet.Weight = 1 $change1.ResourceRecordSet.TTL = 600 $change1.ResourceRecordSet.ResourceRecords.Add(@{Value="192.0.2.9"}) $change1.ResourceRecordSet.ResourceRecords.Add(@{Value="192.0.2.10"}) $change2 = New-Object Amazon.Route53.Model.Change $change2.Action = "CREATE" $change2.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet $change2.ResourceRecordSet.Name = "www.example.com" $change2.ResourceRecordSet.Type = "A" $change2.ResourceRecordSet.SetIdentifier = "Rack 5, Positions 1 and 2" $change2.ResourceRecordSet.Weight = 3 $change2.ResourceRecordSet.TTL = 600 $change2.ResourceRecordSet.ResourceRecords.Add(@{Value="192.0.2.11"}) $change2.ResourceRecordSet.ResourceRecords.Add(@{Value="192.0.2.12"}) $params = @{ HostedZoneId="Z1PA6795UKMFR9" ChangeBatch_Comment="This change creates two weighted resource record sets, each of which has two values." ChangeBatch_Change=$change1,$change2 } Edit-R53ResourceRecordSet @params
示例 4:此示例说明如何创建加权别名资源记录集,假设 example.com 是要为其创建加权别名资源记录集的域。 SetIdentifier 将两个加权别名资源记录集彼此区分开来。此元素是必需的,因为两个资源记录集的“名称”和“类型”元素具有相同的值。Z1111111111111 和 Z3333333333333 是 ELB 负载均衡器的托管区域的示例,值 IDs 为指定。 DNSName example-load-balancer-2222222222.us-east-1.elb.amazonaws.com 和- example-load-balancer 44444444444.us-east-1.elb.amazonaws.com 是亚马逊 Route 53 回复 example.com 查询的 Elastic Load Balancing 域名的示例。有关更多详细信息,请参阅 Amazon Route 53 文档。您可以使用 Get-R53Change cmdlet 进行轮询以确定更改何时完成。
$change1 = New-Object Amazon.Route53.Model.Change $change1.Action = "CREATE" $change1.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet $change1.ResourceRecordSet.Name = "example.com" $change1.ResourceRecordSet.Type = "A" $change1.ResourceRecordSet.SetIdentifier = "1" $change1.ResourceRecordSet.Weight = 3 $change1.ResourceRecordSet.AliasTarget = New-Object Amazon.Route53.Model.AliasTarget $change1.ResourceRecordSet.AliasTarget.HostedZoneId = "Z1111111111111" $change1.ResourceRecordSet.AliasTarget.DNSName = "example-load-balancer-2222222222.us-east-1.elb.amazonaws.com." $change1.ResourceRecordSet.AliasTarget.EvaluateTargetHealth = $true $change2 = New-Object Amazon.Route53.Model.Change $change2.Action = "CREATE" $change2.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet $change2.ResourceRecordSet.Name = "example.com" $change2.ResourceRecordSet.Type = "A" $change2.ResourceRecordSet.SetIdentifier = "2" $change2.ResourceRecordSet.Weight = 1 $change2.ResourceRecordSet.AliasTarget = New-Object Amazon.Route53.Model.AliasTarget $change2.ResourceRecordSet.AliasTarget.HostedZoneId = "Z3333333333333" $change2.ResourceRecordSet.AliasTarget.DNSName = "example-load-balancer-4444444444.us-east-1.elb.amazonaws.com." $change2.ResourceRecordSet.AliasTarget.EvaluateTargetHealth = $false $params = @{ HostedZoneId="Z5555555555" ChangeBatch_Comment="This change batch creates two weighted alias resource record sets. Amazon Route 53 responds to queries for example.com with the first ELB domain 3/4ths of the times and the second one 1/4th of the time." ChangeBatch_Change=$change1,$change2 } Edit-R53ResourceRecordSet @params
示例 5:此示例创建两个延迟别名资源记录集,一个用于美国西部(俄勒冈州)地区 (us-west-2) 的 ELB 负载均衡器,另一个用于亚太地区(新加坡)(ap-southeast-1) 的负载均衡器。有关更多详细信息,请参阅 Amazon Route 53 文档。您可以使用 Get-R53Change cmdlet 进行轮询以确定更改何时完成。
$change1 = New-Object Amazon.Route53.Model.Change $change1.Action = "CREATE" $change1.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet $change1.ResourceRecordSet.Name = "example.com" $change1.ResourceRecordSet.Type = "A" $change1.ResourceRecordSet.SetIdentifier = "Oregon load balancer 1" $change1.ResourceRecordSet.Region = us-west-2 $change1.ResourceRecordSet.AliasTarget = New-Object Amazon.Route53.Model.AliasTarget $change1.ResourceRecordSet.AliasTarget.HostedZoneId = "Z1111111111111" $change1.ResourceRecordSet.AliasTarget.DNSName = "example-load-balancer-2222222222.us-west-2.elb.amazonaws.com" $change1.ResourceRecordSet.AliasTarget.EvaluateTargetHealth = $true $change2 = New-Object Amazon.Route53.Model.Change $change2.Action = "CREATE" $change2.ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet $change2.ResourceRecordSet.Name = "example.com" $change2.ResourceRecordSet.Type = "A" $change2.ResourceRecordSet.SetIdentifier = "Singapore load balancer 1" $change2.ResourceRecordSet.Region = ap-southeast-1 $change2.ResourceRecordSet.AliasTarget = New-Object Amazon.Route53.Model.AliasTarget $change2.ResourceRecordSet.AliasTarget.HostedZoneId = "Z2222222222222" $change2.ResourceRecordSet.AliasTarget.DNSName = "example-load-balancer-1111111111.ap-southeast-1.elb.amazonaws.com" $change2.ResourceRecordSet.AliasTarget.EvaluateTargetHealth = $true $params = @{ HostedZoneId="Z5555555555" ChangeBatch_Comment="This change batch creates two latency resource record sets, one for the US West (Oregon) region and one for the Asia Pacific (Singapore) region." ChangeBatch_Change=$change1,$change2 } Edit-R53ResourceRecordSet @params
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ChangeResourceRecordSets中的。
-
以下代码示例演示如何使用 Get-R53AccountLimit
。
- 用于 PowerShell
-
示例 1:此示例返回使用当前账户可以创建的最大托管区域数量。
Get-R53AccountLimit -Type MAX_HOSTED_ZONES_BY_OWNER
输出:
15
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetAccountLimit中的。
-
以下代码示例演示如何使用 Get-R53CheckerIpRanges
。
- 用于 PowerShell
-
示例 1:此示例返回 Route53 运行状况检查器的 CIDRs
Get-R53CheckerIpRanges
输出:
15.177.2.0/23 15.177.6.0/23 15.177.10.0/23 15.177.14.0/23 15.177.18.0/23 15.177.22.0/23 15.177.26.0/23 15.177.30.0/23 15.177.34.0/23 15.177.38.0/23 15.177.42.0/23 15.177.46.0/23 15.177.50.0/23 15.177.54.0/23 15.177.58.0/23 15.177.62.0/23 54.183.255.128/26 54.228.16.0/26 54.232.40.64/26 54.241.32.64/26 54.243.31.192/26 54.244.52.192/26 54.245.168.0/26 54.248.220.0/26 54.250.253.192/26 54.251.31.128/26 54.252.79.128/26 54.252.254.192/26 54.255.254.192/26 107.23.255.0/26 176.34.159.192/26 177.71.207.128/26
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetCheckerIpRanges中的。
-
以下代码示例演示如何使用 Get-R53HostedZone
。
- 用于 PowerShell
-
示例 1:返回 ID 为 Z1D633 的托管区域的详细信息PJN98FT9。
Get-R53HostedZone -Id Z1D633PJN98FT9
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetHostedZone中的。
-
以下代码示例演示如何使用 Get-R53HostedZoneCount
。
- 用于 PowerShell
-
示例 1:返回当前的公有和私有托管区域的总数 AWS 账户。
Get-R53HostedZoneCount
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetHostedZoneCount中的。
-
以下代码示例演示如何使用 Get-R53HostedZoneLimit
。
- 用于 PowerShell
-
示例 1:此示例返回可在指定托管区域中创建的最大记录数的限制。
Get-R53HostedZoneLimit -HostedZoneId Z3MEQ8T7HAAAAF -Type MAX_RRSETS_BY_ZONE
输出:
5
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetHostedZoneLimit中的。
-
以下代码示例演示如何使用 Get-R53HostedZoneList
。
- 用于 PowerShell
-
示例 1:输出所有公有和私有托管区。
Get-R53HostedZoneList
示例 2:输出与 ID 为 NZ8 X2CISAMPLE 的可重复使用的委托集关联的所有托管区域
Get-R53HostedZoneList -DelegationSetId NZ8X2CISAMPLE
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListHostedZones中的。
-
以下代码示例演示如何使用 Get-R53HostedZonesByName
。
- 用于 PowerShell
-
示例 1:按照域名以 ASCII 顺序返回所有公有和私有托管区。
Get-R53HostedZonesByName
示例 2:按照域名以 ASCII 顺序返回公有和私有托管区,开头为指定的 DNS 名称。
Get-R53HostedZonesByName -DnsName example2.com
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListHostedZonesByName中的。
-
以下代码示例演示如何使用 Get-R53QueryLoggingConfigList
。
- 用于 PowerShell
-
示例 1:此示例返回与当前 AWS 账户关联的 DNS 查询日志记录的所有配置。
Get-R53QueryLoggingConfigList
输出:
Id HostedZoneId CloudWatchLogsLogGroupArn -- ------------ ------------------------- 59b0fa33-4fea-4471-a88c-926476aaa40d Z385PDS6EAAAZR arn:aws:logs:us-east-1:111111111112:log-group:/aws/route53/example1.com:* ee528e95-4e03-4fdc-9d28-9e24ddaaa063 Z94SJHBV1AAAAZ arn:aws:logs:us-east-1:111111111112:log-group:/aws/route53/example2.com:* e38dddda-ceb6-45c1-8cb7-f0ae56aaaa2b Z3MEQ8T7AAA1BF arn:aws:logs:us-east-1:111111111112:log-group:/aws/route53/example3.com:*
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListQueryLoggingConfigs中的。
-
以下代码示例演示如何使用 Get-R53ReusableDelegationSet
。
- 用于 PowerShell
-
示例 1:此示例检索有关指定委托集的信息,包括分配给委托集的四个域名服务器。
Get-R53ReusableDelegationSet -Id N23DS9X4AYEAAA
输出:
Id CallerReference NameServers -- --------------- ----------- /delegationset/N23DS9X4AYEAAA testcaller {ns-545.awsdns-04.net, ns-1264.awsdns-30.org, ns-2004.awsdns-58.co.uk, ns-240.awsdns-30.com}
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetReusableDelegationSet中的。
-
以下代码示例演示如何使用 New-R53HostedZone
。
- 用于 PowerShell
-
示例 1:创建名为“example.com”的新托管区,并与可重复使用的委托集相关联。请注意,您必须为 CallerReference 参数提供一个值,这样在必要时需要重试的请求就不会有执行两次操作的风险。由于托管区域是在 VPC 中创建的,因此它自动为私有区域,因此您不应设置-HostedZoneConfig _ PrivateZone 参数。
$params = @{ Name="example.com" CallerReference="myUniqueIdentifier" HostedZoneConfig_Comment="This is my first hosted zone" DelegationSetId="NZ8X2CISAMPLE" VPC_VPCId="vpc-1a2b3c4d" VPC_VPCRegion="us-east-1" } New-R53HostedZone @params
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考CreateHostedZone中的。
-
以下代码示例演示如何使用 New-R53QueryLoggingConfig
。
- 用于 PowerShell
-
示例 1:此示例为指定的托管区域创建了新的 Route53 DNS 查询日志配置。Amazon Route53 会将 DNS 查询日志发布到指定的 Cloudwatch 日志组。
New-R53QueryLoggingConfig -HostedZoneId Z3MEQ8T7HAAAAF -CloudWatchLogsLogGroupArn arn:aws:logs:us-east-1:111111111111:log-group:/aws/route53/example.com:*
输出:
QueryLoggingConfig Location ------------------ -------- Amazon.Route53.Model.QueryLoggingConfig https://route53.amazonaws.com/2013-04-01/queryloggingconfig/ee5aaa95-4e03-4fdc-9d28-9e24ddaaaaa3
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考CreateQueryLoggingConfig中的。
-
以下代码示例演示如何使用 New-R53ReusableDelegationSet
。
- 用于 PowerShell
-
示例 1:此示例创建了一个由 4 个域名服务器组成的可重复使用的委托集,多个托管区域可以重复使用。
New-R53ReusableDelegationSet -CallerReference testcallerreference
输出:
DelegationSet Location ------------- -------- Amazon.Route53.Model.DelegationSet https://route53.amazonaws.com/2013-04-01/delegationset/N23DS9XAAAAAXM
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考CreateReusableDelegationSet中的。
-
以下代码示例演示如何使用 Register-R53VPCWithHostedZone
。
- 用于 PowerShell
-
示例 1:此示例将指定的 VPC 与私有托管区域相关联。
Register-R53VPCWithHostedZone -HostedZoneId Z3MEQ8T7HAAAAF -VPC_VPCId vpc-f1b9aaaa -VPC_VPCRegion us-east-1
输出:
Id Status SubmittedAt Comment -- ------ ----------- ------- /change/C3SCAAA633Z6DX PENDING 01/28/2020 19:32:02
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考VPCWithHostedZone中的 “关联”。
-
以下代码示例演示如何使用 Remove-R53HostedZone
。
- 用于 PowerShell
-
示例 1:删除具有指定 ID 的托管区。在命令继续之前,您将收到进行确认的提示,除非您添加了 -Force 开关参数。
Remove-R53HostedZone -Id Z1PA6795UKMFR9
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteHostedZone中的。
-
以下代码示例演示如何使用 Remove-R53QueryLoggingConfig
。
- 用于 PowerShell
-
示例 1:此示例删除了 DNS 查询日志记录的指定配置。
Remove-R53QueryLoggingConfig -Id ee528e95-4e03-4fdc-9d28-9e24daaa20063
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteQueryLoggingConfig中的。
-
以下代码示例演示如何使用 Remove-R53ReusableDelegationSet
。
- 用于 PowerShell
-
示例 1:此示例删除指定的可重复使用的委托集。
Remove-R53ReusableDelegationSet -Id N23DS9X4AYAAAM
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteReusableDelegationSet中的。
-
以下代码示例演示如何使用 Unregister-R53VPCFromHostedZone
。
- 用于 PowerShell
-
示例 1:此示例取消指定的 VPC 与私有托管区域的关联。
Unregister-R53VPCFromHostedZone -HostedZoneId Z3MEQ8T7HAAAAF -VPC_VPCId vpc-f1b9aaaa -VPC_VPCRegion us-east-1
输出:
Id Status SubmittedAt Comment -- ------ ----------- ------- /change/C2XFCAAAA9HKZG PENDING 01/28/2020 10:35:55
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考VPCFromHostedZone中的取消关联。
-
以下代码示例演示如何使用 Update-R53HostedZoneComment
。
- 用于 PowerShell
-
示例 1:此命令更新指定托管区域的注释。
Update-R53HostedZoneComment -Id Z385PDS6AAAAAR -Comment "This is my first hosted zone"
输出:
Id : /hostedzone/Z385PDS6AAAAAR Name : example.com. CallerReference : C5B55555-7147-EF04-8341-69131E805C89 Config : Amazon.Route53.Model.HostedZoneConfig ResourceRecordSetCount : 9 LinkedService :
-
有关 API 的详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考UpdateHostedZoneComment中的。
-