aws는 free tier가 1년이지만 oracle cloud는 평생(상시常時) 무료라고 합니다.
https://www.oracle.com/kr/cloud/free/
그래서 도전해 봤는데, 삽질을 많이 하고, 경험을 정리해서 올립니다.
1. https://cloud.oracle.com 에 회원가입합니다. 신용카드 등록 필요합니다.
2. 왼쪽 상단 메뉴아이콘 눌러서 `컴퓨트 > 인스턴스`를 클릭합니다. Free Tier로 2개까지 무료 인스턴스를 만들 수 있습니다.
3. `인스턴스 생성`을 클릭하고 설정을 시작합니다. 서버 이미지는 Oracle Linux 8이 기본인데, 네트워크 설정 등에서 삽질을 무한히 경험해서, 개인적으로는 CentOS나 Ubuntu를 추천합니다. 우측의 이미지 변경을 클릭합니다.
이 글은 CentOS 8 Stream 이미지를 기준으로 진행하겠습니다.
자동으로 키 쌍 생성하면, Private Key를 다운로드 받을 수 있습니다. 사용자 홈에 `~/keys/` 폴더를 만들고, 다운 받은 key파일을 이동합니다. `chmod 400 ~/keys/ssh-key-2023-07-09.key`으로 퍼미션을 수정합니다.
인스턴스를 만들면 공용 IP가 자동으로 붙습니다.
터미널에서 `ssh -i ~/keys/ssh-key-2023-07-09.key opc@132.145.91.36` 명령으로 접속할 수 있습니다. fingerprint 저장은 `yes` 라고 답합니다. 윈도우의 경우 Git Bash창에서 같은 명령을 사용할 수 있습니다. 우분투 이미지는 opc@ 대신 ubuntu@ 아이디로 접속할 수 있습니다.
`sudo dnf install nginx` 명령으로 웹서버를 설치합니다. aws보다는 약간 오래 걸리는 느낌이 있습니다.
설치 후 다음 명령으로 nginx를 시작합니다.
`sudo systemctl start nginx` 그리고, 잘 동작하는지 확인합니다.
`curl localhost`
AWS와 달리 인스턴스 안에서도 iptables 방화벽을 열어야 됩니다. iptables 리셋하는 방법도 있는데, 나중에 다른 글에서 다루겠습니다.
`sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT`
클라우드 가상 방화벽도 열어야 됩니다. 서브넷을 선택합니다.
보안 목록에 `Default Security List*`를 선택합니다.
`수신 규칙 추가`를 선택하고 소스 CIDR은 `0.0.0.0/0`, 대상 포트 범위에 `80`을 입력하고 추가합니다.
브라우저에서 nginx 화면을 확인할 수 있습니다. 역시 오라클이라 빨간색으로 테마를 꾸며놨습니다.
https://okjsp.tistory.com/1165644382
참고:
- 오라클 클라우드 웹서버만들기 따라하기.
- 오라클 클라우드(Oracle Cloud)로 무료로 웹 서버 구축하기
- 나만의 '평생' 무료 서버 만들기
- https://www.oracle.com/kr/cloud/free/