Підключення до приватних EC2 інстанцій за допомогою CircleCI може бути завданням з високим рівнем складності, але з правильним налаштуванням це зовсім не складно. У цій статті ми розглянемо докладні кроки та рішення для вирішення цього завдання.
Проблема: Як я можу підключитися до моєї приватної EC2 інстанції за допомогою CircleCI?
Ви розгорнули свою програму на приватній EC2 інстанції в приватній підмережі. Крім того, ви створили публічну підмережу, щоб будь-який з членів вашої команди міг здійснити SSH-підключення до приватної інстанції. Тепер ви хочете досягти такої ж функціональності за допомогою CircleCI. Однак CircleCI не може підключитися до приватної інстанції, хоча працює з публічною інстанцією.
Ось рішення:
Нижче наведено скрипт bash, який виконує CircleCI під час розгортання:
1 2 |
command: bash ./aws_deploy.sh "$CIRCLE_BRANCH" "$SSH_EC2_IP" "$BETA_EC2_IP" ./aws_deploy.sh ssh -A -tt -o StrictHostKeyChecking=no $2" ssh -i sultan-key.pem $3' cd /var/www/linkedunion-development/ git fetch --all git checkout -B $1 origin/$1 docker-compose down -v docker system prune --all --force docker stop $(docker ps -q) docker rm $(docker ps -aq) docker rmi $(docker images -q) git pull ./git_fetch.sh'" |
Ось помилка, яку видає CircleCI:
1 2 3 4 |
Warning: Permanently added '54.215.128.217' (ECDSA) to the list of known hosts. ssh: Could not resolve hostname 10.0.20.108: Name or service not known Connection to 54.215.128.217 closed. Exited with code exit status 255 |
Ця помилка свідчить про те, що CircleCI не може розпізнати ім’я хоста приватної інстанції. Переконайтеся, що ім’я хоста правильно вказано і може бути розпізнано з оточення, в якому працює CircleCI.
Дотримуючись цих кроків та забезпечуючи належну конфігурацію, ви повинні мати змогу успішно підключитися до вашої приватної EC2 інстанції за допомогою CircleCI. Якщо у вас все ще виникають проблеми, перевірте налаштування мережі та дозволи для подальшого усунення несправностей.