LoginSignup
0
0

More than 1 year has passed since last update.

Route53, GCE, React, FastAPIを用いて簡単なWebアプリを作製する 【後編】

Last updated at Posted at 2021-08-16

なんの記事?

以下の記事の後編になります。

GCEでのインスタンス作成、起動

下記に従い今回は進めていきます。

インスタンスの作成

からインスタンスを作成します。

image.png

外部からの通信を許可したいので、httpsトラフィックを許可します。

image.png

自動再起動はオフにしておきます。

image.png

起動したので、VM内にsshします。

image.png

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を見に行きます。

image.png

http通信では表示が確認できました。

Route53を用いたDNS解決

最後にRoute53で接続まで行います。
image.png

レコードを作成した後、アドレスにアクセスします。
image.png

これにて、デプロイすることが出来ました。(現在はVMを停止しており、アクセスは出来ません。)

改善点

  • https通信では表示されず、原因を確認中です。分かり次第追記します。
  • この構成だと、大量にアクセスが来たときにスケールしません。フロントとバックエンドでそれぞれ、大量アクセスが来た時にスケールするよう構成を見直す必要があります。

リポジトリ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0