[2025年5月版]Perforce P4(Helix Core)をMarketplaceからテンプレートを起動して構築してみた

[2025年5月版]Perforce P4(Helix Core)をMarketplaceからテンプレートを起動して構築してみた

Clock Icon2025.05.08

こんにちは、ゲームソリューション部のsoraです。
今回は、Perforce P4(Helix Core)をMarketplaceからテンプレートを起動して構築してみたことについて書いていきます。

以下記事にも手順が説明されていますが、新しいバージョンになって若干手順などが異なる部分があり、詰まることがあったため書いていきます。
「Perforceとは」については本記事では記載しませんので、そちらも以下記事をご確認ください。
https://dev.classmethod.jp/articles/perforce-helixcore-ec2/

MarketplaceからCloudFormationスタックを起動

まず、AWS MarketplaceでPerforce P4(Helix Core)をサブスクライブします。
そうすると、CloudFormationスタックを起動することができるため、そこから構築していきます。
sr-perforce-nlb-mp-01

このスタックにより、PerforceのEC2インスタンスとその他VPCやサブネットなどの必要なリソースが作成されます。
既存のVPC・サブネット・セキュリティグループを指定することも可能です。
インターネットへのルートがないサブネットを指定した場合はエラーになったため、プライベートサブネットを指定する場合はNAT Gatewayなどインターネットへのルートが通るようにしておく必要があると思います。
sr-perforce-nlb-mp-02

パラメータを入力して実行するとCloudFormationスタックが作成されます。
どんなリソースが作成されているかを見ると以下のようでした。
sr-perforce-nlb-mp-03

ちなみに、このスタックにより作成されるEC2インスタンスにて使用されているAMIを、CloudFormation経由ではなく直接起動しようとするとエラーになり起動できませんでした。

NLB作成・設定

PerforceのEC2インスタンスがパブリックサブネットにある場合は、セキュリティグループにて1666番ポートを許可しておけば直接接続が可能です。
ただし、今回はNLB経由で接続してみたいためNLBを作成します。

NLBのターゲットグループはTCP:1666を設定します。
NLBのリスナーについて、暗号化通信をそのまま通過させる場合はTCP:1666、NLBにACMなどの証明書を登録してTLS終端にする場合はTLS:1666を設定します。
sr-perforce-nlb-mp-04

今回はNLBでTLS終端する方法でやってみたいため、TLS:1666で設定しています。
証明書について、事前にRoute53でのAレコードの登録やACMでの証明書作成をしており、ACMの証明書を設定します。
sr-perforce-nlb-mp-05

NLBにてTLS終端する場合は、NLBとPerforce間は平文で通信することになるため、Perforce側にてSSL無効化する必要があります。

(NLBでTLS終端する場合)PerforceのEC2インスタンスにてSSL無効化

EC2インスタンスにてSSHで接続して、SSL無効化をしてPerforceを起動します。
まずは現在の設定を確認します。

$ sudo su -
$ source /p4/common/bin/p4_vars 1

$ p4 info
User name: perforce
Client name: esp-test-commit
Client host: esp-test-commit
Client unknown.
Current directory: /p4/common/bin
Peer address: 127.0.0.1:50076
Client address: 127.0.0.1
Server address: localhost:1666
Server root: /p4/1/root
Server date: 2025/05/08 01:56:28 +0000 UTC
Server uptime: 00:40:15
Server version: P4D/LINUX26X86_64/2024.2/2697822 (2024/12/18)
Server encryption: encrypted
Server cert expires: May  6 01:16:09 2035 GMT
ServerID: master.1
Server services: standard
Server license: none
Case Handling: sensitive

Server encryption: encryptedとなっているため、SSLが有効になっていることがわかります。

SSL無効化をするため、一度サービス停止してSSLを無効にして起動します。

$ p4 admin stop
$ p4d -r /p4/1/root -p 1666 -d

接続

設定できたため接続します。
Perforce接続用のクライアントであるP4Vをインストールして、Serverにssl:{ドメイン名 or IPアドレス}:1666、Userにperforceを指定して接続します。
初期パスワードはインスタンスIDです。
sr-perforce-nlb-mp-06
sr-perforce-nlb-mp-07
sr-perforce-nlb-mp-08
sr-perforce-nlb-mp-09

最後に

今回は、Perforce P4(Helix Core)をMarketplaceからテンプレートを起動して構築してみたことを記事にしました。
どなたかの参考になると幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.