Elastic Load Balancing-版本 1 示例使用以下工具 PowerShell - AWS SDK代码示例

AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例

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

Elastic Load Balancing-版本 1 示例使用以下工具 PowerShell

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

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

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

主题

操作

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

用于 PowerShell

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

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

输出:

subnet-12345678 subnet-87654321

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

用于 PowerShell

示例 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详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考AddTags中的。

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

用于 PowerShell

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

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

输出:

us-west-2b

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

用于 PowerShell

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

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

输出:

subnet-87654321

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

用于 PowerShell

示例 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

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

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

输出:

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

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

用于 PowerShell

示例 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.

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

用于 PowerShell

示例 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:此示例描述了您在当前 AWS 区域中的所有负载均衡器。

Get-ELBLoadBalancer

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

Get-AWSRegion | % { Get-ELBLoadBalancer -Region $_ }

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

用于 PowerShell

示例 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

示例 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

示例 1:此示例获取了 Elastic Load Balancing 支持的策略类型。

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

示例 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详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DescribeTags中的。

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

用于 PowerShell

示例 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

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

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

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

用于 PowerShell

示例 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

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

$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详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考CreateLoadBalancer中的。

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

用于 PowerShell

示例 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

示例 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

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

用于 PowerShell

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

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

输出:

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

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

用于 PowerShell

示例 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

示例 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详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteLoadBalancer中的。

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

用于 PowerShell

示例 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

示例 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"):

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

用于 PowerShell

示例 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 = New-Object Amazon.ElasticLoadBalancing.Model.TagKeyOnly $tag.Key = "project" Remove-ELBResourceTag -Tag $tag -Force
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考RemoveTags中的。

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

用于 PowerShell

示例 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详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ConfigureHealthCheck中的。

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

用于 PowerShell

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

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

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

用于 PowerShell

示例 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

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

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

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

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