'Cloud'에 해당되는 글 2건
- 2020.07.26 AWS | Lightsail 과 Outline 이용하여 VPN 만들어 보기 9
- 2020.07.25 Wowza | AWS 에 Wowza 설치해 보기
인터넷 상에서의 정보는 투명해야 하며, 그의 접근이 자율적이며, 접근자의 수준도 같이 높아져야 한다고 생각합니다.
인터넷에 의한 인류의 진화라고 저는 생각합니다.
정보 접근에 있어, 국가 단위로 제한을 가하는 단체들이 있습니다. 진화할 수 있는 기회를 박탈한다고 봅니다.
그래서인지 예전부터 개인 VPN 에 관심이 있었습니다.
VPN 계열에서는 OpenVPN 이 단연 유명한 듯 보입니다. 그렇지만, 설정이 많이 복잡하더군요.
뭐 좋은 것이 없을까 하던 중, AWS 서비스 중에서 쉽게 서버/시스템 구축이 가능한 서비스가 있어, VPN 구축에 활용해 봤습니다.
본 포스트는 제가 조사하여 시행 착오를 겪으며 만들어 낸 내용이 아니라, 전적으로 아래 블로그를 따라한 내용 되겠습니다.
좋은 글을 작성해 주신, 아래 글의 작성자님께 감사의 말씀 드립니다.
* AWS와 Outline으로 나만의 VPN 서버 만들기
- https://brunch.co.kr/@flown/21
1. Lightsail - Instance
AWS 서비스는 물리적인 서버를 구매, 설치하고 인터넷 계약을 하지 않아도 5분 안에 서버를 만들 수 있게 서비스를 제공합니다.
이런 것을 클라우드 서비스라고 합니다. 내 앞에 존재하지 않지만, 인터넷 상으로 시스템과 서비스를 만들어 주는 서비스 이죠.
잘 모르겠고 안보이지만, 실제로 존재하는 뜬 구름같이...
AWS 서비스 중에서도 EC2 라는 것이 있는데, CPU / Memory / Disk 등을 정하면 뚝딱 서버를 만들어 주죠.
다만, EC2 라도 접근 제어라든지, 보안, 네트웍 구성 등, 손이 조금 갑니다.
워낙 클라우드 서비스를 접하게 되는 사람들이 많아지고, 모든 사람이 전문적인 지식을 기대하기 어렵다 보니,
더 쉬운 방법으로 클라우드 서비스를 올릴 수 있는 "Lightsail" 서비스를 AWS 에서 출시 하게 되었습니다.
AWS console 에서 Lightsail 을 선택합니다. 오후에 접속하니 Good afternoon! 이라고 인사하네요.
오전에 접속하면, Good morning! 이라고 합니다. "Create instance" 로 서버/서비스 생성을 시작합니다.
서버의 위치를 정합니다. 한국에 서버를 설치해야, 내가 접속하는 PC 와 속도가 빠르기 때문에 Seoul - ap-northeast-2 를 선택합니다.
Availability Zone 은, 미리 선택된 Zone A - ap-northeast-2a 그대로 놔 뒀습니다.
OS 는 Linux/Unix 를 선택하고, Ubuntu - 18.04 LTS 를 선택.
그 다음으로, 어떤 type 의 서버를 선택할 것인지를 정합니다.
VPN 은 CPU / Memory 는 중요하지 않으나, data 전송량이 관점이므로, 3TB 를 선택했습니다.
저는 동영상 스트리밍에도 사용할 것이라... 어험.
VPN 은 중간 단계에서 중계해주는 역할이므로, 3TB 를 선택하면, 한 달동안 1.5TB 데이터를 사용하겠다의 의미가 됩니다.
그래도 10 USD 밖에 하지 않습니다. 정말 저렴한거죠.
2. Lightsail - Networking
다음으로, 고정된 IP 를 사용하기 위해, "Create static IP" 를 선택합니다.
내가 사용할 때 마다, 변경된 IP 를 매번 확인하고 접속한다면 여간 불편하지 않을 수 없습니다. 고정 IP 를 사용합시다.
IP 는 공공제 이지만, 경쟁하면서 사용하는 유한한 자원이므로, 사용하고 있으면 무료이고, 사용하지 않으면 돈을 냅니다.
사용하면 돈을 내는 일상 생활과는 정 반대 개념입니다.
Instance 이름과, 고정 IP 에 대한 별칭을 정하면 끝입니다.
"Create" 를 누르면 고정 IP 하나가 할당 됩니다.
3. Lightsail - SSH
Instance 에 접속하기 위한 SSH 설정 입니다.
다른 EC2 접속 할 때, 사용하는 ec2-user 유저가 아니라, ubuntu 입니다.
Public Key 를 이용한 SSH 프로그램을 통한 접속이 아니라, "Connect using SSH" 브라우저에서 바로 연결할 수 있습니다.
저는 SSH 어플을 이용해 접속하는 것을 선호하는 지라, 다운로드 한 SSH Key 를 가지고 접속했습니다.
위의 과정이 끝나면, 서버가 하나 만들어 졌습니다. 이쪽 용어로는 인스턴스 하나가 만들어 진거네요.
4. Outline - Manager
VPN 서버의 껍때기는 만들어 졌으니, VPN 전용 어플을 서버에 깔아줘야 합니다.
Outline 이라는 VPN 서버를 사용합니다. 아래 사이트에서 Outline - Manager 를 다운로드 받습니다.
* Outline by Jigsaw
- https://getoutline.org/en/home
설치파일을 받으면 실행 시킵니다.
이 Outline - Manager 는 원격에서 VPN 서버를 모니터링 하고 관리하기 위한 어플 입니다.
Outline 은 언론 기관과 언론인이 안전하게 인터넷에 접속할 수 있게 하기 위해 만들어 졌다고 하네요.
어느 한 나라가 생각나는 대목입니다.
실제 클라우드 상의 서버에서 돌아갈 패키지를 선택하기 위해, 우선 클라우드 업자를 선택합니다.
이미 Amazon Lightsail 이 기본으로 제공되고 있군요. GCP 버전도 있습니다.
Amazon Lightsail 을 선택하면, Lightsail 에서 동작하는 VPN 프로그램을 자동으로 설치하게 도와주는 스크립트를 보여줍니다.
$ sudo apt update $ sudo apt upgrade $ sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)"
OS 업데이트 후, 위의 스크립트를 실행하면, Docker 형식으로 VPN 서버가 깔리게 됩니다.
위 화면에서 Y 를 누르고 설치를 진행하고 마무리 합니다.
설치 완료 후, 녹색 부분을 카피해서 Outline Manager 화면으로 돌아와 "여기에 설치 출력을 붙여넣으세요." 에 붙여넣기 합니다.
또한, 포트 번호을 기록해 둡니다. 하나는 Outline Manager 용 port 정보이고, 다른 하나는 VPN 트래픽용 port 정보 입니다.
저의 경우는 Manager - 49742 / TCP 와 VPN traffic - 11383 / TCP, UDP 였습니다.
위의 스샷처럼 Lightsail 의 Firewall 에 등록해 줍니다.
그러면, 아래처럼 Outline Manager 에 Lightsail 에 설치한 VPN 서버가 등록되고, 모니터링이 가능하게 됩니다.
"실험" 부분은 새로 나온 기능처럼 보이며, 3TB 전송 가능한 Lightsail instance 를 설치했지만, 양방향 통신이므로, 1.5TB 를 설정해 놓습니다.
이 수치에 도달하면 자동으로 VPN 기능이 정지될 듯 합니다.
4. Outline - Client
서버가 준비 되었으니, 이제 PC 에서 VPN 접속을 위한 client 를 설치해 봅니다.
Outline Manager (Server) 에서 "내 액세스 키 - 기기 연결" 을 클릭합니다.
하나의 VPN 서버에 여러명이 동시에 사용할 수 있는군요.
액세스 코드 복사하기를 클릭합니다.
키를 받았으니, 이 키를 이용하여 VPN 서버에 접속하는 클라이언트만 있으면 됩니다.
"이 기기 연결하기" 를 클릭하면, 자동으로 클라이언트를 다운로드 받는 페이지로 점프하게 됩니다.
설치파일을 다운받고 설치해 줍니다.
엇!!! OpenVPN ?
그렇습니다. 서버도 클라이언트도 OpenVPN 이 코어인 어플들이었던 것이죠.
OpenVPN 을 날것으로 시작하려면, 많이 복잡합니다. 이 과정들을 docker 나 어플 패키지로 단순화 시켜준 것이 Outline 이었던 것이죠.
언론 탄압이 가해지는 곳에서도 사용할 수 있게끔 만들어 진것 같네요.
일부 기술적인 정보 외에는 개인정보를 가져가지 않는다고 합니다... 만,
가져가도 상관 없습니다. 어느정도 개인 정보는 이미 공공제가 된지 오래...
어플을 깔면, 아까 복사한 액세스 키가 자동으로 감지됩니다. 최신의 COPY 명령어 결과를 찾아보는 듯.
Outline Client 가 서버를 인식하고 등록이 완료 되었습니다.
5. VPN 서버에 연결
Outline Client 에서 "연결" 을 통해, Lightsail 에서 동작하는 우리의 VPN 서버에 연결합니다.
Google 사이트를 통해, VPN 을 켰을 때, IP 가 어떻게 나오는지 확인해 봤습니다.
원래 집이나 사무실에서 할당받았던 IP 가 아니라, VPN 서버의 IP 로 변경되고, 국가/ISP 에서 막아 놨던 사이트들 접속이 원활해 졌습니다.
FIN
마지막으로, 기술을 공유되어야 한다는 GNU 선언문의 일부를 인용하여 마무리 합니다.
GNU, which stands for Gnu's Not Unix.
'Cloud' 카테고리의 다른 글
Wowza | AWS 에 Wowza 설치해 보기 (0) | 2020.07.25 |
---|
오랜만에 Wowza 를 linux 환경에 설치해 봤습니다.
1. AWS Marketplace
클라우드 중에서 요즘 대세인 AWS 의 instance 에 설치해 봅니다.
그냥 EC2 instance 에 linux 를 깔고, Wowza 파일 받아서 설치할 수도 있으나, AWS 서비스에서 제공하는 3rd party 솔루션 제공 방법인 Marketplace 를 사용해 봅니다. 돈은 조금 더 들지만, 편합니다.
아무래도 Wowza 는 License 지불을 해야 하므로, Marketplace 에서는 "구독" 으로 취급됩니다.
한달에 기본 사용료 15 USD + EC2 시간당 사용으로 과금됩니다.
License 사용료가 한달에 15 USD 인 셈이군요.
2. Wowza 시작
Marketplace 를 통해 설치한 Wowza 인스턴스는 5분정도 있으면 생성이 됩니다.
맙소사... 너무 편해. 물리적인 서버도 필요 없고, OS 설치도 없었을 뿐더러, Wowza 어플리케이션 설치도 하지 않았지만, 생겼습니다.
EC2 Instance URL 로 접속하면, 위의 시작 페이지가 뜹니다. Next 눌러 줍니다.
처음 시작했으니, admin 의 이름과 암호를 넣으라고 합니다.
ID 는 wowza 이고, 비번은 instance ID 입니다.
EC2 instance 관리 화면에서 Wowza 서버의 Instance ID 를 카피해, 암호로 넣으면 됩니다.
Live 를 사용할 것이라면 게시지점을 넣으라고 합니다. URI 정보입니다만, 나중에 설정하면 되니, 과감하게 패스.
10여분만에 Wowza 한대 추가요~.
응?!!! 4.8.5 버전으로 업데이트가 공개되었다고 뜨네요. 지금 설치된 버전은 4.8.0.
3. Update 파일 다운로드
우선 OS 를 최신으로 update
$ sudo yum upgrade
저 위의 화면에 떠 있는 "Download" 를 누르면 될 것 같은데, 궂이 힘들게 해 봅니다.
Wowza 웹사이트에 가서, 회원 가입 > My Downloads 에서 4.8.5 버전 다운로드.
개인 PC 에 파일을 다운로드 받았으면, FTP 를 이용하든 해서 서버에 파일을 다운로드 받아 놓습니다.
저는 그냥 편하게 S3 사용 했습니다. (점점 AWS 로 대동단결)
4. 설치 파일 구성
먼저, 서비스를 내립니다.
$ sudo service WowzaStreamingEngine stop $ sudo service WowzaStreamingEngineManager stop
Wowza 가 설치된 하위 directory 중에 updates 폴더 권한을 모두 읽을 수 있게 한 뒤, 다운로드 파일을 updates 에 모두 옮깁니다.
$ unzip WowzaStreamingEngine-Update-4.8.5.zip $ sudo chmod -R 777 /usr/local/WowzaStreamingEngine-4.8.0/updates/ $ sudo mv * /usr/local/WowzaStreamingEngine-4.8.0/updates/
압축을 풀어서 updates 디렉토리에서 linux 용 명령어를 실행합니다.
최종적으로는 아래와 같은 depth 를 가지게 됩니다.
/usr/local/WowzaStreamingEngine-4.8.0/updates/WowzaStreamingEngine-4.8.5/linux
$ cd /usr/local/WowzaStreamingEngine-4.8.0/ $ cd updates/ $ cd WowzaStreamingEngine-4.8.5/linux/ $ pwd /usr/local/WowzaStreamingEngine-4.8.0/updates/WowzaStreamingEngine-4.8.5/linux $ sudo chmod +x *.sh $ sudo ./update.sh
오잉?!!!! Java 9 이상이 설치되어야 한다고 하네요. 기본으로 Java 8 이 깔려 있었습니다.
어쩔 수 있나요, Java 9 및 Java 13 도 깔아 줍니다. 자세한 설명은 아래 포스트를 참조해 주세요.
* Java | OpenJDK 업데이트 및 선택 변경
- https://chocoball.tistory.com/entry/Java-OpenJDK-update-change
5. update.sh
Java 환경을 만들어 주면, 문제 없이 설치가 시작됩니다. sudo ./update.sh !!!
응 업데이트 하셈.
기존 설정은 backup 으로 옮기고 업데이트가 끝납니다. 요즘은 서버 성능이 좋은지라, 예전 보다 엄청 빨라졌네요.
(거의 10여년 전에 회사 최초로 linux 상에서 Wowza 깔아봤었슴)
다시, 서비스 올려 줍니다.
$ sudo systemctl daemon-reload $ sudo service WowzaStreamingEngine start $ sudo service WowzaStreamingEngineManager start
6. 4.8.5
Management UI 에서 버전 확인해 봅니다.
오늘도 알찬 하루였습니다.
FIN
'Cloud' 카테고리의 다른 글
AWS | Lightsail 과 Outline 이용하여 VPN 만들어 보기 (9) | 2020.07.26 |
---|