Как создать сценарий, когда AWS не работает - PullRequest
0 голосов
/ 14 ноября 2018

Я работал над созданием 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);

1 Ответ

0 голосов
/ 14 ноября 2018

Нет разницы в времени простоя в вашем центре обработки данных и в центре обработки данных AWS. Это сценарий уровня разработки, при котором вам потребуется дополнительный сервер в режиме ожидания для обработки трафика на другом сайте AZ или DR (аварийное восстановление) в другом регионе.

  1. Вы можете остановить / прекратить работу экземпляра в регионе AWS, чтобы создать сценарий простоя. Пожалуйста, используйте Stop Ec2 instance , чтобы остановить экземпляр вручную.

    public StopInstancesResult stopInstances(StopInstancesRequest request) {}
    
  2. Чтобы справиться с доступностью вашего приложения, вам нужно настроить балансировщик нагрузки приложения с включенной группой автоматического масштабирования. Балансировщик нагрузки проверяет сервер после каждого настроенного времени (например, 5 секунд 2 минуты, вы можете выбрать любое значение) и перенаправлять трафик на другой экземпляр, если ваш текущий экземпляр EC2 неработоспособен.

  3. Поскольку все AZ находятся в одной и той же зоне доступности в одном и том же регионе, если ваш регион не работает, вам необходимо подготовить свой сайт DR со всеми вашими последними развернутыми кодами. Этот сайт можно использовать в случае простоя на уровне региона.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...