インフラ編: はじめに
このページはインフラ編の入り口です。前提は「PC とターミナルが使えること」だけで、Web 開発の経験は問いません。
この編のゴール
Web アプリはコードを書いて終わりではありません。どこかのコンピュータの上で動かし続けて、初めてサービスになります。インフラ編のテーマは、この「Twin:te をどこで・どうやって動かすか」です。
やることは大きく3段階です。
- 自分の PC で動かす: まずは手元で Twin:te を立ち上げます
- サーバで動かす: 同じものを、インターネット上のサーバ(クラウドの VM)に引っ越します
- 公開する: あなた専用の本物の URL(HTTPS)で、世界中の誰でも開けるようにします
最後まで終わると、クラウド上にあなた専用の URL を持った、あなた専用の Twin:te インスタンスが誕生します。
Twin:te の本番環境は Akamai Cloud(Linode1)の上で動いています。今日は同じ Akamai Cloud に、あなた用のサーバを1台立てます。
本番の全体像
まず、Twin:te の本番環境の全体像を見てみましょう。実物の構成図が、インフラ管理リポジトリの twinte-infra-v4 の docs/infrastructure.drawio.svg にあります。
登場人物を整理すると、
- ユーザーからのアクセスは Cloudflare を経由して Akamai Cloud に届く
- Akamai Cloud 上には staging(検証用)と production(本番用)の2つの環境があり、それぞれ app サーバと db サーバの2台で構成されている(合計4台)
- 各環境のサーバ同士は VPC というプライベートネットワークでつながっている
- 各サーバの前には Firewall が置かれていて、許可した通信しか通さない
という構成です。
今日はこの縮小版を作ります。具体的には、app サーバと db サーバーを1台の VM に入れる構成です。
進め方
上から順に進めてください。
- 自分の PC で Twin:te を動かそう: まずは手元で一式を起動します
- サーバを用意しよう: SSH 鍵を作り、Web UI で VM とファイアウォールを作って、VS Code から接続します
- サーバで Twin:te を動かそう: ビルド済みイメージを pull して、サーバの上で起動します
- インターネットに公開しよう: DNS・HTTPS・ファイアウォールを整えて、全世界に公開します
- 後片付け: 使用した VM や DNS レコードを削除します。一番大事なステップです。
アカウントの準備
Akamai Cloud のアカウントは、Twin:te で管理しているチームにあなたを招待します。招待メールが届いていない人はTAに声をかけてください。
招待を受けたら Akamai Cloud Manager にログインできることを確認しましょう。
準備ができたら、自分の PC で Twin:te を動かすところから始めましょう!
Footnotes
-
Linode は老舗の VPS(仮想サーバ)事業者で、2022年に CDN 大手の Akamai に買収されて「Akamai Cloud」になりました。管理画面の URL が
cloud.linode.comだったり、VM のことを「Linode」と呼んだりと、あちこちに Linode の名前が残っています。 ↩