View a markdown version of this page

Elastic Load Balancing-使用适用于 PowerShell V4 的工具的版本 1 示例 - 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 。有关如何迁移的更多详细信息和信息,请参阅我们的终止支持公告

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

Elastic Load Balancing-使用适用于 PowerShell V4 的工具的版本 1 示例

以下代码示例向您展示了如何使用带有 Elastic Load Balancing 的 Amazon Tools for PowerShell V4-版本 1 来执行操作和实现常见场景。

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

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

主题

操作

以下代码示例演示了如何使用 Add-ELBLoadBalancerToSubnet

适用于 PowerShell V4 的工具

示例 1:此示例将指定的子网添加到为指定的负载均衡器配置的子网集。输出包括子网的完整列表。

Add-ELBLoadBalancerToSubnet -LoadBalancerName my-load-balancer -Subnet subnet-12345678

输出

subnet-12345678 subnet-87654321

以下代码示例演示了如何使用 Add-ELBResourceTag

适用于 PowerShell V4 的工具

示例 1:此示例将指定的标签添加到指定的负载均衡器。此示例使用的语法需要 PowerShell 版本 3 或更高版本。

Add-ELBResourceTag -LoadBalancerName my-load-balancer -Tag @{ Key="project";Value="lima" },@{ Key="department";Value="digital-media" }

示例 2:在 PowerShell 版本 2 中,必须使用 New-Object 为标签参数创建标签。

$tag = New-Object Amazon.ElasticLoadBalancing.Model.Tag $tag.Key = "project" $tag.Value = "lima" Add-ELBResourceTag -LoadBalancerName my-load-balancer -Tag $tag
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) AddTags中的。

以下代码示例演示了如何使用 Disable-ELBAvailabilityZoneForLoadBalancer

适用于 PowerShell V4 的工具

示例 1:此示例从指定的负载均衡器移除指定的可用区。输出包括剩余的可用区。

Disable-ELBAvailabilityZoneForLoadBalancer -LoadBalancerName my-load-balancer -AvailabilityZone us-west-2a

输出

us-west-2b

以下代码示例演示了如何使用 Dismount-ELBLoadBalancerFromSubnet

适用于 PowerShell V4 的工具

示例 1:此示例从为指定负载均衡器配置的子网集中删除指定的子网。输出包括其余子网。

Dismount-ELBLoadBalancerFromSubnet -LoadBalancerName my-load-balancer -Subnet subnet-12345678

输出

subnet-87654321

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

适用于 PowerShell V4 的工具

示例 1:此示例为指定的负载均衡器启用跨可用区负载均衡。

Edit-ELBLoadBalancerAttribute -LoadBalancerName my-load-balancer -CrossZoneLoadBalancing_Enabled $true

示例 2:此示例为指定的负载均衡器禁用连接耗尽。

Edit-ELBLoadBalancerAttribute -LoadBalancerName my-load-balancer -ConnectionDraining_Enabled $false

示例 3:此示例为指定的负载均衡器启用访问日志记录。

Edit-ELBLoadBalancerAttribute -LoadBalancerName my-load-balancer ` >> -AccessLog_Enabled $true ` >> -AccessLog_S3BucketName amzn-s3-demo-logging-bucket ` >> -AccessLog_S3BucketPrefix my-app/prod ` >> -AccessLog_EmitInterval 60

以下代码示例演示了如何使用 Enable-ELBAvailabilityZoneForLoadBalancer

适用于 PowerShell V4 的工具

示例 1:此示例将指定的可用区添加到指定的负载均衡器。输出包括可用区的完整列表。

Enable-ELBAvailabilityZoneForLoadBalancer -LoadBalancerName my-load-balancer -AvailabilityZone us-west-2a

输出

us-west-2a us-west-2b

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

适用于 PowerShell V4 的工具

示例 1:此示例描述向指定负载均衡器注册的实例的状态。

Get-ELBInstanceHealth -LoadBalancerName my-load-balancer

输出

Description InstanceId ReasonCode State ----------- ---------- ---------- ----- N/A i-87654321 N/A InService Instance has failed at lea... i-12345678 Instance OutOfService

示例 2:此示例描述向指定负载均衡器注册的指定实例的状态。

Get-ELBInstanceHealth -LoadBalancerName my-load-balancer -Instance i-12345678

示例 3:此示例显示指定实例的状态的完整描述。

(Get-ELBInstanceHealth -LoadBalancerName my-load-balancer -Instance i-12345678).Description

输出

Instance has failed at least the UnhealthyThreshold number of health checks consecutively.
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) DescribeInstanceHealth中的。

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

适用于 PowerShell V4 的工具

示例 1:此示例列出负载均衡器的名称。

Get-ELBLoadBalancer | format-table -property LoadBalancerName

输出

LoadBalancerName ---------------- my-load-balancer my-other-load-balancer my-internal-load-balancer

示例 2:此示例描述指定的负载均衡器。

Get-ELBLoadBalancer -LoadBalancerName my-load-balancer

输出

AvailabilityZones : {us-west-2a, us-west-2b} BackendServerDescriptions : {Amazon.ElasticLoadBalancing.Model.BackendServerDescription} CanonicalHostedZoneName : my-load-balancer-1234567890.us-west-2.elb.amazonaws.com CanonicalHostedZoneNameID : Z3DZXE0EXAMPLE CreatedTime : 4/11/2015 12:12:45 PM DNSName : my-load-balancer-1234567890.us-west-2.elb.amazonaws.com HealthCheck : Amazon.ElasticLoadBalancing.Model.HealthCheck Instances : {i-207d9717, i-afefb49b} ListenerDescriptions : {Amazon.ElasticLoadBalancing.Model.ListenerDescription} LoadBalancerName : my-load-balancer Policies : Amazon.ElasticLoadBalancing.Model.Policies Scheme : internet-facing SecurityGroups : {sg-a61988c3} SourceSecurityGroup : Amazon.ElasticLoadBalancing.Model.SourceSecurityGroup Subnets : {subnet-15aaab61} VPCId : vpc-a01106c2

示例 3:此示例描述了您在当前 Amazon 区域中的所有负载均衡器。

Get-ELBLoadBalancer

示例 4:此示例描述所有可用 Amazon Web Services 区域中的所有负载均衡器。

Get-AWSRegion | % { Get-ELBLoadBalancer -Region $_ }
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) DescribeLoadBalancers中的。

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

适用于 PowerShell V4 的工具

示例 1:此示例描述指定负载均衡器的属性。

Get-ELBLoadBalancerAttribute -LoadBalancerName my-load-balancer

输出

AccessLog : Amazon.ElasticLoadBalancing.Model.AccessLog AdditionalAttributes : {} ConnectionDraining : Amazon.ElasticLoadBalancing.Model.ConnectionDraining ConnectionSettings : Amazon.ElasticLoadBalancing.Model.ConnectionSettings CrossZoneLoadBalancing : Amazon.ElasticLoadBalancing.Model.CrossZoneLoadBalancing

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

适用于 PowerShell V4 的工具

示例 1:此示例描述与指定负载均衡器关联的策略。

Get-ELBLoadBalancerPolicy -LoadBalancerName my-load-balancer

输出

PolicyAttributeDescriptions PolicyName PolicyTypeName --------------------------- ---------- -------------- {ProxyProtocol} my-ProxyProtocol-policy ProxyProtocolPolicyType {CookieName} my-app-cookie-policy AppCookieStickinessPolicyType

示例 2:此示例描述指定策略的属性。

(Get-ELBLoadBalancerPolicy -LoadBalancerName my-load-balancer -PolicyName my-ProxyProtocol-policy).PolicyAttributeDescriptions

输出

AttributeName AttributeValue ------------- -------------- ProxyProtocol true

示例 3:此示例描述预定义的策略,包括示例策略。示例策略的名称带有 ELBSample-前缀。

Get-ELBLoadBalancerPolicy

输出

PolicyAttributeDescriptions PolicyName PolicyTypeName --------------------------- ---------- -------------- {Protocol-SSLv2, Protocol-TLSv1, Pro... ELBSecurityPolicy-2015-05 SSLNegotiationPolicyType {Protocol-SSLv2, Protocol-TLSv1, Pro... ELBSecurityPolicy-2015-03 SSLNegotiationPolicyType {Protocol-SSLv2, Protocol-TLSv1, Pro... ELBSecurityPolicy-2015-02 SSLNegotiationPolicyType {Protocol-SSLv2, Protocol-TLSv1, Pro... ELBSecurityPolicy-2014-10 SSLNegotiationPolicyType {Protocol-SSLv2, Protocol-TLSv1, Pro... ELBSecurityPolicy-2014-01 SSLNegotiationPolicyType {Protocol-SSLv2, Protocol-TLSv1, Pro... ELBSecurityPolicy-2011-08 SSLNegotiationPolicyType {Protocol-SSLv2, Protocol-TLSv1, Pro... ELBSample-ELBDefaultCipherPolicy SSLNegotiationPolicyType {Protocol-SSLv2, Protocol-TLSv1, Pro... ELBSample-OpenSSLDefaultCipherPolicy SSLNegotiationPolicyType

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

适用于 PowerShell V4 的工具

示例 1:此示例获取弹性负载均衡支持的策略类型。

Get-ELBLoadBalancerPolicyType

输出

Description PolicyAttributeTypeDescriptions PolicyTypeName ----------- ------------------------------- -------------- Stickiness policy with session lifet... {CookieExpirationPeriod} LBCookieStickinessPolicyType Policy that controls authentication ... {PublicKeyPolicyName} BackendServerAuthenticationPolicyType Listener policy that defines the cip... {Protocol-SSLv2, Protocol-TLSv1, Pro... SSLNegotiationPolicyType Policy containing a list of public k... {PublicKey} PublicKeyPolicyType Stickiness policy with session lifet... {CookieName} AppCookieStickinessPolicyType Policy that controls whether to incl... {ProxyProtocol} ProxyProtocolPolicyType

示例 2:此示例描述指定的策略类型。

Get-ELBLoadBalancerPolicyType -PolicyTypeName ProxyProtocolPolicyType

输出

Description PolicyAttributeTypeDescriptions PolicyTypeName ----------- ------------------------------- -------------- Policy that controls whether to incl... {ProxyProtocol} ProxyProtocolPolicyType

示例 3:此示例显示指定策略类型的完整描述。

(Get-ELBLoadBalancerPolicyType -PolicyTypeName).Description

输出

Policy that controls whether to include the IP address and port of the originating request for TCP messages. This policy operates on TCP/SSL listeners only

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

适用于 PowerShell V4 的工具

示例 1:此示例列出指定负载均衡器的标签。

Get-ELBResourceTag -LoadBalancerName @("my-load-balancer","my-internal-load-balancer")

输出

LoadBalancerName Tags ---------------- ---- my-load-balancer {project, department} my-internal-load-balancer {project, department}

示例 2:此示例描述指定负载均衡器的标签。

(Get-ELBResourceTag -LoadBalancerName my-load-balancer).Tags

输出

Key Value --- ----- project lima department digital-media
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) DescribeTags中的。

以下代码示例演示了如何使用 Join-ELBSecurityGroupToLoadBalancer

适用于 PowerShell V4 的工具

示例 1:此示例使用指定安全组替换指定负载均衡器的当前安全组。

Join-ELBSecurityGroupToLoadBalancer -LoadBalancerName my-load-balancer -SecurityGroup sg-87654321

输出

sg-87654321

示例 2:要保留当前安全组并指定其它安全组,请同时指定现有安全组和新安全组。

Join-ELBSecurityGroupToLoadBalancer -LoadBalancerName my-load-balancer -SecurityGroup @("sg-12345678", "sg-87654321")

输出

sg-12345678 sg-87654321

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

适用于 PowerShell V4 的工具

示例 1:此示例创建一个粘性策略,该策略遵循指定的应用程序生成的 Cookie 的粘性会话生命周期。

New-ELBAppCookieStickinessPolicy -LoadBalancerName my-load-balancer -PolicyName my-app-cookie-policy -CookieName my-app-cookie

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

适用于 PowerShell V4 的工具

示例 1:此示例创建一个粘性策略,其粘性会话生命周期由指定的有效期限控制(以秒为单位)。

New-ELBLBCookieStickinessPolicy -LoadBalancerName my-load-balancer -PolicyName my-duration-cookie-policy -CookieExpirationPeriod 60

示例 2:此示例创建一个粘性策略,其粘性会话生命周期由浏览器(用户代理)的生命周期控制。

New-ELBLBCookieStickinessPolicy -LoadBalancerName my-load-balancer -PolicyName my-duration-cookie-policy

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

适用于 PowerShell V4 的工具

示例 1:此示例在 VPC 中创建带有 HTTP 侦听器的负载均衡器。

$httpListener = New-Object Amazon.ElasticLoadBalancing.Model.Listener $httpListener.Protocol = "http" $httpListener.LoadBalancerPort = 80 $httpListener.InstanceProtocol = "http" $httpListener.InstancePort = 80 New-ELBLoadBalancer -LoadBalancerName my-vpc-load-balancer -SecurityGroup sg-a61988c3 -Subnet subnet-15aaab61 -Listener $httpListener my-vpc-load-balancer-1234567890.us-west-2.elb.amazonaws.com

示例 2:此示例在 EC2-Classic 中创建了一个带有 HTTP 侦听器的负载均衡器。

New-ELBLoadBalancer -LoadBalancerName my-classic-load-balancer -AvailabilityZone us-west-2a` -Listener $httpListener

输出

my-classic-load-balancer-123456789.us-west-2.elb.amazonaws.com

示例 3:此示例创建带有 HTTPS 侦听器的负载均衡器。

$httpsListener = New-Object Amazon.ElasticLoadBalancing.Model.Listener $httpsListener.Protocol = "https" $httpsListener.LoadBalancerPort = 443 $httpsListener.InstanceProtocol = "http" $httpsListener.InstancePort = 80 $httpsListener.SSLCertificateId="arn:aws:iam::123456789012:server-certificate/my-server-cert" New-ELBLoadBalancer -LoadBalancerName my-load-balancer -AvailabilityZone us-west-2a -Listener $httpsListener my-load-balancer-123456789.us-west-2.elb.amazonaws.com
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) CreateLoadBalancer中的。

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

适用于 PowerShell V4 的工具

示例 1:此示例向指定的负载均衡器添加 HTTPS 侦听器。

$httpsListener = New-Object Amazon.ElasticLoadBalancing.Model.Listener $httpsListener.Protocol = "https" $httpsListener.LoadBalancerPort = 443 $httpsListener.InstanceProtocol = "https" $httpsListener.InstancePort = 443 $httpsListener.SSLCertificateId="arn:aws:iam::123456789012:server-certificate/my-server-cert" New-ELBLoadBalancerListener -LoadBalancerName my-load-balancer -Listener $httpsListener

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

适用于 PowerShell V4 的工具

示例 1:此示例为指定的负载均衡器创建一个新的代理协议策略。

$attribute = New-Object Amazon.ElasticLoadBalancing.Model.PolicyAttribute -Property @{ AttributeName="ProxyProtocol" AttributeValue="True" } New-ELBLoadBalancerPolicy -LoadBalancerName my-load-balancer -PolicyName my-ProxyProtocol-policy -PolicyTypeName ProxyProtocolPolicyType -PolicyAttribute $attribute
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) CreateLoadBalancerPolicy中的。

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

适用于 PowerShell V4 的工具

示例 1:此示例向指定的负载均衡器注册指定 EC2 实例。

Register-ELBInstanceWithLoadBalancer -LoadBalancerName my-load-balancer -Instance i-12345678

输出

InstanceId ---------- i-12345678 i-87654321

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

适用于 PowerShell V4 的工具

示例 1:此示例从指定的负载均衡器中移除指定 EC2 实例。除非您还指定了 Force 参数,否则在操作继续之前,系统会提示您进行确认。

Remove-ELBInstanceFromLoadBalancer -LoadBalancerName my-load-balancer -Instance i-12345678

输出

Confirm Are you sure you want to perform this action? Performing operation "Remove-ELBInstanceFromLoadBalancer (DeregisterInstancesFromLoadBalancer)" on Target "Amazon.ElasticLoadBalancing.Model.Instance". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): InstanceId ---------- i-87654321

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

适用于 PowerShell V4 的工具

示例 1:此示例删除指定的负载均衡器。除非您还指定了 Force 参数,否则在操作继续之前,系统会提示您进行确认。

Remove-ELBLoadBalancer -LoadBalancerName my-load-balancer

输出

Confirm Are you sure you want to perform this action? Performing operation "Remove-ELBLoadBalancer (DeleteLoadBalancer)" on Target "my-load-balancer". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) DeleteLoadBalancer中的。

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

适用于 PowerShell V4 的工具

示例 1:此示例删除指定负载均衡器的端口 80 上的侦听器。除非您还指定了 Force 参数,否则在操作继续之前,系统会提示您进行确认。

Remove-ELBLoadBalancerListener -LoadBalancerName my-load-balancer -LoadBalancerPort 80

输出

Confirm Are you sure you want to perform this action? Performing operation "Remove-ELBLoadBalancerListener (DeleteLoadBalancerListeners)" on Target "80". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):

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

适用于 PowerShell V4 的工具

示例 1:此示例从指定的负载均衡器中删除指定的策略。除非您还指定了 Force 参数,否则在操作继续之前,系统会提示您进行确认。

Remove-ELBLoadBalancerPolicy -LoadBalancerName my-load-balancer -PolicyName my-duration-cookie-policy

输出

Confirm Are you sure you want to perform this action? Performing operation "Remove-ELBLoadBalancerPolicy (DeleteLoadBalancerPolicy)" on Target "my-duration-cookie-policy". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) DeleteLoadBalancerPolicy中的。

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

适用于 PowerShell V4 的工具

示例 1:此示例从指定的负载均衡器移除指定的标签。除非您还指定了 Force 参数,否则在操作继续之前,系统会提示您进行确认。此示例使用的语法需要 PowerShell 版本 3 或更高版本。

Remove-ELBResourceTag -LoadBalancerName my-load-balancer -Tag @{ Key="project" }

输出

Confirm Are you sure you want to perform this action? Performing the operation "Remove-ELBResourceTag (RemoveTags)" on target "Amazon.ElasticLoadBalancing.Model.TagKeyOnly". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):

示例 2:对于 PowerShell 版本 2,必须使用 New-Object 为 Tag 参数创建标签。

$tag = New-Object Amazon.ElasticLoadBalancing.Model.TagKeyOnly $tag.Key = "project" Remove-ELBResourceTag -Tag $tag -Force
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) RemoveTags中的。

以下代码示例演示了如何使用 Set-ELBHealthCheck

适用于 PowerShell V4 的工具

示例 1:此示例配置指定负载均衡器的运行状况检查设置。

Set-ELBHealthCheck -LoadBalancerName my-load-balancer ` >> -HealthCheck_HealthyThreshold 2 ` >> -HealthCheck_UnhealthyThreshold 2 ` >> -HealthCheck_Target "HTTP:80/ping" ` >> -HealthCheck_Interval 30 ` >> -HealthCheck_Timeout 3

输出

HealthyThreshold : 2 Interval : 30 Target : HTTP:80/ping Timeout : 3 UnhealthyThreshold : 2
  • 有关 API 的详细信息,请参阅 Amazon Tools for PowerShell Cmdlet 参考 (V 4) ConfigureHealthCheck中的。

以下代码示例演示了如何使用 Set-ELBLoadBalancerListenerSSLCertificate

适用于 PowerShell V4 的工具

示例 1:此示例替换用于终止指定侦听器的 SSL 连接的证书。

Set-ELBLoadBalancerListenerSSLCertificate -LoadBalancerName my-load-balancer ` >> -LoadBalancerPort 443 ` >> -SSLCertificateId "arn:aws:iam::123456789012:server-certificate/new-server-cert"

以下代码示例演示了如何使用 Set-ELBLoadBalancerPolicyForBackendServer

适用于 PowerShell V4 的工具

示例 1:此示例使用指定的策略替换指定端口的策略。

Set-ELBLoadBalancerPolicyForBackendServer -LoadBalancerName my-load-balancer -InstancePort 80 -PolicyName my-ProxyProtocol-policy

示例 2:此示例移除与指定端口关联的所有策略。

Set-ELBLoadBalancerPolicyForBackendServer -LoadBalancerName my-load-balancer -InstancePort 80

以下代码示例演示了如何使用 Set-ELBLoadBalancerPolicyOfListener

适用于 PowerShell V4 的工具

示例 1:此示例使用指定策略替换指定侦听器的策略。

Set-ELBLoadBalancerPolicyOfListener -LoadBalancerName my-load-balancer -LoadBalancerPort 443 -PolicyName my-SSLNegotiation-policy

示例 2:此示例移除与指定侦听器关联的所有策略。

Set-ELBLoadBalancerPolicyOfListener -LoadBalancerName my-load-balancer -LoadBalancerPort 443