in src/main/java/com/amazonaws/fixengineonaws/FixEngine.java [418:459]
private void updateGAEndpoints(String myGaEndpointGroupArn, String myGaEndpointArn) {
LOGGER.info(MY_IP+"UPDATE GA ENDPOINT starting for myGaEndpointGroupArn: "+ myGaEndpointGroupArn + " and myGaEndpointArn: "+ myGaEndpointArn);
String activeEndpoint = null;
String passiveEndpoint = null;
String tobeActiveEndpoint = null;
tobeActiveEndpoint = myGaEndpointArn;
// following code if rumnning on EC2
// String ec2InstanceID = EC2MetadataUtils.getInstanceId();
// LOGGER.info(MY_IP+" ec2InstanceID " + ec2InstanceID);
// tobeActiveEndpoint = ec2InstanceID;
AWSGlobalAccelerator amazonGlobalAcceleratorClient = AWSGlobalAcceleratorClientBuilder.standard().withRegion(Regions.US_WEST_2).build();
DescribeEndpointGroupResult describeEndpointGroupResult = amazonGlobalAcceleratorClient.describeEndpointGroup(new DescribeEndpointGroupRequest().withEndpointGroupArn(myGaEndpointGroupArn));
//System.out.println("describeEndpointGroupResult: " + describeEndpointGroupResult);
EndpointGroup endpointGroup = describeEndpointGroupResult.getEndpointGroup();
List<EndpointDescription> endpointDescriptions = endpointGroup.getEndpointDescriptions();
for (int i = 0; i < endpointDescriptions.size(); i++) {
EndpointDescription endpointDescription = endpointDescriptions.get(i);
String endpointId = endpointDescription.getEndpointId();
String healthState = endpointDescription.getHealthState();
Integer weight = endpointDescription.getWeight();
// Make the endpoint active based on instance id or NLB Arn
if (endpointId.equals(tobeActiveEndpoint) ) {
activeEndpoint = endpointId;
} else {
passiveEndpoint = endpointId;
}
LOGGER.info(MY_IP+"MY ENDPOINT: ID: "+ endpointId + " HEALTH: " + healthState + " WEIGHT: " + weight);
}
LOGGER.info(MY_IP+"UPDATE GA ENDPOINT activeEndpoint: "+ activeEndpoint + " passiveEndpoint: " + passiveEndpoint);
//Update the GA endpoint configuration to flip from active to passive endpoint
Collection<EndpointConfiguration> endpointConfiguration = new ArrayList<EndpointConfiguration> ();
endpointConfiguration.add(new EndpointConfiguration().withEndpointId(activeEndpoint).withWeight(100));
endpointConfiguration.add(new EndpointConfiguration().withEndpointId(passiveEndpoint).withWeight(0));
LOGGER.info(MY_IP+"UPDATE GA ENDPOINT flipping to myGaEndpointArn: "+ myGaEndpointArn + " with endpointConfiguration: " + endpointConfiguration);
amazonGlobalAcceleratorClient.updateEndpointGroup(new UpdateEndpointGroupRequest().withEndpointGroupArn(myGaEndpointGroupArn).withEndpointConfigurations(endpointConfiguration));
}