パブリッククラウドを使って格安にサイトを運用しています.この記事では使っているサービスを紹介していきます.現時点の利用で料金がかかっているサービスに関して(有料)を付与してあります.
IaaS
インターネットへ公開しているサイトはVMでホスティングしてあります.仮想マシンを使う利点は,デプロイやバックアップ,ロギングや監視の設定の一元化がしやすいことです.下図にVMに関連したアーキテクチャの概要を示します.例えばロギングでは1つのFluent Bitで複数のサイトのアクセスログ(Logs)を収集し,オブジェクトストレージ(Cloudflare R2)に転送できます.また,デプロイ(Deploy)をrsync over SSHでコピーするだけにしてシンプルにできています.
利用しているクラウドサービス
以下のサービスを使い個人のWebサイトをVMで運用しています.
Oracle CloudではARMのCPUを搭載したArm Ampere A1 Computeの仮想マシンが無料枠で使えます.メモリが24GBまで無料なのが嬉しいポイントです.固定のPublic IPも無料で使えるのが助かります.
Google CloudのUSのリージョンでe2-microのVMが1台無料で使えます.ネットワーク転送量に対する課金があるので注意が必要です.
使い方
- WordPressで作成したブログの公開
- Nginx, PHP-FPM, MySQL, Certbotを組み合わせて使っています.
- 静的ファイル/サイト(Portfolio,Wiki,Resume)の公開
- NginxとCertbotを組み合わせて使っています.
PaaS
Slack BotやURL短縮サービスをはじめとした簡単なアプリケーションのデプロイにPaaS(FaaS)を使っています.
利用しているクラウドサービス
以下のPaaSを使っています.
AWS Lambdaは他のAWSサービスと連携しやすいため使っています.例えば無料枠のあるAmazon DynamoDBにテキストデータを保存したい場合にAWS Lambdaを使うと,AWSサービス間の連携がしやすいです.また,アプリケーションサーバとデータベースサーバ間のアクセス制御がIAMで行えて便利です.
Cloudflare WorkersをCloudflare Email Workersと組み合わせて利用しています.CloudflareのWebコンソールも他のクラウドプロバイダに比べてシンプルで使いやすいのも利点です.
使い方
- Slack Bot
- AWS LambdaとAmazon DynamoDBの組み合わせて動かしています.
- URL短縮サービス
- Cloudflare WorkersとCloudflare Workers KVで個人用のURL短縮サービスを運用しています.
- メールからSlackへの変換サービス
- Cloudflare Email WorkersでメールをSlackに転送しています.宅配便の通知メールをSlackに流しています.
- Webhookからメールへの変換サービス
- Cloudflare WorkersでRESTful APIを提供しています.APIが呼び出されるとメールが送信されます.
メール
個人用のメールアドレスとサーバからのメール送信用に以下を利用しています.
利用しているクラウドサービス
以下のSaaSを使っています.
- Cloudflare Email Routing
- Amazon SES (有料)
- さくらのメールボックス (有料)
使い方
- 個人用のメールアドレス(xxx@koyama.me)
- さくらのメールボックスを使って運用しています.iOSやmacOSのメールクライアントを送受信に使っています.
- 転送用のメールアドレス(xxx@1ch.dev)
- Cloudflare Email Routingを使って運用しています.メールアドレスを変更した場合に,各Webサービスへ設定するのが手間で転送用アドレスを作っています.
- サーバからのメール送信用(xxx@koyama.me)
- Amazon SESを使ってアラートやWordPressの通知用のSMTPサーバを運用しています.メールの件数が少ないため従量課金のサービスを採用しています.AWSのほかのサービスと一緒に管理しやすいためSendGridやMailgunは採用していません.
バックアップ
オブジェクトストレージにバックアップを配置しています.バケットポリシーでアーカイブ期間の過ぎたデータを自動削除しています.
利用しているクラウドサービス
以下のクラウドサービスを利用しています.Google CloudのGoogle Cloud Storageには5GBまでの無料枠があるのでAmazon S3からの移行を検討しています.
- Amazon S3 (有料)
- Cloudflare R2
使い方
- Webサイトコンテンツ・設定ファイルのバックアップ
- VMのコンテンツ(WordPress, MySQL, 静的ファイル)と設定ファイル(/etc/xxx)を圧縮してAmazon S3に配置しています.
- アクセスログのバックアップ
- ログのアーカイブの目的でVMで動作するNginxのアクセスログをFluent BitでtailしてCloudflare R2に転送しています.DuckDBで解析したいと考えています.
メトリクス・ログ・監視
Webサイトの外部監視とログの保存,アクセス数の集計を行っています.
利用しているクラウドサービス
使い方
- VMのメトリクス
- Mackerelで収集して可視化してあります.NginxやMySQLのプラグインをインストールして運用しています.
- VMのログ
- Fluent BitでtailしたNginxのアクセスログをGrafana CloudのLokiに転送しています.必要に応じて検索を行えます.
- Webサイト外部監視
- サイトが利用できるかをUptimeRobotで監視しています.障害が発生した場合にはSlackとメールで通知する設定をしてあります.
その他
上記以外で使っているサービスは以下です.
- CI
- GitHub Actions
- GitHubでソースコード管理しているため使っています.
- GitHub Actions
- DNS
- Cloudflare DNS
- Aliasレコードにも対応した無料のDNSサービスでオススメです.
- Cloudflare DNS
- SSO
- Cloudflare Access
- Cloudflare AccessでGitHubアカウントを使ったSSOを設定しています.
- Cloudflare Access
料金のまとめ
2024年12月の1ヶ月あたりの費用を集計しました.
- Google Cloud: 25円/月
- AWS: 21円/月
- Oracle Cloud: 0円/月
- Cloudflare: 0円/月
- さくらインターネット: 110円/月
- 年間契約したため月額プランよりも安いです
先月のクラウド関連の費用は156円/月でした.今後も費用を抑えつつクラウドを活用していきたいと思います.
コメントを残す