List of usage examples for com.amazonaws.services.elasticloadbalancing.model CreateLoadBalancerRequest setAvailabilityZones
public void setAvailabilityZones(java.util.Collection<String> availabilityZones)
One or more Availability Zones from the same region as the load balancer.
From source file:com.kpbird.aws.Main.java
public void createElasticLoadBalancing() { try {/*w ww.j a va 2s . c o m*/ AmazonElasticLoadBalancingClient aebc = new AmazonElasticLoadBalancingClient(credentials); aebc.setEndpoint(endPoint); aebc.setRegion(region); String instanceid = Util.getInstanceId(InstanceName, credentials, endPoint, region); String azone = Util.getAvailabilityZone(instanceid, credentials, endPoint, region); CreateLoadBalancerRequest cbr = new CreateLoadBalancerRequest(); cbr.setLoadBalancerName(elbName); ArrayList<Listener> arrListener = new ArrayList<Listener>(); arrListener.add(new Listener().withInstancePort(ListenerInstancePort) .withInstanceProtocol(ListenerInstanceProtocol).withLoadBalancerPort(ListenerPort) .withProtocol(ListenerProtocol)); cbr.setListeners(arrListener); ArrayList<String> arrAvailabilityZone = new ArrayList<String>(); arrAvailabilityZone.add(azone); cbr.setAvailabilityZones(arrAvailabilityZone); CreateLoadBalancerResult cbresult = aebc.createLoadBalancer(cbr); log.Info("DNS Name " + cbresult.getDNSName()); // wait for process complete ConfigureHealthCheckRequest chcr = new ConfigureHealthCheckRequest(); chcr.setLoadBalancerName(elbName); HealthCheck healthCK = new HealthCheck(); healthCK.withHealthyThreshold(HealthyThreshold); healthCK.withInterval(HealthInterval); healthCK.withTarget(HealthTarget); healthCK.withTimeout(HealthTimeout); healthCK.withUnhealthyThreshold(HealthUnhealthyThreshold); chcr.setHealthCheck(healthCK); aebc.configureHealthCheck(chcr); // wait for process complete RegisterInstancesWithLoadBalancerRequest riwbr = new RegisterInstancesWithLoadBalancerRequest(); riwbr.setLoadBalancerName(elbName); ArrayList<com.amazonaws.services.elasticloadbalancing.model.Instance> arrInstances = new ArrayList<com.amazonaws.services.elasticloadbalancing.model.Instance>(); com.amazonaws.services.elasticloadbalancing.model.Instance i = new com.amazonaws.services.elasticloadbalancing.model.Instance( instanceid); arrInstances.add(i); riwbr.setInstances(arrInstances); RegisterInstancesWithLoadBalancerResult riwbresult = aebc.registerInstancesWithLoadBalancer(riwbr); } catch (Exception e) { e.printStackTrace(); } }
From source file:com.swap.aws.elb.client.AWSHelper.java
License:Apache License
/** * Creates a load balancer and returns its DNS name. Useful when a new * cluster is added./*from ww w . jav a 2 s . c o m*/ * * @param name * @param listeners * @return DNS name of newly created load balancer */ public String createLoadBalancer(String name, List<Listener> listeners) { try { CreateLoadBalancerRequest createLoadBalancerRequest = new CreateLoadBalancerRequest(name); createLoadBalancerRequest.setListeners(listeners); Set<String> availabilityZones = new HashSet<String>(); availabilityZones.add(availabilityZone); createLoadBalancerRequest.setAvailabilityZones(availabilityZones); AmazonElasticLoadBalancingClient lbClient = new AmazonElasticLoadBalancingClient(awsCredentials, clientConfiguration); lbClient.setEndpoint("elasticloadbalancing." + this.region + ".amazonaws.com"); CreateLoadBalancerResult clbResult = lbClient.createLoadBalancer(createLoadBalancerRequest); System.out.println("Created load balancer : " + clbResult.getDNSName()); return clbResult.getDNSName(); } catch (Exception e) { log.error("Could not create load balancer : " + name + "."); e.printStackTrace(); return null; } }
From source file:org.apache.stratos.aws.extension.AWSHelper.java
License:Apache License
/** * Creates a load balancer and returns its DNS name. Useful when a new * cluster is added.// w w w . j av a2 s .c o m * * @param name of the load balancer to be created * @param listeners to be attached to the load balancer * @param region in which the load balancer needs to be created * @return DNS name of newly created load balancer * @throws LoadBalancerExtensionException */ public String createLoadBalancer(String name, List<Listener> listeners, String region, Set<String> availabilityZones, boolean inVPC) throws LoadBalancerExtensionException { log.info("Creating load balancer " + name); CreateLoadBalancerRequest createLoadBalancerRequest = new CreateLoadBalancerRequest(name); createLoadBalancerRequest.setListeners(listeners); // don't need this now since we are anyway updating zone according to the member // Set<String> availabilityZones = new HashSet<String>(); // availabilityZones.add(getAvailabilityZoneFromRegion(region)); // // createLoadBalancerRequest.setAvailabilityZones(availabilityZones); try { if (inVPC) { List<String> securityGroups = new ArrayList<String>(); if (!vpcIds.isEmpty()) { for (String vpcId : vpcIds) { String securityGroupId = getSecurityGroupIdForRegion(region, vpcId); securityGroups.add(securityGroupId); } } else { String securityGroupId = getSecurityGroupIdForRegion(region, null); securityGroups.add(securityGroupId); } createLoadBalancerRequest.setSecurityGroups(securityGroups); // set subnet ids if (!getSubnetIds().isEmpty()) { createLoadBalancerRequest.setSubnets(subnetIds); } // set scheme to 'internal' if specified if (getLbScheme() != null && getLbScheme().equals(Constants.LB_SCHEME_INTERNAL)) { createLoadBalancerRequest.setScheme(getLbScheme()); } } else { // set initial availability zones createLoadBalancerRequest.setAvailabilityZones(availabilityZones); } elbClient.setEndpoint(String.format(Constants.ELB_ENDPOINT_URL_FORMAT, region)); CreateLoadBalancerResult clbResult = elbClient.createLoadBalancer(createLoadBalancerRequest); return clbResult.getDNSName(); } catch (AmazonClientException e) { String errorMsg = "Could not create load balancer " + name; log.error(errorMsg, e); throw new LoadBalancerExtensionException(errorMsg, e); } }