본문 바로가기

AWS EC2 - OpenVPN 연동기

by 식 2022. 9. 8.

 

문제 상황

집이나 회사에서 주로 작업을 하기 때문에 작업 환경의 이동이 잦은 편은 아니지만 가끔 작업 환경이 아닌 곳에서 갑자기 작업을 해야 하는 경우

 

방화벽 설정을 직접 하거나 방화벽 설정 변경 권한 없는 경우도 종종 있어서 이 부분에서 시간을 잡아먹는 일이 종종 생겼다

 

처음엔 상용 서비스 구독하려고 이런저런 유료 서비스를 알아보다가 결국 맘에 드는게 없어서 EC2에 OpenVPN 서버를 구축하기로 결심

 

 

고려했던 사항

- 아이피를 고정해야 함

- 일정 속도 이상

- 편리한 연결과 해제

- 유지 비용

- 혼자 사용하지만 Mac/PC/모바일 다양한 기기에서 사용

- 성인사이트 접속

 

 

사전 준비

AWS 콘솔 접근하여 EC2 생성, 키페어 설정하고 SSH로 접근 방법

사전 지식이 없으면 숙지하고 있어야 함

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html

 

SSH를 사용하여 Linux 인스턴스에 연결 - Amazon Elastic Compute Cloud

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

사실 아마존에서 OpenVPN 설정하는 방법은 공식 문서에 전부 나와있어서 이것만 보고 순차적으로 작업해도 된다

 

작업전에 정독 1회 추천

https://aws.amazon.com/ko/blogs/korea/setting-up-openvpn-access-server-in-amazon-vpc/

 

Amazon VPC에서 OpenVPN Access Server 설정 | Amazon Web Services

AWS에서 더 많은 워크로드를 처리하게 되면 인터넷에 공개적으로 서비스를 노출하지 않고 프라이빗 콘텐츠를 제공해야 하는 경우가 발생합니다. 예를 들어 직원용 내부 포털은 일반적으로 프라

aws.amazon.com

 

 

작업 순서

1. 인스턴스 생성 및 시작

- 이미지 선택: AMI 마켓플레이스에서 openvpn으로 검색해서 제일 위에 있는 걸 선택(기기 5개 미만)

- 인스턴스 유형 선택: 권장사항은 t2.small이고 한번 만들고나서는 못 바꾸게 되어 있었다

- 방화벽 설정: TCP/22 (SSH), TCP/943, TCP/443(웹 인터페이스에 대한 HTTPS 액세스) 및 UDP/1194

 

2. ssh를 통해 인스턴스에 접근해서 초기 세팅

처음 원격 접속하면 OpenVPN설정화면이 나온다

거의 엔터만 치다가 마치고 마지막에 관리자 아이디 비밀번호 설정해주면 된다

sudo passwd openvpn

설치를 마치고 다시 접속하면 설치 화면은 나오지 않는다.

 

3. 관리자 주소로 접속하여 설정

https://[인스턴스_퍼블릭_주소]:943/admin

관리자 주소를 크롬으로 접근하면 연결이 비공개로 설정되어 있지 않습니다. 오류가 뜨면서 화면이 안 나왔는데

사파리나 다른 브라우저로 접근하니 로그인 화면이 나왔다

앞에서 설정한 관리자 아이디와 비밀번호로 로그인

 

VPN Settings

가끔 클라이언트 프로그램으로 프로필을 받고 연결을 성공해도 아이피가 바뀌지 않는 경우가 있는데 이걸 설정해야 정상적으로 바뀐다

VPN 세팅에서 Should client internet traffic be routed throuw the VPN? 에서 Yes로 바꿔주고 설정 저장

 

User Permissions

클라이언트 접속할 사용자 설정 두가지 만 하면 우선 관리자 패널에서 이제 접속이 가능해짐

 

4. 클라이언트 프로그램 다운로드 및 설정

어드민 주소에서 /admin을 지우고 접근하면 사용자 화면 로그인 창이 뜬다

앞에서 설정한 계정 정보를 입력하면 아래 화면이 나온다

 

클라이언트 프로그램을 설치 및 실행하고 파란 글씨로 된 Connection Profile을 받아서 임포팅

 

 

사용 비용 절감 방법

OpenVPN의 라이센스비는 디바이스 5개 이상부터 부과되니 신경 안 써도 되지만 AWS에는 돈을 내야 한다

권장사항 t2.small을 계산해보면 20.88$/월인데 사실 자주 안쓰는 서비스에 이 정도면 부담이다

인스턴스 유형별 요금

 

- 일 년에 한 번씩 새 계정 만들어서 프리티어(t2.micro)

약간 불쌍한 방법이지만 1년에 한번 고생해서 만들어두면 유지 비용이 무료라면 솔깃

계정 여러 개 만들어뒀다가 아이디 해킹당해서 요금 폭탄 받는 경우도 종종 있으니 주의

 

- 인스턴스 유형 다운그레이드

micro정도로 가도 사실 서비스 사용에는 크게 무리가 없음

나노는 진짜.. 터미널로 접속 하는 것도 느리다

 

- 예약 인스턴스 활용

3년 약정 선결제로 해버리면 비용이 60%이상 할인받을 수 있다

 

- ec2 인스턴스 정지/시작 활용

시도해보진 않았지만 콘솔로 접근하거나 AWS CLI로 스크립트를 만들어두고 정지/시작을 할 수 있다

약간의 추가 작업과 시간 딜레이가 있겠지만 사용 횟수가 빈번하지 않은 경우에 사용하면 좋을 듯

 

 

기타

개인 디바이스에서 개인적으로 사용하는거라 OpenVPN으로 활용할 수 있는 게 많다

 

MFA인증을 받아서 보안을 강화시킨다거나 VPNGate 서비스 활용해서 국가와 아이피를 바꿔서 선택 할 수 있는데  보안이 크게 신경 안쓰이는 작업을 할때나 특정 상황에서 괜찮을듯하다

반응형