java - 我如何使用 AWS java sdk 在 AWS 中创建负载均衡器

标签 java amazon-web-services load-balancing amazon-elb

作为项目的一部分,我需要在亚马逊 AWS 上创建一个新的负载均衡器。 我需要使用 java sdk 来完成

如何使用代码设置负载均衡器?

这是我到目前为止没有成功的尝试。

//create load balancer
        CreateLoadBalancerRequest lbRequest = new CreateLoadBalancerRequest();
        lbRequest.setLoadBalancerName("loader");
        List<Listener> listeners = new ArrayList<Listener>(1);
        listeners.add(new Listener("HTTP", 80, 80));
        lbRequest.withAvailabilityZones(availabilityZone1,availabilityZone2);
        lbRequest.setListeners(listeners);

        CreateLoadBalancerResult lbResult=new CreateLoadBalancerResult();
        System.out.println("created load balancer loader");

最佳答案

很好,我明白了:

首先创建一个elb客户端

AmazonElasticLoadBalancingClient elb = new AmazonElasticLoadBalancingClient(credentials);

然后

用它来发起请求

  //create load balancer
        CreateLoadBalancerRequest lbRequest = new CreateLoadBalancerRequest();
        lbRequest.setLoadBalancerName("loader");
        List<Listener> listeners = new ArrayList<Listener>(1);
        listeners.add(new Listener("HTTP", 80, 80));
        lbRequest.withAvailabilityZones(availabilityZone1,availabilityZone2);
        lbRequest.setListeners(listeners);

        CreateLoadBalancerResult lbResult=elb.createLoadBalancer(lbRequest);
        System.out.println("created load balancer loader");

然后将您的实例注册到负载均衡器

//get the running instances
        DescribeInstancesResult describeInstancesRequest = ec2.describeInstances();
        List<Reservation> reservations = describeInstancesRequest.getReservations();
        List<Instance> instances = new ArrayList<Instance>();

        for (Reservation reservation : reservations) {
            instances.addAll(reservation.getInstances());
        }


        //get instance id's
        String id;
        List instanceId=new ArrayList();
        List instanceIdString=new ArrayList();
        Iterator<Instance> iterator=instances.iterator();
        while (iterator.hasNext())
        {
            id=iterator.next().getInstanceId();
            instanceId.add(new com.amazonaws.services.elasticloadbalancing.model.Instance(id));
            instanceIdString.add(id);
        }


        //register the instances to the balancer
        RegisterInstancesWithLoadBalancerRequest register =new RegisterInstancesWithLoadBalancerRequest();
        register.setLoadBalancerName("loader");
        register.setInstances((Collection)instanceId);
        RegisterInstancesWithLoadBalancerResult registerWithLoadBalancerResult= elb.registerInstancesWithLoadBalancer(register);

你完成了...

关于java - 我如何使用 AWS java sdk 在 AWS 中创建负载均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10374704/

相关文章:

java - 是否可以在 javafx 对话框中使用特定的类?

java - Eclipse 版本控制 - 项目不再显示在工作区中的问题

amazon-web-services - AWS 负载均衡器后面的 ASP.NET Core 2.1 HTTPS 重定向?

string - AWS Cloudformation 属性 SubnetIds 的值必须为字符串列表类型

amazon-web-services - 路由53的资源记录集的多个IP地址

apache-flex - Flex 将错误的端口添加到 CFC 调用

java - Spring MVC 模型属性的初始化

amazon-web-services - 内部和面向 Internet 的 Elastic Load Balancing

java - Jenkins 平衡奴隶

java - ArrayIndexOutOfBoundsException : -1 in recursive sorting