2012-04-29 3 views
3

프로젝트의 일환으로 아마존 AWS에서 새로드 밸런서를 만들어야합니다. java sdk를 사용하여 수행해야합니다.AWS에서로드 밸런서를 만드는 방법 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"); 

답변

13

잘 finelly 나는 그것을 가지고 :

가 먼저

등록

//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"); 

그 요청을 시작하는 데 사용 ELB 클라이언트

AmazonElasticLoadBalancingClient elb = new AmazonElasticLoadBalancingClient(credentials); 

를 만들려면 ...에서 ...

로드 밸런서

//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); 

에 입장하면 모든 작업이 완료된다