배포에 앞서 아키텍처를 어떻게 구성할지 고민해보았다.
일단 AWS 프리티어가 아직 유효하기 때문에 백엔드 서버는 AWS EC2에 배포할 것인데, 문제는 DB와 모니터링 서버다.
이전 팀 프로젝트에서 AWS RDS를 사용했었는데, AWS 정책 변경에 따라 public IP를 부여하면 추가 요금이 발생했었다.
그 뿐만 아니라 RDS, Subnet 관련 비용도 발생했는데 한달에 7달러정도 과금됐던 것 같다.
설정 값에 따라 비용을 없앨 수 있을 것 같아 좀 알아본 뒤에 RDS를 사용해도 무방할 것 같았지만, 결론적으로 방치되어 있던 2010년형 iMac을 사용해서 DB와 모니터링 겸용 온프레미스 서버를 구축하기로 했다.
온프레미스 서버 구축을 결정한 이유는 다음과 같다.
AWS RDS 비용 문제 해결에는 학습과 검증 등의 시간과 비용이 부과된다.
평소에 옆에 방치되어 있던 iMac을 활용하고 싶었다.
RDS는 SaaS 형태로 제공되기 때문에 Telegraf와 같은 매트릭 수집 애플리케이션 설치가 불가능하여, DB 서버의 CPU, Memory 사용량에 대한 매트릭 수집이 불가능하다.
AWS CloudWatch를 사용하여 수집이 가능하지만, 이 또한 비용 문제로 귀결된다.
따라서 충분히 합리적인 이유라고는 생각하지 않지만, 비용적 측면을 고려하여 iMac을 DB 서버 + 모니터링 서버로 사용하기로 결정했다.
원래는 iMac에 도커를 설치한 뒤, 컨테이너를 띄워서 서버로 활용하려 했다.
그러나 2010년형에다가 소프트웨어도 한참 레거시 버전이었기에 지원되지 않는 프로그램들이 많아서 우분투를 설치하기로 결정했다.
Create a bootable USB stick on macOS | Ubuntu
위 링크를 참조해서 iMac에 Ubutnu 22.04.5 버전을 설치했다.
ISO 파일을 구워주는 balenaEtcher
라는 프로그램을 설치하고, 사용하지 않는 USB를 가져와 설치 USB를 만들었다.
사진처럼 ISO 파일과 USB를 선택하고 구우면 된다.
여기서 시간이 좀 많이 소요됐다.
맥 부팅시에 option
키를 누르면 사진과 같이 부팅 옵션이 나타나야 한다.
그러나 아무리해도 나타나지 않았다.
분명 예전에 BootCamp로 윈도우를 사용할 땐 잘 나타났었기에 이상했다.
키보드도 유선 키보드에다가 잘 동작할 것이라 생각했는데, 바뀐게 키보드 밖에 없으니 일단 예전에 사용하던 애플 무선 키보드로 재시도한 결과 성공했다..😟
설마 부팅 후엔 잘 동작하는 유선키보드가 안 먹힐 거라곤 생각지 못해서 1시간 정도 날린 거 같다.
설치는 그냥 쭉쭉 따라가면 된다.
설치한 뒤에 네트워크를 설정하려하니 와이파이 설정이 불가능한 것 같았다.
포트포워딩을 위해 안쓰던 iptime 공유기를 설치했는데, 어쩔 수 없이 컴퓨터도 그 곳으로 옮기고 랜선을 연결했다.
그러나 여전히 ping 8.8.8.8
이 먹히지 않아 열심히 구글링 했는데, IP 할당을 자동으로 받지 못하는 모양이었다.
설명에 나와있는 명령어들이 되게 다양했는데, 대부분의 경우 아직 설치되어 있지 않아 사용할 수 없는 명령어였다…
인터넷도 안되니 설치를 할 수도 없는데, 다행히 다음 명령어를 입력해서 IP를 할당받고 나니 ping
이 잘 동작했다.
$ ip link
$ sudo dhclient enp2s0
iMac은 켜두기만 하고 ssh로 원격 접속해서 사용할 것이었기에 ssh 서버 구축이 필요하다.
우분투를 설치할 때 선택하면 이미 설치되어있지만, 선택하지 않았다면 다음 명령어로 설치해야 한다.
$ sudo apt install openssh-server
ssh 서버가 잘 켜져있는 것을 확인할 수 있다.
이제 포트포워딩을 해보자.
ssh 이외에도 mysql, grafana 등등을 사용하려면 모두 포트포워딩 해줘야 하지만 일단은 ssh만 했다.
사진에서 선택된 “포트포워드 설정” 란으로 들어간뒤, 다음과 같이 포트포워딩을 하면 끝이다.
물론 내부 IP는 우분투에서 ifconfig
와 같은 명령어로 확인한 뒤 작성해야 한다.
서버를 재부팅할 때마다 매번 iMac에 가서 직접 dhclient
명령어를 실행해야 네트워크가 연결되는 문제가 있었다.
여기까지 진행했으면 이제 외부에서 ssh 접속으로 조작이 가능하다.
iMac에 우분투 설치를 마쳤으니 다음은 DB, 모니터링 환경을 구축해볼 것이다.
그리고 와이파이 연결을 하려했으나, 이미 랜선 연결과 컴퓨터 배치를 해놓은 상태라 그냥 이대로 사용하기도 했다.
혹시 WiFi를 사용하고자 한다면, 다음 링크를 참고하면 될 것 같다.