Как вы тестируете локально с Нептуном? - PullRequest
1 голос
/ 31 мая 2019

Я пытаюсь протестировать нашу базу данных Нептуна, используя gremlin. Я не нашел способ проверить на местном уровне. Какие у меня варианты?

В настоящее время просто тестирование в режиме реального времени. Это явно не очень эффективно.

1 Ответ

0 голосов
/ 18 июня 2019

Если это чисто для целей тестирования, то вы можете разрешить DNS конечной точки модуля записи кластера, чтобы получить его IP.

// From an EC2 instance that has connectivity to your DB:
dig +short cluster-writer-endpoint-here

Затем создайте ALB с целевыми группами, которые перенаправляют запросы на этот IP.Присоедините группу безопасности к вашему ALB, чтобы к ней можно было получить доступ через Интернет или, в частности, через локальный компьютер.

Теперь в ваших тестах укажите конечную точку ALB, а не конечную точку DNS.

Почему это плохо?

IP-адреса ваших экземпляров не должны быть статическими.В случае сбоя или замены хоста ваш IP ваших конечных точек изменится.Хотя ваш сценарий запуска некоторых тестов должен быть в порядке.

Другие ошибки?

Если у вас включена аутентификация IAM в кластере, то этот метод не будет работать.Кроме того, если вы говорите по SSL, тогда ваш клиент отклонит запрос, поскольку сертификат, возвращенный Neptune, не будет «доверять» вашей конечной точке ALB.Вам нужно будет либо явно пропустить проверку dns, либо явно указать заголовок Host в своих запросах, чтобы он указывал на саму конечную точку кластера.Как то так:

// To skip dns validation in curl
curl -k https://alb-endpoint:port/ 

// To set host head explicitly
curl -H 'Host: dns-endpoint' https://alb-endpoint:port/
...