本番受入基準
このページは、設置担当者と運用チームが同じ基準で「本番投入可否」を判断するためのチェックリストです。 設置が完了したという意味は、サービスが一度起動したことではなく、再起動/バックアップ/ヘルス/セキュリティ/受入証跡のすべてが残っていることを指します。
1. Go / No-Go 基準
| 区分 | Go 基準 | No-Go |
|---|---|---|
| デプロイモード | 新規設置は container_mode=true | 新規ボックスで plantpulse.service native 運用 |
| systemd | plantpulse-edge.service active + enabled | active だが enabled ではない、または restart loop |
| ヘルス | /api/v1/system/health HTTP 200 + components UP | HTTP 503、component DOWN、応答遅延の継続 |
| バージョン | /api/v1/system/version の image_tag / build_date 記録 | tag 未確認、以前の image で起動 |
| ネットワーク | WAN、PLC NIC、DNS/NTP、Platform API 到達性の確認 | PLC 網が default route を保持、NTP 未同期 |
| セキュリティ | /etc/kopens/credentials.txt root 0600、初期 admin パスワード変更完了 | デフォルト/共有パスワードのまま、認証情報の受け渡し記録なし |
| バックアップ | backup.sh 1回成功 + .sha256 存在 | バックアップ未実行、バックアップが同一ディスクのみに存在 |
| 復旧性 | doctor.sh または acceptance log の生成 | 障害時に提出する証跡がない |
1つでも No-Go の場合は本番投入せず、インストールのトラブルシューティング または コンテナモード運用ガイド の escalation 手順に従います。
2. 設置前の承認項目
設置前に運用チームが確認すべき値:
| 項目 | 例 |
|---|---|
EDGE_ID | EDGE_00303 |
SITE_ID | SITE_00001 |
| Platform host / API key | SERVER_HOST, SERVER_API_KEY |
| PLC NIC / WAN NIC | LAN1_IFACE, LAN2_IFACE |
| static IP / gateway / DNS | LAN1_IP, LAN2_IP, LAN2_GATEWAY, LAN2_DNS |
| image tag ポリシー | latest または固定 IMAGE_TAG=2026-YYYYMMDD |
| 初期認証情報ポリシー | random 生成または運用チーム指定 |
| 外部バックアップ先 | NAS / S3 / 運用バックアップサーバ |
認証情報はチャット/メール本文には残さず、root 専用ファイルまたは運用シークレットストアで受け渡します。
3. Secret-safe な設置用 env
パスワードと API key を shell history に残さないため、root 専用の env ファイルを使用します。
sudo -i
umask 077
install -m 600 /dev/null /root/pp-edge-install.env
${EDITOR:-vi} /root/pp-edge-install.env
ファイル内容の例:
export EDGE_ID=EDGE_00303
export SITE_ID=SITE_00001
export SERVER_HOST=192.168.0.41
export SERVER_API_KEY='<platform-api-key>'
export LAN1_IFACE=enp1s0
export LAN1_IP=192.168.100.10/24
export LAN2_IFACE=enp2s0
export LAN2_IP=192.168.0.10/24
export LAN2_GATEWAY=192.168.0.1
export LAN2_DNS=192.168.0.1
# export IMAGE_TAG=2026-20260524
実行:
sudo -i
set -a
. /root/pp-edge-install.env
set +a
cd /opt/kopens/install
bash install.sh
運用チームが初期パスワードを直接指定する場合も、同じファイルに ADMIN_PASS、API_KEY、MQTT_PASS、
OPCUA_PASS、CERT_PASS を記述し chmod 600 を維持します。公式の cert password key は CERT_PASS のみを使用します。
4. 受入証跡の収集
設置が完了したら、以下のコマンドで秘密値を除外した証跡ファイルを残します。
sudo -i
OUT=/root/pp-edge-acceptance-$(date +%Y%m%d-%H%M%S).txt
{
echo "# PlantPulse Edge acceptance"
date -Is
echo
echo "## host"
hostnamectl
uname -a
timedatectl
echo
echo "## service"
systemctl is-enabled plantpulse-edge.service || true
systemctl is-active plantpulse-edge.service || true
systemctl status plantpulse-edge.service --no-pager | sed -n '1,40p'
echo
echo "## version"
curl -ks https://127.0.0.1/api/v1/system/version | python3 -m json.tool
echo
echo "## health"
curl -ks https://127.0.0.1/api/v1/system/health | python3 -m json.tool
echo
echo "## ports"
ss -lntp | grep -E ':(80|443|1883|1884|6379|7799|9042|1880|12000|12443)([[:space:]]|$)' || true
echo
echo "## storage"
df -h /opt /data1 2>/dev/null || df -h
echo
echo "## docker"
docker ps --filter name=plantpulse-edge --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}'
} > "$OUT"
chmod 600 "$OUT"
sha256sum "$OUT" > "$OUT.sha256"
echo "$OUT"
受入時に運用チームへ引き渡す項目:
- acceptance text ファイルのパスと sha256
/data1/pp-backups/pe-backup-*.tar.zstと.sha256/tmp/pe-doctor-*.tar.zstと.sha256(問題発生時)- ゲートウェイ IP、
EDGE_ID、SITE_ID、image tag、設置日時 - 認証情報の受け渡し完了の有無 (パスワード原文は別途セキュリティ手順)
5. 再起動検証
本番投入前に一度は service restart 後の自動復旧を確認します。
sudo systemctl restart plantpulse-edge.service
sleep 30
sudo bash /opt/kopens/install/bin/health.sh
curl -ks https://127.0.0.1/api/v1/system/health | python3 -m json.tool
PLC 接続がすでに登録されている現場では、restart 後の収集状態と最終値の更新まで確認します。
6. バックアップと復旧の準備
sudo bash /opt/kopens/install/bin/backup.sh
ls -lh /data1/pp-backups/
sha256sum /data1/pp-backups/pe-backup-*.tar.zst | tail -1
初回バックアップは外部 NAS/S3/運用バックアップサーバへコピーします。同一ディスク上のバックアップのみでは障害復旧はできません。
7. 運用チーム引き渡し後のロック
/etc/kopens/credentials.txtの権限が0600 rootであることを確認- 初期 admin パスワードの変更完了
/root/pp-edge-install.envの保管ポリシー決定: 運用シークレットストアへ移管後にボックスから削除、または root 0600 を維持- ファイアウォールで WAN 公開が必要なポートのみ許可
- 運用チームの連絡先と escalation 経路の登録
- 次回点検日とバックアップ検証日の予約