メインコンテンツまでスキップ

仮想マシン / クラウド設置

物理 H/W ではなく VM (VMware / Hyper-V / KVM / Proxmox) または パブリッククラウド (AWS EC2 / Azure VM / GCP) 環境にゲートウェイを導入する場合の相違点のみをまとめます。新規設置の基本手順は クイックインストール (2026.05+ コンテナ) です。H/W 全体セットアップ は legacy native ボックスの保守用としてのみ参照してください。

VM で Docker を使用する

2026.05+ のコンテナモードは VM 内でもそのまま動作します — Docker は nested virt ではなく cgroup/namespace ベースのため、VM 上でも native と同等の性能が得られます。cgroup MemoryMax=12G が VM のメモリ上限を超える場合は 調整が必要です (systemd drop-in で MemoryMax=6G など)。


1. 要求仕様

グレードvCPURAMディスク備考
小 (≤ 1k タグ)4 vCPU8 GB100 GB SSD開発/テスト
中 (1k–10k タグ)8 vCPU16 GB256 GB SSD + 1 TB運用標準
大 (10k+ タグ)16 vCPU32 GB512 GB NVMe + 2 TB大規模

CPU オーバーコミット注意 — ホストが CPU を 1:4 以上オーバーコミットすると Cassandra commitlog flush が遅延し、アラームとして現れます。dedicate を推奨します。


2. ディスク構成 — 推奨

/opt/data1別ディスク (または別 LVM ボリューム) に分離すると:

  • アップグレード時に /opt/kopens を入れ替えても /data1/pp-data (ユーザー flows / Cassandra / バックアップ) を保持
  • ディスク IO 負荷の分離 (Cassandra commitlog vs sstable)
/dev/sda → / (OS) ~ 50 GB
/dev/sdb → /opt ~ 100 GB SSD (게이트웨이 코드)
/dev/sdc → /data1 ~ 1 TB+ (시계열 데이터)

3. VMware vSphere

推奨
仮想 H/W バージョン ≥ 14 (ESXi 6.7+)
VMXNET3 NIC (Intel E1000 より高速)
paravirtual SCSI (LSI Logic よりスループットが高い)
CPU reservation 有効化 (Cassandra の安定性)
Memory reservation 有効化 — フルサイズ (バルーニング無効化)
tools.guestlib.enableHostInfo = TRUE 追加 — ホスト時刻同期

4. KVM / Proxmox

推奨
cpu host モード (passthrough)
virtio NIC + virtio-blk / virtio-scsi
qemu-guest-agent インストール (ゲストヘルスチェック)
Memory ballooning 無効化 (Cassandra heap の安定性)
ディスクキャッシュモード = none (レイテンシ ↓) または writeback (スループット ↑)

5. Hyper-V

推奨
Generation 2 (UEFI)
Dynamic Memory 無効化 (Cassandra heap が可変 → swap 発生)
Integration Services 最新バージョン (時刻同期)
仮想 NIC の Adapter Type = Synthetic (Legacy ではない)

6. パブリッククラウド

6.1 AWS EC2

項目推奨
インスタンスm5.xlarge (4 vCPU / 16 GB) — 中小 / m5.2xlarge (8/32) — 運用
AMIAmazon Linux 2 (Fedora 38 が優先だが RHEL 系互換)
ディスクgp3 (/opt 100 GB), gp3 (/data1 1 TB+) — io1/io2 は Cassandra commitlog 用
Security Groupinbound 80 / 443 / 22 (管理者 IP のみ)、MQTT 1883 / OPC-UA 12000 (必要時 — 通常は VPC 内部)
EFA / 拡張ネットワーキングenabled (レイテンシ低減)
PlacementCluster placement group (大規模)

AWS PrivateLink / VPC Peering で オンプレ PLC 網 と接続します。

6.2 Azure VM

項目推奨
サイズD4s_v5 (4 vCPU / 16 GB) — 中小 / D8s_v5 — 運用
ディスクPremium SSD (P30 / P40) for /data1
Accelerated Networkingenabled
ExpressRoute / VPNオンプレ PLC との接続

6.3 GCP

項目推奨
マシンタイプe2-standard-4 — 中小 / n2-standard-8 — 運用
ディスクpd-ssd (Cassandra commitlog 1k IOPS を保証)
Cloud Interconnect / VPNオンプレ接続

7. クラウド-オンプレ PLC 網の接続

PLC は通常 オンプレ (工場内) にあり、ゲートウェイがクラウドにある場合は直接通信できません。2 つのパターンがあります:

パターン A — クラウドゲートウェイ + オンプレゲートウェイ

[PLC] ─── [온프레 게이트웨이] ─── (Sparkplug B / MQTT) ─── [클라우드 게이트웨이] ─── [상위 플랫폼]

オンプレゲートウェイが PLC 収集 + Sparkplug 発行を行い、クラウドゲートウェイが受信/統合します。推奨パターンです。

パターン B — VPN / SD-WAN で PLC 網へ直接到達

[PLC] ─── [VPN 게이트웨이] ──VPN── [클라우드 게이트웨이] ─── [상위 플랫폼]

レイテンシ増加 + 回線コストが発生します。小規模サイト 1〜2 箇所のみに推奨。


8. 起動自動化 (cloud-init)

VM / クラウドでインスタンス起動時に自動インストール — cloud-init user-data の例:

#cloud-config
package_update: true
write_files:
- path: /root/pp-edge-install.env
owner: root:root
permissions: '0600'
content: |
export EDGE_ID=EDGE_VM_001
export SITE_ID=SITE_00001
export SERVER_HOST=192.168.0.41
export SERVER_API_KEY=<platform-api-key>
runcmd:
- mkdir -p /data1 /opt/kopens
- . /root/pp-edge-install.env && bash < <(curl -fsSL https://product.kopens.io/plantpulse-edge/install.sh)
- bash /opt/kopens/install/bin/health.sh

運用環境では 固定 edge.id / 固定 site.id を cloud-init で明示的に指定してください。


9. よく陥る落とし穴 (VM / クラウド特有)

症状原因 / 解決
Cassandra が頻繁に停止するメモリ ballooning が有効。固定メモリに変更
MQTT keepalive タイムアウトが頻発クラウドの NAT idle timeout が短い。app.properties の keepalive を 60→30 秒に
起動後の時刻が 1970 年仮想時刻同期が無効。VMware tools / qemu-guest-agent をインストール
ディスク IO が遅いgp2 / standard HDD。gp3 または SSD へ
OPC-UA 証明書が毎回 invalid仮想ホスト名が変更される (DHCP)。証明書の SAN に想定される全 IP/ホスト名を含める
ネットワーク throughput が不足virtio / VMXNET3 / Accelerated Networking が未有効

10. さらに詳しく