我一直在努力从EC2
创建java SDK
实例,并且我已经成功完成了该任务,但现在有人认为,尽管我知道它违反了AWS服务器的规定,但让我们假设这种情况云的概念仍然好像我们要处理此案一样,我无法理解如何创建方案并处理此案?
public static void main(String[] args) {
// Set up the amazon ec2 client
AmazonEC2 ec2Client = AmazonEC2ClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(AWS_CREDENTIALS))
.withRegion(Regions.US_EAST_1)
.build();
// Launch an Amazon EC2 Instance
RunInstancesRequest runInstancesRequest = new RunInstancesRequest().withImageId("ami-777777")
.withInstanceType("t2.micro") // https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
.withMinCount(1)
.withMaxCount(1)
.withNetworkInterfaces(new InstanceNetworkInterfaceSpecification()
.withAssociatePublicIpAddress(true)
.withDeviceIndex(0)
.withSubnetId("subnet-777777")
.withGroups("sg-777777"));
RunInstancesResult runInstancesResult = ec2Client.runInstances(runInstancesRequest);
Instance instance = runInstancesResult.getReservation().getInstances().get(0);
String instanceId = instance.getInstanceId();
System.out.println("EC2 Instance Id: " + instanceId);
// Setting up the tags for the instance
CreateTagsRequest createTagsRequest = new CreateTagsRequest()
.withResources(instance.getInstanceId())
.withTags(new Tag("Name", "codeflex-ec2"));
ec2Client.createTags(createTagsRequest);
// Starting the Instance
StartInstancesRequest startInstancesRequest = new StartInstancesRequest().withInstanceIds(instanceId);
答案 0 :(得分:1)
数据中心和AWS数据中心的停机时间没有区别。在设计级别的场景中,您将需要使其他服务器处于待机状态,以处理另一个区域中另一个AZ或DR(灾难恢复)站点中的流量。
您可以在AWS区域中停止/终止实例以创建停机场景。请使用Stop Ec2 instance手动停止实例。
public StopInstancesResult stopInstances(StopInstancesRequest request) {}
要处理应用程序的可用性,您需要在启用自动缩放组的情况下设置应用程序负载平衡器。负载平衡器会在每个配置的时间(例如5秒2分钟,您可以选择任意值)之后检查服务器,如果当前EC2实例运行状况不佳,则会将流量路由到另一个实例。