- 사내 업무 지식을 간략하게 검색하고 확인할 수 있는 Dictionary 프로젝트
- Slack에서 /tel [검색어] 명령을 이용한 내선번호 검색기
- Slack에서 /error [SEQ_NO] 명령을 이용한 에러 정보 검색기
이렇게 세 가지를 개인 EC2에서 구축해서 사용하고 있었다.
그런데 프리티어 1년이 다 되어 가기도 하고 메모리도 좀 부족한 것 같아서 오라클 클라우드를 시작했다.
AWS EC2와 Oracle Compute차이점
이하 기술은 오라클 클라우드 기준으로.
1. 일단 상시 무료. 이게 가장 크다. AWS의 1년과 다르다.
2. 또한 요금도 AWS는 프리티어여도 호옥시나 실수하면 요금이 과금될 수 있지만
오라클 클라우드는 업그레이드를 본인이 직접 하겠다고 하지 않으면 과금되지 않는다고 한다.
3. 게다가 인스턴스를 2개까지 제공하고, 용량도 최대 100GB내에서 2개를 나눠쓸 수 있으니 더 크다.
4. 오라클 컴퓨트는 Oracle Linux가 기본값으로 선택되어 있다.
호기심에 잠깐 설치해봤으나 apt-get부터 명령어가 안 먹어서 찾아보기도 귀찮아 그냥 지우고 Ubuntu로 다시 시작했다.
5. 포트개방을 위해 인스턴스 설정도 해줘야 하고 iptable 설정도 해줘야 한다.
AWS EC2를 쓸 땐 인바운드 설정만 잡아주면 됐었는데. 첨엔 안돼서 당황했다.
아무튼 이래저래 돈 걱정 안하고 혼자 개발, 테스트하기에는 충분한 양의 클라우드 기능을
공짜로 쓸 수 있게 해준다니 정말 감사할 따름이다.
Oracle Compute 포트 개방하기
1. 오라클 클라우드 로그인 https://cloud.oracle.com/
2. 우상단 햄버거 클릭 후 Virtual Cloud Networks 검색하여 메뉴 진입
3. Virtual Cloud Networks 목록에서 vcn-2021~~ 로 시작하는 인스턴스 클릭
4. 좌측 하단의 Resources에서 Security Lists 클릭 -> Default Security List 클릭
5. Add Ingress Rules 클릭 후
SOURCE CIDR에 0.0.0.0/0 (모든 출발지 허용)
DESTINATION PORT RAGE에 개방하고자 하는 포트
DESCRIPTION에 본인이 입력하고자 하는 추가설명 입력 후 Add Ingress Rules 클릭
6. 아래의 명령어를 SSH에서 수행
sudo iptables -I INPUT 5 -i ens3 -p tcp --dport [PORT] -m state --state NEW,ESTABLISHED -j ACCEPT
# 특정 포트 개방. Ingress Rules에서 추가한 이후 여기에서도 설정해줘야 개방된다.
sudo apt-get install iptables-persistent (or netfilter-persistent)
# 패키지 설치
netfilter-persistent save
# 방화벽 정책을 저장:
netfilter-persistent start
# 방화벽 정책을 다시 로드
Swap 메모리 설정하기
윈도우의 가상메모리처럼, 물리저장장치 일부를 메모리처럼 사용할 수 있는 기능이라고 한다.
1G의 메모리는 아무래도 한참 부족하고 오라클 컴퓨트는 100GB를 2개가 나눠쓸 수 있으니
8GB 정도 공간은 메모리에 양보해도 괜찮을 것 같았다.
개발 용도이고 SSD면 성능 이슈상 큰 무리가 없으리라 생각했다.
free -h # 메모리 확인
sudo swapoff -v /swapfile # 스왑 설정 변경을 위한 비활성 처리
sudo fallocate -l 8G /swapfile # 8GB 스왑 설정
sudo chmod 600 /swapfile # 권한 설정
sudo mkswap /swapfile # 스왑 파일 생성
sudo swapon /swapfile # 스왑 활성화. 재부팅 하지 않아도 활성화 된다
sudo vi /etc/fstab # 편집기 실행
swapfile none swap sw 0 0 # 이 내용을 맨 아레에 추가하고 저장
free -h # 스왑 적용 확인
Oracle Compute 고정 IP 할당하기
1. 햄버거 클릭 후 Public IPs 검색 후 클릭하여 메뉴 진입
2. Reserve Public IP Address 클릭 후 원하는 이름을 입력하고 Oracle Value를 선택하고 Reserve Public IP Address 클릭
여기까지 하면 고정 IP를 할당받은 것이다. 이제 인스턴스에 적용하자.
3. 햄버거 클릭 후 Instances 검색 후 클릭하여 메뉴 진입 후 적용할 인스턴스 클릭
4. 좌하단 Resources 에서 Attached VNICs 클릭 후 목록에 나온 인스턴스 클릭하여 VNIC Details 메뉴 진입
5. 좌하단 Resources 에서 IPv4 Addresses 클릭 후 화면에 나타난 ROW 우측에 있는 세로 점 세개 클릭 -> Edit
6. NO PUBLIC IP 선택 후 Update
7. 같은 메뉴 다시 진입하여 RESERVED PUBLIC IP 선택 후 앞서 할당받아둔 고정 아이피 선택 후 Update
불편했던 점
AWS 를 사용해봤던 사람이라면 아주 쉽게 가입하고 인스턴스를 생성하고 사용할 수 있을 듯 하다.
그러나 메뉴가 어딨는지 제대로 찾기가 좀 힘든 점이 있었다.
SSH 키를 이용한 연결도 EC2와 동일해서 어렵지 않았다.
EC2에 있던 모든 개인 서비스를 오라클로 옮겼다. 일단 용량이 넉넉하고 계속 무료이고 과금걱정이없어서 최고다.
다만 아직은 사용하기 불편한 점이 좀 있는데 나만 겪게 될 일인진 모르겠지만 적어본다.
첫번째로 로그인이 안된다.
이게 뭔소린가 싶겠지만 나역시 마찬가지였다.
사용자 등록이 정상적으로 되지 않은 것 같다.
cloud.oracle.com 에 직접 접속해서 로그인하려 하면 회원 정보가 없다고 나온다.
이게 뭔소리여 난 이미 서버에 내 서비스까지 돌리고 있는데? ㅋㅋㅋ
내가 어떻게 최초 로그인 한 거지? 싶었는데 가입 안내 메일에서 Sign in to Oracle Cloud 버튼을 눌러서 로긴했었다.
queryString으로 파라메타를 전달해서 접근하면 정상적으로 로그인이 된다..;;;;;
크롬 북마크에 추가해놔야겠다;;; 나원 무슨 이런 어처구니없는;;;
두번째로 DB 생성이 안된다.
AWS로 치면 RDS인데.. 오라클에서 오라클DB 생성이 안된다니 이 무슨..
생성 시도시 위 사진과 같이 에러가 나온다.
관련해서 라이브 챗을 두번이나 진행했는데,
회원정보를 물어보는 과정에서도 내 정보가 안 나온다고 하더라.
그러더니 24시간 이내에 가입했냐고 묻더라.
Provisioning... 사전 찾아보니 권한 설정인데. 이게 시간이 오래 걸리나보더라.
가입 20시간이 된 현재까지도 안되고 있다.
상담원분이 버그로 생성한 뒤에 수동 프로세스 요청해주겠다고 했는데
30분이 지나서도 안돼서 언제쯤 되냐고 물어봤는데 다되면 메일을 보내주겠다더라.
주말이고.. 외국이고 하니 아무래도 처리를 기다려야겠다.
소감
AWS 경험자에겐 꽤나 익숙할 것 같다.
그리고 이렇게나 충분하고 강력한 무료 옵션은 거부하기 어렵다;;
선택 가능한 다른 무료 클라우드 제공에 비해 가장 강력하다.
DB까지 생성 완료되면 RDS도 이전해야겠다.
아마도 이대로 개인 개발용 클라우드는 무료 오라클 클라우드에 완전 정착할 것 같다.
아 그리고 AWS에 비해 홈페이지가 훨씬 빠릿하다.