復習7日目_20251129
🎉 Day7:最終調整(UI & セキュリティ総点検)
🌈 今日のゴール
- サイト全体の見た目を整える
- セキュリティ設定を再点検して、安全に運用できる状態にする
- AIアプリ / WordPress の最終統合チェック
具体的には、
- WordPress UI 最終調整
-
絵画分類アプリ(/kaiga/)の最終確認
-
Nginx のセキュリティヘッダ確認
-
AWS セキュリティグループの最終点検
-
Docker ボリュームとバックアップ
これらと、ゴールの対応関係は?
| ゴール | 対応する具体作業 | 説明 |
|---|---|---|
| サイト全体の見た目を整える | 1. WordPress UI 最終調整 | 文字サイズ、余白、見出しデザイン、全体レイアウトを整え、読みやすいデザインに仕上げる |
| 2. 絵画分類アプリ(/kaiga/)の最終確認 | アップロード画面や結果表示の見た目・スマホ表示を確認し、統一感を出す | |
| セキュリティ設定を再点検して、安全に運用できる状態にする | 3. Nginx のセキュリティヘッダ確認 | HTTPS強制、HSTS、X-Frame-Optionsなどの基本ヘッダでWeb脆弱性を最小化 |
| 4. AWS セキュリティグループの最終点検 | 不要ポート閉鎖、SSHアクセス制限、IPv6チェックなど外部からの攻撃リスクを削減 | |
| AIアプリ / WordPress の最終統合チェック | 2. 絵画分類アプリ(/kaiga/)の最終確認 | WordPress → /kaiga/ の動線、Google認証後の遷移確認 |
| 5. Docker ボリュームとバックアップ | WPデータ・DBデータの保全、バックアップルール確立で長期運用に備える |
さあ、作業に入ります。
1. WordPress UI 最終調整

①トップページの記事一覧の画像が小さすぎる → 中サイズに
方法
【手順①】管理画面にログイン
【手順②】左メニューの「外観」をクリック
項目の中から 「カスタマイズ」 を選ぶ。
【手順③】カスタマイズ画面で追加CSSを選ぶ
【手順④】そこでCSSのコードを貼るだけ!
感想、簡単だが、アイキャッチ画像の場合、クラス名が違うために、変わらないケースであった。
そこで、どのクラスが使われていてもヒットする ようにした。
.blog img.attachment-post-thumbnail,
.archive img.attachment-post-thumbnail,
.blog img.wp-post-image,
.archive img.wp-post-image,
.blog .entry-thumbnail img,
.archive .entry-thumbnail img {
display: block !important;
margin-left: auto !important;
margin-right: auto !important;
}
さらに具体的にやったこと、
- display: block にする
画像は本来は inline なので中央寄せできないが、block + margin-left/right: auto で中央に位置できる要素になります。
- margin-left: auto
- margin-right: auto
この「auto」が左右の余白を均等にする → 結果として中央になる。
- !important
テーマ側のCSS(強い指定)に負けないようにしている。

変わったので成功だ!
2. 絵画分類アプリ(/kaiga/)の最終確認

見てくれの改善の余地はあるが、動作確認をすすめる。

よし、動いた!!!
異なるファイル形式では識別されない。
もっとテストするケースがあるのでテストケースを洗い出すことが重要だ。
3. Nginx のセキュリティヘッダ確認
① Nginx コンテナに入る
docker ps
でコンテナを探してから、入った。
docker exec -it wordpress-nginx-1 /bin/sh
② 設定ファイルの場所を確認
ls /etc/nginx/conf.d
どのファイルが k-stone.click を担当しているか確認する。
コンテナ内で:
以下は復元の手順と手順書
EC2 障害時の復旧ガイド(あなたの環境専用)
このドキュメントは、WordPress(Nginx + PHP-FPM)・MySQL・Flask(/kaiga)を Docker で運用しているあなたの EC2 が、万が一障害で停止・破損した場合に 確実に復旧できる状態 をまとめたものです。
✔️ 復旧に必要なバックアップ
1. MySQL データ(最重要)
- バックアップファイル例:
db_YYYYMMDD_HHMMSS.sql - 内容:WordPress の 投稿・固定ページ・メディア情報・ユーザ情報・設定 など、全データベース内容。
- 保存場所:
~/wp_backups/ - 取得コマンド:
./backup_db.sh
2. WordPress ファイル一式
- ディレクトリ例:
wp_YYYYMMDD_HHMMSS/ - 内容:
- wp-content(画像・テーマ・プラグイン)
- wp-config.php
- WordPress コアファイル
- 取得コマンド:
./backup_wp_files.sh
3. Docker 構成(docker-compose)
- あなたの EC2 の
/home/ubuntu/wordpress/に保持 - GitHub 等にコピーしておけばさらに安全
- これが残っていれば 同じコンテナ構成を再構築可能
4. Nginx 設定(/etc/nginx/conf.d/)
- セキュリティヘッダなど、あなたが手動で修正した部分を含む
- バックアップ推奨
docker cp wordpress-nginx-1:/etc/nginx/conf.d ~/wp_backups/nginx_conf_YYYYMMDD
✔️ 障害発生後の復旧手順
Step 1:新しい EC2 を起動する
- OS:Ubuntu(元と同じ)
- 既存の Elastic IP を割り当てる(推奨)
Step 2:Docker / docker-compose をインストール
sudo apt update
sudo apt install docker.io docker-compose -y
Step 3:wordpress ディレクトリを復元
- GitHub またはバックアップから
docker-compose.ymlを設置 /home/ubuntu/wordpress/に配置
Step 4:Docker を再構築
cd ~/wordpress
docker compose up -d
Step 5:MySQL データベースをリストア
cat ~/wp_backups/db_YYYYMMDD.sql | docker exec -i wordpress-db-1 mysql -u<DB_USER> -p<DB_PASSWORD> <DB_NAME>
Step 6:WordPress ファイルをリストア
docker cp ~/wp_backups/wp_YYYYMMDD/html wordpress-nginx-1:/var/www/
Step 7:Nginx 設定をリストア(必要な場合)
docker cp ~/wp_backups/nginx_conf_YYYYMMDD/conf.d wordpress-nginx-1:/etc/nginx/
docker exec wordpress-nginx-1 nginx -s reload
✔️ 最終チェック
- WordPress が表示されるか
- /kaiga/ が動作するか
- 管理画面(/wp-admin)がログインできるか
- 記事・画像が正しく読み込まれるか
これらがすべて問題なく動けば、EC2 障害からの完全復旧が完了です。
✔️ このドキュメントの目的
- EC2 が破損または削除されても 5〜10分以内に復旧できる状態 を作る
- Docker 構成(コンテナ)は再構築できる
- データ(DB + ファイル)があれば、完全に元通りになる
今後の方針は以下
| 目的 | 内容 | チェック項目 | 使用コマンド / 作業 |
|---|---|---|---|
| ① コスト分析しながら運用する(最適化) | AWSの月額コストを適正化しつつ監視 | – EC2 の時間課金- EBSの容量- データ転送費- Route53(¥150/月)- SSL更新(無料)- CloudWatch 異常検知(CPU/ディスク) | – AWS Cost Explorer- CloudWatch アラーム設定- 料金試算(必要なら作成) |
| ② 運用ログを取る(健全性確認) | システム負荷・動作・攻撃をチェックして健全性を保つ | 1. Nginx ログアクセス傾向 / 攻撃パターン2. Dockerログ個別コンテナの状態3. ディスク容量監視 | Nginx/var/log/nginx/access.log/var/log/nginx/error.log(必要なら fail2ban)Dockerdocker logs wordpressdocker logs wordpress-nginx-1docker logs wordpress-db-1Diskdf -hdocker system df |
| ③ 2ヶ月後:別サーバへ移行(ゼロダウン計画) | コンテナごと別サーバに移動 | – 新サーバを準備(Ubuntu 20.04/22.04)- Dockerインストール- docker-compose.ymlコピー- DB復元- WPファイル復元- DNS切替(TTL=300) | 移行手順1. 新EC2準備2. 構成ファイルコピー3. docker compose up -d4. `cat db.sql |
| 次の選択肢(あなたの次のアクション) | 方向性を決めて進める | – コスト監視ダッシュボード作成- 週次運用チェック表の作成- 移行計画書の作成- Day8へ進む | A. コスト分析ダッシュボードB. 運用チェックシートC. 移行計画書D. Day8(使い方の戦略) |
