View a markdown version of this page

使用 PowerShell V4 工具的 Route 53 示例 - Amazon Tools for PowerShell (版本 4)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon Tools for PowerShell V4 的支持已到期。

我们建议您迁移到 Amazon Tools for PowerShell V5 。有关如何迁移的更多详细信息和信息,请参阅我们的终止支持公告

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 PowerShell V4 工具的 Route 53 示例

以下代码示例向您展示了如何使用带有 Route 53 的 Amazon Tools for PowerShell V4 来执行操作和实现常见场景。

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示了如何使用 Edit-R53ResourceRecordSet

适用于 PowerShell V4 的工具

示例 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 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) ChangeResourceRecordSets中的。

以下代码示例演示了如何使用 Get-R53AccountLimit

适用于 PowerShell V4 的工具

示例 1:此示例返回可以使用当前账户创建的托管区的最大数量。

Get-R53AccountLimit -Type MAX_HOSTED_ZONES_BY_OWNER

输出

15
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) GetAccountLimit中的。

以下代码示例演示了如何使用 Get-R53CheckerIpRanges

适用于 PowerShell V4 的工具

示例 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 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) GetCheckerIpRanges中的。

以下代码示例演示了如何使用 Get-R53HostedZone

适用于 PowerShell V4 的工具

示例 1:返回 ID 为 Z1D633 的托管区域的详细信息PJN98FT9。

Get-R53HostedZone -Id Z1D633PJN98FT9
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) GetHostedZone中的。

以下代码示例演示了如何使用 Get-R53HostedZoneCount

适用于 PowerShell V4 的工具

示例 1:返回当前的公有和私有托管区域的总数 Amazon Web Services 账户。

Get-R53HostedZoneCount
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) GetHostedZoneCount中的。

以下代码示例演示了如何使用 Get-R53HostedZoneLimit

适用于 PowerShell V4 的工具

示例 1:此示例返回对可在指定托管区中创建的最大记录数的限制。

Get-R53HostedZoneLimit -HostedZoneId Z3MEQ8T7HAAAAF -Type MAX_RRSETS_BY_ZONE

输出

5
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) GetHostedZoneLimit中的。

以下代码示例演示了如何使用 Get-R53HostedZoneList

适用于 PowerShell V4 的工具

示例 1:输出所有公有和私有托管区。

Get-R53HostedZoneList

示例 2:输出与 ID 为 NZ8 X2CISAMPLE 的可重复使用的委托集关联的所有托管区域

Get-R53HostedZoneList -DelegationSetId NZ8X2CISAMPLE
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) ListHostedZones中的。

以下代码示例演示了如何使用 Get-R53HostedZonesByName

适用于 PowerShell V4 的工具

示例 1:按照域名以 ASCII 顺序返回所有公有和私有托管区。

Get-R53HostedZonesByName

示例 2:按照域名以 ASCII 顺序返回公有和私有托管区,开头为指定的 DNS 名称。

Get-R53HostedZonesByName -DnsName example2.com
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) ListHostedZonesByName中的。

以下代码示例演示了如何使用 Get-R53QueryLoggingConfigList

适用于 PowerShell V4 的工具

示例 1:此示例返回与当前 Amazon Web Services 账户关联的 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 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) ListQueryLoggingConfigs中的。

以下代码示例演示了如何使用 Get-R53ReusableDelegationSet

适用于 PowerShell V4 的工具

示例 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 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) GetReusableDelegationSet中的。

以下代码示例演示了如何使用 New-R53HostedZone

适用于 PowerShell V4 的工具

示例 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 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) CreateHostedZone中的。

以下代码示例演示了如何使用 New-R53QueryLoggingConfig

适用于 PowerShell V4 的工具

示例 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 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) CreateQueryLoggingConfig中的。

以下代码示例演示了如何使用 New-R53ReusableDelegationSet

适用于 PowerShell V4 的工具

示例 1:此示例创建一个由 4 个名称服务器组成的可重用委派集,这些名称服务器可以由多个托管区重用。

New-R53ReusableDelegationSet -CallerReference testcallerreference

输出

DelegationSet Location ------------- -------- Amazon.Route53.Model.DelegationSet https://route53.amazonaws.com/2013-04-01/delegationset/N23DS9XAAAAAXM

以下代码示例演示了如何使用 Register-R53VPCWithHostedZone

适用于 PowerShell V4 的工具

示例 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 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考文档 (V 4) VPCWith HostedZone 中的关联

以下代码示例演示了如何使用 Remove-R53HostedZone

适用于 PowerShell V4 的工具

示例 1:删除具有指定 ID 的托管区。在命令继续之前,您将收到进行确认的提示,除非您添加了 -Force 开关参数。

Remove-R53HostedZone -Id Z1PA6795UKMFR9
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) DeleteHostedZone中的。

以下代码示例演示了如何使用 Remove-R53QueryLoggingConfig

适用于 PowerShell V4 的工具

示例 1:此示例移除指定 DNS 查询日志记录的指定配置。

Remove-R53QueryLoggingConfig -Id ee528e95-4e03-4fdc-9d28-9e24daaa20063
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) DeleteQueryLoggingConfig中的。

以下代码示例演示了如何使用 Remove-R53ReusableDelegationSet

适用于 PowerShell V4 的工具

示例 1:此示例删除指定的可重用委派集。

Remove-R53ReusableDelegationSet -Id N23DS9X4AYAAAM

以下代码示例演示了如何使用 Unregister-R53VPCFromHostedZone

适用于 PowerShell V4 的工具

示例 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 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V4) VPCFrom HostedZone 中的取消关联

以下代码示例演示了如何使用 Update-R53HostedZoneComment

适用于 PowerShell V4 的工具

示例 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 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) UpdateHostedZoneComment中的。