[TIL] GCP 배포

강지훈·2022년 12월 14일
0

TIL

목록 보기
4/8
post-thumbnail

CLOUD PROVIDER

클라우드로 컴퓨터를 대여해주는 대형업체들

ex) AWS(아마존웹서비스) / GCP(구글클라우드플랫폼) / Azure(마이크로소프트)

가장 오래된 AWS가 인기가 제일 많고, 늦게시작한 GCP가 가격이 제일 좋다고한다.

하나의 업체만 써야되는 건 아니고 섞어서도 사용 가능하다.


AWS - EC2(컴퓨터), S3(저장소)
GCP - GCE(컴퓨터), GCS(저장소)

업체마다 부르는 이름이 다른데 알아두자.

**GCPING에 들어가면 각 지역별 레이턴시를 확인할 수 있다.

  • Latency - 지연속도 (낮을수록좋다)

  • Throughput - 얼마만큼의 요청을 빨리 처리할 수 있는지 (클수록좋다)

  • ssh - Secure Shell (SSH를 통해서 구글 컴퓨터로 접근할 수 있다.)


SSH

GCP에서는 SSH를 통해(shell) 마치 터미널을 열어서 조작이 가능하다.

내가 배포하고 싶은 파일을 git을 push하면 SSH에서 바로 clone이 가능하다.
git을 하도많이 써서 구글에서 이미 구현해 놓았다고 한다.


그리고 docker를 build하려고 했더니 에러가 뜬다. 왜?
docker는 .env파일이 있어야 하는데 내가 git ignore로 .env파일을 막아두었기 때문,
그러면 어떻게 docker를 올릴까?

  1. 복사해서 SSH에 저장하기
    => ssh내부에서 .env파일을 만들어서 내 정보를 담아두면 실행이 가능하다!

  2. 구글에 저장하기



SSH 커맨드

  • ls
    파일 리스트

  • vi "파일명"
    파일 접속, 파일이 없으면 새로 만든다.
    파일만들기에 들어가면 "I" 를 통해 입력모드로 갈 수 있다.
    ESC하면 나가짐
    Shift + :
    =>
    q (종료) wq(저장 후 종료)

  • cat "파일명"
    화면 전환 없이 파일에 접근 가능

  • "docker-compose logs"
    => 로그보여줘

  • "docker-compose logs -f"

    => 로그를 계속 보여줘

  • "docker-compose logs -f --tail=100"
    => 마지막 로그 100줄만 보여줘

  • "sudo usermod -aG docker (계정이름)"
    => 내 계정을 docker 그룹에 추가해주세요.
    => 이 다음에 shell을 껏다가 다시키면 sudo 명령어 사용하지 않고 사용 가능

  • "cat /etc/group"
    => 그룹 조회하기



방화벽

docker를 올리고 해당 ip로 graphql을 들어가려고 했는데 접근이 안된다.
방화벽이 막고 있기 때문이다.

GCP에서는 방화벽 규칙을 만들 수 있는 서비스를 제공 중이다.

아래와 같이 0.0.0.0/0 을 설정하면 모든 IP를 허용한다.

포트도 지정해서 허용해 줄 수 있다.

  • TCP(안정적) 데이터는 누락되면 안되므로 대부분 TCP를 사용한다.
  • UDP(빠르다) 그림 영상은 UDP로 보내는 것이 효율적

만든 규칙은 아래와 같이 VM인스턴스 -> 해당 compute -> 수정 후 네트워크 태그에 추가하면 된다.


외부 IP vs 내부 IP

VPC 내부에서 컴퓨터끼리 접근할때 들어가는 IP가 내부 IP이다.

VPC 외부에서 (브라우저) 우리 컴퓨터로 접근할 때 내부 IP가 필요하다.


실무에서 배포를 3번씩 하는 경우는?

-PRODUCTION (prod)
-STAGING
-DEVELOPMENT (dev)
-LOCALHOST

로컬을 제외하고 prod, stage, dev 총 3번 배포를 하는게 일반적이라고 한다.

  • Production : 유저들에게 제공되는 서비스 (실제 버전)

  • Staging : 버전을 업그레이드 할 때, 미리 배포하여 문제가 있는 지 없는 지 확인한다. 기획자, 디자이너들이 검증해줌.

  • Development : 개발서버로 우리가 개발할때 사용한다.



profile
우당탕탕 개발자

0개의 댓글