notes
Oracle Cloud 가이드
Oracle Cloud 인스턴스 생성·네트워크 설정과 서버 운영 기본 가이드.
참고사이트
07548
주소창 아래 업그레이드 클릭
지급 방법 추가
계정 업그레이드 클릭
업그레이드 승인까지 대기
1. 구획 생성 (for 작업공간 분리 , 기본 생성된 구획 써도 됌.)
2. 가상 클라우드 네트워크 생성 (for 공용 LAN 카드 설정)
앞으로 사용할 가상 클라우드 네트워크를 마법사로 간단하게 생성하였습니다.
앞서 구획과 가상 네트워크를 생성했으니 이제 본격적으로클라우드에서 동작하는 VM 가상 머신을 만들어 Ubuntu 20.04를 설치해 보겠습니다.
오라클 클라우드에서는 가상 머신을 인스턴스(instance)라고 지칭하고 있습니다.예시를 위해서 instance 라는 인스턴스를 생성해 보겠습니다.
3. 인스턴스 생성 (for Ubuntu 20.04 가상 머신 생성)
전용키, 공용키 둘다 저장.
(ssh접속 개인키)
받은 공용키를 업로드
인스턴스를 생성했으니 외부로 포트 오픈하는 방화벽 설정을 확인해 보겠습니다.
인스턴스 생성시에 SSH(22) 포트는 기본으로 추가되어 있습니다.예시를 위해서 Proxy Host 등록을 위해 HTTP(80) 과 HTTPS(443) 포트를 오픈해 보겠습니다.
4. 인스턴스 수신 규칙 설정 (for 방화벽/포트 설정)
3번 과정에서 인스턴스 생성하면 "공용 IP 주소"가 할당되어 외부 접근이 가능합니다.
그런데 기본으로 할당되는 "공용 IP 주소"는 임시용으로 인스턴스 재부팅시마다 바뀌기 때문에예약된 공용 IP를 생성하여 "공용 IP 주소"를 고정 IP로 바꾸는 설정을 해보겠습니다.
5. 예약된 공용 IP 생성 및 인스턴스 연결 (for 외부 접속용 고정 IP 설정)
5-1. 예약된 공용 IP 생성
5-2. 예약된 공용 IP를 인스턴스에 연결
이제 인스턴스 생성하고 Ubuntu 20.04 설치된 상태에서 고정 IP 설정까지 완료했습니다.Oracle Cloud 인스턴스 구성의 마지막 단계로 ssh 접속을 해보겠습니다.
vscode ssh접속
Host gyunju-oracle
HostName 144.24.66.222
User ubuntu
IdentityFile ~/Downloads/ssh-key-2022-12-08.key$chmod 400 *.key
설치 및 삭제 및 설정
1. 데이터 백업(가장 중요)
pg_dumpall이나 pg_dump 명령어를 사용해 데이터를 백업한다.
(명령어 사용법은 구글 검색)
2. PostgreSQL과 관련된 패키지 전체 삭제
sudo apt-get --purge remove postgresql\*
dpkg -l | grep postgres3. PostgreSQL12를 Ubuntu 20.04에 설치
공식 인스톨 가이드 - https://www.postgresql.org/download/linux/ubuntu/
pgdg.list 파일을 만들고 vi 편집기로 연다
sudo touch /etc/apt/sources.list.d/pgdg.list
sudo vi /etc/apt/sources.list.d/pgdg.listpgdg.list 파일에 아래 내용을 넣고 저장한다.
deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main아래 커맨드를 차례대로 실행하면 설치까지 끝난다.
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
sudo apt install postgresql-124. 유저 추가
postgres유저로 바꾼 후, 새로운 유저를 추가한다.
sudo su - postgres
createuser --pwprompt --interactive <USER_NAME>위의 커맨드를 입력 후 패스워드를 두번 입력한다.
Shall the new role be a superuser? (y/n) yy를 입력해 관리자 권한을 준다.
접속 테스트
psql -h localhost -U <USER_NAME> -d postgres5. 외부 접속 설정
postgresql.conf 파일을 수정
sudo vi /etc/postgresql/12/main/postgresql.conf아래 부분을 찾아 주석 해제하고 localhost를 *로 바꾼다.
(특정 IP에서만 접속할 경우에는 해당 IP주소를 쓰면 된다.)
#listen_addresses = 'localhost' # what IP address(es) to listen on;>>
listen_addresses = '*' # what IP address(es) to listen on;위의 설정이 되지 않았을 경우는, DB 접속시 아래의 에러가 발생하게 된다.
could not connect to server: Connection refused
pg_hba.conf 파일을 수정
sudo nano /etc/postgresql/12/main/pg_hba.conf접속 인증을 할 IP범위를 설정하기 위해서 아래 내용을 추가한다.
(내부 네트워크일 경우 아래 내용에서 아이피 정도만 바꾸면 된다)
host all all 192.168.1.1/24 md5혹은, 모든 IP주소에 대한 접근을 허용하기 위해서는 아래와 같이 설정한다.
host all all 0.0.0.0/0 md5위의 설정이 되지 않았을 경우는, DB 접속시 아래의 에러가 발생하게 된다.
FATAL: no pg_hba.conf entry for host "<HOST_IP>", user "<USER_NAME>", database "<DATABASE_NAME>", SSL off error
우분투 포트열기
sudo iptables -I INPUT 1 -p tcp --dport {Open할 Port번호} -j ACCEPT
sudo systemctl enable iptables // 맨 처음에 세팅할 때만 입력해주면 됨. 이후에는 안해도 됨
//에러가 발생할 수 있으나 무시설정을 마친 후 Postgresql 서비스 재시작
sudo systemctl restart postgresql