본문 바로가기

[docker, PostgreSQL ] GCP에 Docker Postgresql 세팅하기

ironwhale 2021. 10. 6.

여러 인터넷 글에는 외부 접속을 위해서는 

pg_hba.conf 과 postgresql.conf을 수정하라고 되있습니다. 하지만 저 파일을 수정해보아도 안되던 것이 구글 클라우드 플래폼 방화벽을 열어주니 바로 접속이 되네요

방화벽을 열고, 도커 설치하고, Postgres 이미지로 컨테이너를 실행시키면 끝입니다.  
접속 준비는 끝입니다.

 


작업순서

1. GCP VM 인스턴스 생성

   - 최근 프리티어가 f1-micro에서 더 좋은 e2-micro로 변경 되었다고 하네요 

     그래서 그런지 10월 초 f1-micro를 만든 서버에서 과금이 되었더군요 

 

2. 구글 클라우드 플래폼 방화벽 설정 

   VPC 네트워크 - 방화벽 - 방화벽 규칙만들기 

   주의 하실점은 해당 인스턴스에 지금 만든 방화벽 규칙이 적용 되야 합니다. 

   ip 범위: 0.0.0.0/0 tcp:5432 대상은 모든 인스턴스로 했습니다. 

 3. 도커 설치

 4. 도커 이미지로 컨테이너 만들기    

  sudo docker run -p 5432:5432 --name 컨테이너 이름 -e POSTGRES_PASSWORD=비밀번호 -d postgres


GCP 무료관련 안내링크

 

Google Cloud 무료 프로그램

의견 보내기 Google Cloud 무료 프로그램 Google Cloud의 기본사항을 알아보려는 신규 사용자이거나 신제품의 혁신적인 기능을 체험해 보는 기존 고객 모두 Google Cloud 무료 프로그램을 이용할 수 있습

cloud.google.com

중요 !!  2021년 9월 1일 부터 무료 VM 인스턴스가 e2-micro VM으로 변경되었다고 합니다.  그래서 제가 진짜 무료인지 e2-micro VM 인스턴스를 만들어 테스트 중입니다.  몇일 뒤 후기 남기도록 하겠습니다. 


 

Compute Engine 무료 조건 

  • 다음 미국 내 리전 중 한 곳에서 비선점형 e2-micro VM 인스턴스 1개/월
    • 오리건: us-west1
    • 아이오와: us-central1
    • 사우스캐롤라이나: us-east1
  • 30GB/월 표준 영구 디스크
  • 다음 리전의 경우 스냅샷 저장용량 5GB/월
    • 오리건: us-west1
    • 아이오와: us-central1
    • 사우스캐롤라이나: us-east1
    • 타이완: asia-east1
    • 벨기에: europe-west1
  • 북미에서 모든 리전의 대상 위치로 네트워크 이그레스 1GB/월(중국 및 오스트레일리아 제외)

 


시행착오한 흔적들입니다. 혹시나 나중에 잊어 버릴 경우 다시 보기 위해 남깁니다. 

sudo docker exec -it postgres /bin/bash

vim 설치

apt-get update
apt-get install vim

이동
cd /var/lib/postgresql/data

pg_hba.conf 수정
vim pg_hba.conf
host  all  all  0.0.0.0/0  md5

postgresql.conf 수정
vim postgresql.conf

exit

sudo docker stop postgres

sudo docker start postgres


netstat -ntlp 포트 확인
apt-get install net-tools


댓글