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

仮想マシン・クラウドインストール

物理H/Wではなく VM (VMware / Hyper-V / KVM / Proxmox) または パブリッククラウド (AWS EC2 / Azure VM / GCP) 環境にゲートウェイを導入する際の違いのみを整理。基本手順は ワンラインインストール です。

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 が遅延し、アラームとして現れる。専用割り当てを推奨。


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 系だが 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/ホスト名を含める
ネットワークスループット不足virtio / VMXNET3 / Accelerated Networking が無効

10. 関連情報​