Route53, GCE, React, FastAPI를 사용하여 간단한 웹 앱 만들기 [후편]

무슨 기사?



이하의 기사의 후편이 됩니다.

GCE에서 인스턴스 생성, 시작



아래에 따라 이번에는 진행하겠습니다.

인스턴스 만들기



에서 인스턴스를 만듭니다.



외부에서 통신을 허용하고 싶으므로 https 트래픽을 허용합니다.



자동 재부팅은 꺼져 있습니다.



시작했으므로 VM에 ssh합니다.



VM 내 환경 구축



참고로
  • docker-compose 소개
  • GitHub의 저장소 클론
  • https 통신 드릴링

  • 합니다.
    $ sudo apt update
    $ sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
    >> OK
    
    $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
    
    $ sudo apt update
    $ apt-cache policy docker-ce
    $ sudo apt install docker-ce
    $ sudo systemctl status docker
    $ docker --version
    >> Docker version 20.10.8, build 3967b7d
    $ sudo usermod -aG docker ${USER}
    

    일단 로그아웃하고 docker-compose 설정을 계속합니다.
    이번에는 docker-compose의 이미지를 이용합니다.
    $ docker run docker/compose:1.22.0 version
    

    리포지토리를 복제한 후 빌드합니다.--recursive 를 실시하는 경우는 공개키 인증이 별도 필요하므로, 잠정으로 대응합니다.
    $ git clone https://github.com/izuna385/arxiv-checker.git
    $ cd arxiv-checker
    $ rm -r -f backend
    $ git clone https://github.com/izuna385/arxiv-checker-backend
    $ mv arxiv-checker-backend backend
    $ docker run --rm \
        -v /var/run/docker.sock:/var/run/docker.sock \
        -v "$PWD:/rootfs/$PWD" \
        -w="/rootfs/$PWD" \
        docker/compose:1.22.0 -f docker-compose.prod.yml up -d --build
    

    여기까지 가서 외부 IP를 보러갑니다.



    http 통신에서는 표시를 확인할 수 있었습니다.

    Route53을 이용한 DNS 해결



    마지막으로 Route53에서 연결까지 수행합니다.


    레코드를 만든 후 주소에 액세스합니다.


    이것으로 배포 할 수있었습니다. (현재는 VM을 정지하고 있어 액세스는 할 수 없습니다.)

    개선점


  • https 통신에 표시되지 않고 원인을 확인 중입니다. 이해하는대로 추가합니다.
  • 이 구성에서는, 대량에 액세스가 왔을 때에 스케일 하지 않습니다. 프런트와 백엔드에서 각각 대량 액세스가 왔을 때 스케일 하도록 구성을 재검토할 필요가 있습니다.

  • 리포지토리

    좋은 웹페이지 즐겨찾기