

한발 빠른 한줄 요약
- AWS 짱짱맨
다 된줄 알았다. 근데 아니네?
전의 과정에서 모든 것이 잘 작동하는 것을 확인했으니 이제 실제 환경에서 구축을 하면 모든 것이 해결될 것이라는 매우 해피한 상태에서 실제 구축할 장소에 도커 설정을 넣고 구축을 했다. 근데 끝이 아니었다.
으아니 차! 방화벽은 왜 막고 있는거야?
도메인 연결을 위해서 작업을 진행하고 있었는데 도메인이 안붙었다.
그래서 이상하다를 외치면서 몇가지 확인을 해보니 앞의 방화벽으로 보이는 장비 (건물의 방화벽으로 추정된다.)가 막고 있는 것으로 추정되었다. 방화벽을 풀고 싶었지만... 공유 오피스와 유사한 구조의 건물이었기에... 풀릴거라는 기대는 별로 하지 않고, 다른 방법을 사용하기로 했다.
OpenVPN
OpenVPN은 오픈소스 기반의 VPN 서버와 클라이언트를 구축할 수 있는 프로젝트(?)로, 많은 사람들이 VPN 서버를 구축한다고 하면 고려하는 프로그램이다. 처음에는 Wireguard도 고려를 해봤는데 안정성 면에서 OpenVPN이 더 좋다고 하길래 선택했다. 대충 망의 구조를 설명하자면 다음과 같다.
클라우드 상에 별도의 VPN 서버를 위한 작은 인스턴스를 구축하고 CI/CD 서버를 클라이언트로 하여 설정한 다음에 VPN 키를 발급한 사람을 대상으로 접속을 할 수 있도록 구축을 진행했다. 이 때 VPN 서버가 퍼블릭으로 공개되어 있다는 점을 감안하여 클라우드 방화벽 설정을 통해서 내가 원하는 장소에서만 접속이 가능한 형태 (특정 IP 외에는 SSH 접속이 안되게 한다던지 하는 방법으로) 로 설정했다. 이렇게 다 연결 하고 나서야 모든 것이 끝났다.
구축에 팁을 주자면 스크립트의 형태로 서버 구축을 매우 편리하게 도와주는 프로젝트가 있다. 보안 설정 등을 모두 최신 상태로 맞춘 상태의 스크립트이기 때문에 처음 구축하는 경우에는 스크립트의 도움을 받는 것이 좋을 수도 있을 것 같다. 필자가 사용한 스크립트의 링크는 다음과 같다.
https://github.com/angristan/openvpn-install
GitHub - angristan/openvpn-install: Set up your own OpenVPN server on Debian, Ubuntu, Fedora, CentOS or Arch Linux.
Set up your own OpenVPN server on Debian, Ubuntu, Fedora, CentOS or Arch Linux. - GitHub - angristan/openvpn-install: Set up your own OpenVPN server on Debian, Ubuntu, Fedora, CentOS or Arch Linux.
github.com
결론
처음 하는 구축 작업이기도 했고, 도커에 대해서 심도있게 공부한 것도 아니고, 마크 서버 말고는 뭔가 제대로 구축해본 경험이 없었기 때문에 구축 이전에 조사하는데 많은 시간을 쓰기도 했다. 그래도 구축하는 과정에서 어떤 것이 가능하고 어떤 것이 안되는지 등을 배울 수 있었던 매우 유익했던 경험이었던 것 같다.
'프로그래밍 > DevOps' 카테고리의 다른 글
CI/CD 구축 삽질기 - Docker 기반으로 Gitlab, Jenkins 구축하기 (1) (0) | 2021.08.27 |
---|

변덕 심한, 쓸데없는 것 연구하는 것을 좋아하는 개발자입니다. 원하는 것 위주로만 공부하고 정리합니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!