0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【サブスク管理人】インフラ設計と構築

0
Posted at

サーバー構築において設定ミスによるトラブルへの不安を感じることはありませんか?
本記事ではサブスク管理人のインフラ設計を紹介します。

インフラ構成

Webサーバーとデータベースを物理的に分けることで、負荷分散を考慮した構成にしました。

Ansibleによる環境構築

AWSのようなクラウドサービスは使用せず、コストパフォーマンスに優れた ConoHa VPS を採用し、OSには AlmaLinux をインストールしています。

インフラ構成管理には Ansible を採用し、環境構築を自動化しました。

一度実行すれば、OSの初期設定からミドルウェアのセットアップまで完了します。構築過程をコード化することで、ミス防止と再現性を実現しました。

利用ソフト

Macでのメンテナンスに活用している定番ソフトを紹介します。

ツール 用途
DBeaver データベースをGUIで操作
FileZilla ファイルの転送を直感的かつ確実に行う
VSCode Remote SSH サーバー上のファイルをローカルと同じ感覚でGUI編集

SSLの設定

サイトを安全に公開するため、Cloudflare を活用したSSL対応を行いました。

手順1:DNSの設定

Cloudflare の管理画面でドメインのAレコードを ConoHa VPS のIPアドレスに紐付けます。

手順2:SSL/TLS設定の有効化

SSL/TLSの設定をフルに変更します。暗号化設定を有効にすることで、クライアントと Cloudflare 間、および Cloudflare とサーバー間の両方が暗号化されます。

手順3:オリジン証明書の設定

Cloudflare が発行するオリジン証明書をサーバー内に設置し、Nginx から読み込むように設定します。

server {
    listen 443 ssl;
    server_name subsc-manage.rbtm.jp;
    ssl_certificate /etc/nginx/ssl/cert.pem;
    ssl_certificate_key /etc/nginx/ssl/key.pem;
}

設定でハマった点

Cloudflare にはサブドメインの階層制限があります。無料プランがカバーしているのは *.example.com のように1レベルのサブドメインまでであり、api.subsc.example.com のような2レベル以上のサブドメインには対応していません。サブドメインは1階層に留め、api-subsc-manage.rbtm.jp のようにハイフンで繋ぐ形式にすることで回避しました。

終わりに

Ansible による構築の自動化と Cloudflare によるドメイン・SSL管理を組み合わせることでインフラを短期間で構築できました。

連載記事一覧

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?