コンテンツにスキップ

インフラ編: はじめに

このページはインフラ編の入り口です。前提は「PC とターミナルが使えること」だけで、Web 開発の経験は問いません。

この編のゴール

Web アプリはコードを書いて終わりではありません。どこかのコンピュータの上で動かし続けて、初めてサービスになります。インフラ編のテーマは、この「Twin:te をどこで・どうやって動かすか」です。

やることは大きく3段階です。

  1. 自分の PC で動かす: まずは手元で Twin:te を立ち上げます
  2. サーバで動かす: 同じものを、インターネット上のサーバ(クラウドの VM)に引っ越します
  3. 公開する: あなた専用の本物の 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 に入れる構成です。

進め方

上から順に進めてください。

  1. 自分の PC で Twin:te を動かそう: まずは手元で一式を起動します
  2. サーバを用意しよう: SSH 鍵を作り、Web UI で VM とファイアウォールを作って、VS Code から接続します
  3. サーバで Twin:te を動かそう: ビルド済みイメージを pull して、サーバの上で起動します
  4. インターネットに公開しよう: DNS・HTTPS・ファイアウォールを整えて、全世界に公開します
  5. 後片付け: 使用した VM や DNS レコードを削除します。一番大事なステップです

アカウントの準備

Akamai Cloud のアカウントは、Twin:te で管理しているチームにあなたを招待します。招待メールが届いていない人はTAに声をかけてください。

招待を受けたら Akamai Cloud Manager にログインできることを確認しましょう。

準備ができたら、自分の PC で Twin:te を動かすところから始めましょう!

Footnotes

  1. Linode は老舗の VPS(仮想サーバ)事業者で、2022年に CDN 大手の Akamai に買収されて「Akamai Cloud」になりました。管理画面の URL が cloud.linode.com だったり、VM のことを「Linode」と呼んだりと、あちこちに Linode の名前が残っています。