インフラ設計
概要
GMAC MEOサービスのインフラ構成・環境情報。GMACアプリケーション(Webサービス)とスクレイピングプログラム(バッチ処理)の2つのシステムで構成される。
環境一覧
| 環境 | 用途 | 備考 |
|---|---|---|
| 開発環境(dev) | 開発・動作確認 | Laradock(Docker) |
| ステージング環境(staging) | 検証・テスト | |
| 本番環境(prod) | 運用 | |
| 本番ミラー環境(staging.prod-mirror) | 本番データでの検証 |
OEM環境
| 環境 | 用途 |
|---|---|
| GCOR本番 | GCOR向けOEMサービス |
| PIPIT本番 | PIPIT向けOEMサービス |
| KUCHIKOMI-ONE | 口コミ特化版 |
GMACサーバー構成
| 項目 | 技術 |
|---|---|
| Webサーバー | Nginx |
| アプリケーション | PHP 7.1.3+ / Laravel 5.7 |
| フロントエンド | Vue.js 2.6 SPA |
| データベース | MySQL 8+(Read/Writeレプリカ構成) |
| キャッシュ/セッション | Redis |
| ファイルストレージ | AWS S3 |
| コンテナ | Docker(Laradock) |
| ビルドツール | Laravel Mix(Webpack) |
スクレイピングサーバー構成
| 項目 | 技術 |
|---|---|
| 言語 | Python 3.10 |
| フレームワーク | Django 5.0.2 |
| ブラウザ自動化 | Playwright 1.41.2(Chromium) |
| バックアップ | Selenium 4.15.0 + undetected-chromedriver |
| 仮想ディスプレイ | Xvfb |
| プロセス管理 | supervisord |
| WSGIサーバー | Gunicorn 21.2.0 |
| コンテナ | Docker(Python 3.10-slim) |
AWS構成
| サービス | 用途 |
|---|---|
| S3 | スクリーンショット・ファイル保存(システム別バケット) |
| Lambda | スクレイピングジョブのスケジュール起動 |
| Batch | スクレイピングジョブの実行(56ジョブ: 28 normal + 28 reverse) |
外部サービス連携
| サービス | 用途 |
|---|---|
| Google Business Profile API | ロケーション・口コミ・投稿管理 |
| Google OAuth | ユーザー認証 |
| Google検索 | MEOランキングスクレイピング対象 |
| Instagram API | ソーシャル連携 |
| Slack Webhook | エラー通知・実行サマリー通知 |
| OpenAI API | 投稿サマリー自動生成 |