Skip to content

クイックスタート

クイックスタートは、ActiveServerのダウンロード、セットアップ、および実行を円滑に行うことを目的としたガイドです。 ActiveServerの設定や管理の方法に関する特定のユーザーガイドについては、ガイドセクションを参照してください。(クイックスタートの2つ下のメニュー項目にあります。)

前提条件

ActiveServer最低システム仕様を下記に記載します。実際のシステム仕様はお客様のパフォーマンス要件に基づき変更してください。

仕様詳細
オペレーティング・システム(OS)Linux、Windows Server
メモリ4 GB RAM(最低)
CPU2コア(最低)
ディスク容量最低要件はありませんが、すべてのデータがデータベースに格納されるため、データベース用に十分なディスク容量を用意してください。
Java Development KitJava SE Development Kit 8(Open JDK v1.8)
Javaコンテナ.jarファイルは、Servlet 2.4/JSP 2.0をサポートする任意のコンテナで実行できます。デフォルト・コンテナはUnderTowです
WebブラウザーWeb管理インターフェイスは、Chrome、Firefox、またはEdgeブラウザーを使用してアクセスできます。

データベース: ActiveServerインスタンスとは別にデータベースサーバーを実行することをお勧めします。推奨されるデータベースサーバーの仕様とパフォーマンス要件については、データベースベンダーのドキュメントを参照してください。互換性のあるバージョンを以下に記載します。

データベース互換バージョン
MySQL5.7, 8
Oracle12.2.0.1, 19c
Microsoft SQL Server2012, 2014, 2017, 2019
PostgreSQL10 - 14
IBM Db211.1 以降

ActiveServerのダウンロード

  1. https://login.gpayments.com/loginからGPaymentsのMyAccountにログインします。

    GPayments MyAccountログイン

    !!! "アカウントをお持ちでない場合" アカウントをお持ちでない場合は、次のURLから登録してください。 https://login.gpayments.com/register

  2. ログインすると、MyAccountダッシュボードが表示されます。

    GPayments MyAccount Dashboard

  3. 左のメニューからActiveServer > Downloadを選択して下さい。

  4. ActiveServer > Downloadを選択して、リリースパッケージをダウンロードします。

MyAccount 会社設定

MyAccountではユーザーが所属している会社(Organisation)によってソフトウェアへのアクセス権が得られるようになっています。ソフトウェアにアクセス権がある会社に所属しているユーザーはソフトウェアのダウンロードやインスタンスのアクティブ化、ライセンスの確認等の権限が得られます。

ソフトウェアをダウンロードする際に、会社に所属していない場合は新規の会社を登録するか、GPaymentsのMyAccountにすでに登録済みで会社を作成したユーザーに招待(invite)してもらう必要があります。MyAccount > Profile Settings > My Organisationからユーザーを招待できます。

重要

ソフトウェアを既に購入しインスタンスの管理をする場合は既にMyAccountに登録された会社があるはずですので、新しい会社を登録する必要はありません。

会社に既に所属しており、貴社がActiveServerを購入している場合、パッケージのダウンロードができます。既に会社に所属しており、貴社がActiveServerを購入しているのにも関わらずパッケージがダウンロードできない場合はtechsupport@gpayments.co.jp にお問合わせください。新規のお客様は弊社の営業部までsales@gpayments.co.jpお気軽にお問い合わせください。

インストール

ダウンロードした.zipファイルを展開すると、以下のファイルが表示されます。

1
2
3
4
5
6
7
ActiveServer_vX.XX/
├── application-prod.properties
├── as.jar
├── README.txt
├── release.txt
├── startup.bat
└── startup.sh

ファイル:

  • application-prod.properties - ActiveServerを初期化するための設定ファイル。
  • as.jar - メインのActiveServer Javaパッケージ。
  • README.txt - ActiveServer、ドキュメント、ライセンス、サポートに関する一般的な情報。
  • release.txt - ActiveServerのすべてのバージョンのリリースノート。
  • startup.bat - Windows用のスタートアップ・スクリプト。
  • startup.sh - Linux用のスタートアップ・スクリプト。

設定

application-prod.propertiesファイルを編集することで、ActiveServerのシステムプロパティを設定します。

アプリケーションプロパティを設定せずにActiveServerは実行する際の注意点

ダウンロードしたパッケージのapplication-prod.propertiesファイルには、デフォルトのアプリケーションプロパティが含まれています。これらのデフォルト・アプリケーションプロパティを使用してActiveServerのインスタンスを起動すると、ActiveServerは:

  • 一時的にのみRAMに保存され、ActiveServerがシャットダウンするとクリアされるデフォルト・データベースを使用します。
  • ${AS_HOME}/conf/security/にローカルに保存されているSunJCEを使用してキーストア・ファイルを作成します。
  • 電子メールサーバー設定をスキップするため、システムがユーザーに電子メール通知を送信しなくなります。

デフォルト・プロパティを使用すると、設定を変更する必要なくActiveServerのインスタンスを迅速に起動できるため、ソフトウェアやインターフェイスを試す際に便利ですが、本番環境のインスタンスをセットアップする前にアプリケーションプロパティを設定する必要があります。

デフォルト・アプリケーション・プロパティを変更するには

ファイルapplication-prod.propertiesを開き、各関連パラメータに関連付けられている対応する値を変更します。

システムプロパティには4つのカテゴリーがあります。

データベース設定

ActiveServerでは、以下のデータベースがサポートされています。

各データベースには、設定可能な以下の一連のプロパティがあります。

  • as.db.vendor=
    データベース・ベンダー/タイプ。デフォルト値は空であり、メモリ内のテスト・データベースが使用されます。メモリ内のテスト・データベースを使用して本番環境に移行することはできません。可能な値は、mysqloracle、またはsqlserverです。
  • as.db.url=
    データベースへの接続に使用されるデータベース接続URL。URLはJDBC形式である必要があります。
  • as.db.username=
    データベースユーザー名。データベース管理者によって設定されたユーザー名を入力します。
  • as.db.password=
    パスワード。データベース管理者によって設定されたパスワードを入力します。
  • as.db.password-plain=
    上記のパスワードを暗号化するか否か。application-prod.propertiesファイルに格納されている場合、ActiveServerはパスワードを暗号化できます。パスワード暗号化を有効化するには、falseと入力します。パスワードをプレーン・テキストのままにするには、trueと入力します。
  • as.db.pool-size=
    デフォルトでは、ActiveServerはプールサイズにHikariCPからの推奨サイズである10の値を使用します。プールサイズを増やす必要がある場合は、この値を使用してデフォルト値を上書きできます。パフォーマンスが安定するまで、プールサイズを少しずつ増やすことを推奨します。

MySQL

MySQL データベースを使用するには、下記のプロパティが必要です。

1
2
3
4
5
as.db.vendor=mysql
as.db.url=jdbc:mysql://<SQL DB ホスト名を入力>:3306/<DB名を入力>?useUnicode=true&characterEncoding=utf8&useSSL=false
as.db.username=<ユーザー名>
as.db.password=<パスワード>
as.db.password-plain=true

MySQLのmax_allowed_packet

MySQLを使用している場合、Packet for query is too largeが発生する可能性があります。通常の操作では、max_allowed_pa​​cket値に100Mを使用することをお勧めします。

MySQL 8

MySQL 8 にて ActiveServer v2.0.8 またはそれ以前のバージョンを運用中のユーザーは、ActiveServer v2.0.9 以降へのアップグレード時に、as.db.url に allowPublicKeyRetrieval=true を付け足す必要があります。このパラメーターにはセキュリティ上の意味が含まれている場合があります。詳細につきましては、MySqlConnector をご参照下さい。

Oracle

Oracleデータベースを使用するには、以下のプロパティが必要です。

1
2
3
4
5
as.db.vendor=oracle
as.db.url=jdbc:oracle:thin:@//<Oracle DBホスト名を入力>:1521/<Oracle DB名を入力>
as.db.username=<ユーザー名>
as.db.password=<パスワード>
as.db.password-plain=true

Microsoft SQL Server

MS SQLデータベースを使用するには、以下のプロパティが必要です。

1
2
3
4
5
as.db.vendor=sqlserver
as.db.url=jdbc:sqlserver://<MS SQL DBホスト名を入力>:<ポート番号>;databaseName=<DB名> または jdbc:sqlserver://<MS SQL DBホスト名を入力>\<インスタンス名>;databaseName=<DB名>
as.db.username=<ユーザー名>
as.db.password=<パスワード>
as.db.password-plain=true

Microsoft SQL Serverの照合

Microsoft SQL Serverを使用する場合は、大文字と小文字を区別しないデフォルトのサーバー照合順序を維持してください。デフォルトの照合を使用しない場合はインストールが失敗します。SQL Server照合順序の使用を参照してください。

PostgreSQL

PostgreSQLデータベースを使用するには、以下のプロパティが必要です。

1
2
3
4
5
as.db.vendor=postgresql
as.db.url=jdbc:postgresql://<PostgreSQLホスト名を入力>:5432/<DB名を入力>
as.db.username=<ユーザー名>
as.db.password=<パスワード>
as.db.password-plain=true

IBM Db2

DB2データベースを使用するには、以下のプロパティが必要です。

1
2
3
4
5
as.db.vendor=db2
as.db.url=jdbc:db2://<DB2ホスト名を入力>:50000/<DB名>
as.db.username=<ユーザー名>
as.db.password=<パスワード>
as.db.password-plain=true

注意

VisaやMasterCardといった大手国際ブランドの場合、初期カードレンジデータは膨大なものになる可能性があります。例えばVisaの場合、カードレンジデータのサイズは40万行以上になり、トランザクションログのサイズが正しく設定されていないとDB2の性能劣化を招く可能性があります。GPaymentsでのテストでは、6コア/ 32Gサーバーで以下の設定を行うと、50万行のカードレンジデータで60秒未満の安定したinsert処理を行えることが判明しております:

  • logfilsiz: 500000
  • logprimary: 150
  • logsecond: 100

なお、上記設定は参考情報です。実際の設定値はお使いのハードウェアやソフトウェアの仕様に準拠して設定してください。GPaymentsとしては、ログファイルのサイズとプライマリログファイルの数が上記の数以上であることをお勧めします。

AWS Secrets Managerを利用

ActiveServerは、プロパティファイルの代わりにAWS Secrets Managerでのデータベース認証情報の保存をサポートしています。シークレットマネージャーにデータベースの認証情報を保存することで、ライフサイクルを通じてシークレットを簡単にローテーション、管理、および取得できます。

  1. プロパティファイルで次のプロパティを設定します。

    1
    2
    3
    as.db.url=<JDBC URL、「%s」を使用してホスト名とポートを置き換えます 例: jdbc:postgresql://%s:%s/<Your DB name>
    as.db.asm.region=<オプションのリージョンパラメーター、提供されていない場合デフォルトでAWS認証情報のリージョンが使用されます。 例: us-west-1>
    as.db.asm.secret-name=<AWSシークレットマネージャーのシークレット名>
    
  2. 次のキー/値でAWSシークレットマネージャーを作成する:

    • password - データベースのパスワード
    • username - データベースのユーザーネーム
    • host - JDBC URLのホスト名。 as.db.urlで最初に出現する「%s」はこの値に置き換えられます。
    • port - JDBC URLのポート部分。 as.db.urlで2番目に出現する「%s」はこの値に置き換えられます。

    AWS Key Value

注釈

AWSシークレットマネージャーを使用することで、 as.db.usernameas.db.password、および as.db.password-plainプロパティを省略できます。

アクセス権限

利用しているIAMが作成したシークレットへの読み取り権限があることを確認してください。資格情報の構成の詳細については、AWS認証情報を参照してください。

Webサーバー設定

Webサーバー設定では、デフォルトのサーバー・ポートやその他のネットワーク関連の値を設定できます。ネットワーク・セットアップによっては、HTTPを使用するかHTTPSを使用するかを選択できます。HTTPを使用する場合、エントリー・ポイントがインターネットからアクセス可能である必要があるため、HTTPSトラフィックやSSLターミネーションを処理するためにロードバランサーまたはリバースプロキシが必要です。

デフォルトでは、サーバーポートは、認証コールバックページおよび管理UIインターフェースのリクエストを含むすべてのウェブページリクエストに対応します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
## サーバーポート、プロトコル、SSL設定
## protocol http|https|both
as.server.protocol=http
as.server.http.port=8080
as.server.https.port=8443
as.server.https.key-store=<キーストアファイルパスを入力>
## キーストア・タイプ、 pkcs12またはjks
as.server.https.key-store-type=pkcs12
as.server.https.key-store-password=<キーストアファイルのパスワードを入力>
##trueにセットすることでコネクターを作成します
# as.server.enabled=false
  • as.server.https.key-store=
    キーストア・ファイルパス。HTTPSの場合、キーストアが必須です。キーストアには、指定されたHTTPSコネクターのサーバー証明書が含まれている必要があります。本番環境のインスタンスの場合は、サーバー証明書がCAによって商業的に署名されている必要があることに注意してください。
  • as.server.https.key-store-type=
    キーストア・タイプ。ActiveServerでは、2種類のキーストアがサポートされています。可能な値は、pkcs12、またはjksです。CAが発行した商業的に署名された証明書は、通常「pkcs12」形式であり、ファイル拡張子は.p12または.pfxです。
  • as.server.enabled=
    サーバー・コネクターを有効化または無効化します。サーバー・コネクターを有効化するには、trueと入力します。サーバー・コネクターを無効化するには、falseと入力します。

ネットワーク設定によっては、個別のポートで管理アクセスをセットアップすることをお勧めします。そのためには、以下の設定を適用する必要があります。デフォルトでは、管理ポート番号が無効化されています。有効化する場合、以下で設定したポート番号が他のポート番号と競合しないようにしてください。

この設定を有効にすると、すべての管理UIインターフェイストラフィックが指定されたポートに制限されます。 サーバーポート認証コールバックページにのみに対応します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 管理ポート、プロトコル、SSL設定
# 管理ポートの設定のデフォルトはサーバーポートの設定になります
# trueにセットすることでコネクターを作成します
as.admin.enabled=false
as.admin.http.port=9090
as.admin.https.port=9443
#プロトコル http|https|both
as.admin.protocol=http
as.admin.https.key-store=<キーストアファイルパスを入力>
#キーストア・タイプ、 pkcs12またはjks
as.admin.https.key-store-type=pkcs12
as.admin.https.key-store-password=<キーストアファイルのパスワードを入力>

認証および管理APIのポート。相互認証のHTTPSでのみ利用できます。このポートは、ActiveServerインスタンスがアクティブ化されると有効になります。このポートを有効化するには、サーバーの再起動が必要です。

1
2
#認証APIポート, HTTPSのみ設定可能
as.api.port=7443

Directory Serverポート設定

以下のディレクトリ・サーバー・コネクター設定は、ActiveServerが相互認証でディレクトリ・サーバーとリクエスト(RReq/RRes)を送受信するためのものです。これらのコネクターでは常にHTTPSが有効です。ディレクトリ・サーバーのサーバーおよびクライアント証明書は、DS証明書の管理で説明されているように、後で設定できます。

備考

管理者UIでの証明書の設定が完了したら、サーバーの再起動が必要です。

各ディレクトリ・サーバーには、設定可能な以下の一連のプロパティがあります。

  • 国際ブランドのDSへ接続するにはas.<Card Scheme>.port=を設定、GPayments TestLabs DSに接続するにはas.testlab.<Card Scheme>.port=を設定してください。

    各国際ブランドのディレクトリ・サーバーに対してリスンするポート番号です。デフォルト値は以下にあります。

    備考

    ポート番号が他のポート番号と競合しないようにしてください。

    重要

    ロードバランサーを使用してポートを転送する場合は、ActiveServerはチャレンジフロー中にDSが結果リクエストを送信するRReq URLをhttps//<API URLまたは外部URL>:<ポート番号>の形式に設定するので同じポート番号転送する必要があります。本番環境DSの場合、RReq URLは3DSサーバーURLから設定できるため、プロパティーで指定したポートとは違うポートを転送できます。

  • 国際ブランドのDSはas.<Card Scheme>.enabled=false、GPayments TestLabs DSはas.testlab.<Card Scheme>.enabled=falseを設定できます。

    このパラメータはデフォルトでコメント化されています。ディレクトリ・サーバー・コネクターのステータス(無効または有効)を決定します。
    ディレクトリ・サーバー・コネクターを無効化するには、falseと入力します。そうでない場合は、コメント化したままにします。

American Express

1
2
3
as.amex.port=9600
## falseにセットすることでDSのリスニングポートはオフになります
# as.amex.enabled=false
1
2
3
as.testlab.amex.port=9802
## falseにセットすることでDSのリスニングポートはオフになります
# as.testlab.amex.enabled=false

China UnionPay

1
2
3
as.chinaunionpay.port=9601
## falseにセットすることでDSのリスニングポートはオフになります
# as.chinaunionpay.enabled=false

Discover / Diners Club International

1
2
3
as.discover.port=9602
## falseにセットすることでDSのリスニングポートはオフになります
# as.discover.enabled=false
1
2
3
as.testlab.discover.port=9803
## falseにセットすることでDSのリスニングポートはオフになります
# as.testlab.discover.enabled=false

JCB

1
2
3
as.jcb.port=9603
## falseにセットすることでDSのリスニングポートはオフになります
# as.jcb.enabled=false
1
2
3
as.testlab.jcb.port=9804
## falseにセットすることでDSのリスニングポートはオフになります
# as.testlab.jcb.enabled=false

Mastercard

1
2
3
as.mastercard.port=9604
## falseにセットすることでDSのリスニングポートはオフになります
# as.mastercard.enabled=false
1
2
3
as.testlab.mastercard.port=9801
## falseにセットすることでDSのリスニングポートはオフになります
# as.testlab.mastercard.enabled=false

Visa

1
2
3
as.visa.port=9605
## falseにセットすることでDSのリスニングポートはオフになります
# as.visa.enabled=false
1
2
3
as.testlab.visa.port=7800
## falseにセットすることでDSのリスニングポートはオフになります
# as.testlab.visa.enabled=false

eftpos

1
2
3
as.eftpos.port=9800
## falseにセットすることでDSのリスニングポートはオフになります
# as.eftpos.enabled=false

キーストア設定

ActiveServerでは暗号化キーの格納のオプションを3つ提供しています。

以下のプロパティを使用してキーストア・タイプを設定します。

1
as.keystore.type=<キーストア・タイプを入力>
  • as.keystore.type=
    キーストア・タイプ - 可能な値は、locals3pkcs11です。

ローカル・キーストア(SunJCE)

ローカル・キーストア・ファイルを使用するには、以下のプロパティを使用します。

1
as.keystore.local.path=${AS_HOME}/security/keystores/
  • as.keystore.local.path=
    キーストア・ファイルパス。キーストア・ファイルのファイルパスを入力します。これは、キーストア・ファイルを含むフォルダを参照している必要があります。

警告

Windowsベースのマシンを使用している場合、キーストアフォルダーへのフルパスを設定するときにエスケープ文字( \)がおそらく必要になることに注意してください。

例: Windows共有フォルダがパス \\ActiveServer\keystoresで使用されている場合、キーストアパスは次のように設定されます。as.keystore.local.path=\\\\ActiveServer\\keystores

Amazon S3キーストア

ActiveServerでは、キーストアとしてのAmazon S3の使用がサポートされています。Amazon S3キーストアを使用するには、AWS BucketAWS RegionAWS Credentials設定を設定する必要があります。

AWSバケット

以下のプロパティでAWSバケットパスを設定します。

1
2
as.keystore.s3.bucket-name=<Amazon S3バケツ名を入力>
...
AWSのリージョン

AWS Regionはいくつかの方法で設定できます。リージョン・コードのリストは以下の表のRegion列にあります:Amazon AWS - Regions and Availability Zones

  1. 以下のプロパティでAWSのリージョンコードを設定します。

    1
    2
    3
    ...
    as.keystore.s3.region=<Amazon S3のリージョンコードを入力>
    ...
    
  2. あるいは、ローカル・システムのAWS設定ファイルでAWSのリージョンを設定します。設定ファイルは以下の場所にあります:Linux、macOS、Unixの場合は~/.aws/config、Windowsの場合はC:\Users\USERNAME\.aws\config。このフィールドには、以下の形式で行を含める必要があります。

    1
    2
    [default]
    region = <S3のリージョンコード>
    
アクセス権限

指定した鍵へのリードおよびライト権限があるIAMユーザーであることをご確認ください。認証情報の設定に関する詳しい情報はAWS認証情報をご参照ください。

以下のAWS認証情報をプロパティーから構成する事が可能です。(非推奨)

1
2
as.keystore.s3.credentials.access-key-id=<Your Amazon S3 access key ID>
as.keystore.s3.credentials.secret-access-key=<Your Amazon S3 secret access key>

警告

この構成はActiveServer v1.3.0より古いバージョンを使用するお客様のために引き続き対応しますが、推奨できません。下記の他の認証情報設定方法を使用することを強く推奨します。

AWS Key Management Service (KMS)

設定
  1. AWSのドキュメントに従って、KMSに対称カスタマーマスターキー(CMK)を作成します。

  2. キーARNをAWSダッシュボードからpropertiesファイルへコピーします。

    1
    as.keystore.kms.key-arn=<Your AWS Key ARN> e.g. arn:aws:kms:us-east-1:123456789012:key/19c7b3dc-c49d-401f-bb97-f10bf3e116c9
    
アクセス権限

指定した鍵へのリードおよびライト権限があるIAMユーザーであることをご確認ください。認証情報の設定に関する詳しい情報はAWS認証情報をご参照ください。

警告

AWS KMSはAPI v2のみに対応することにご留意ください。API v1で取引を実行するとエラーコード1027になります。

PKCS11 HSM

ActiveServerでは、キーストアとしてのHSMの使用がサポートされています。HSMはPKCS11 APIをサポートする必要があります。PKCS11 HSMでハードウェア暗号化を使用するには、以下のプロパティが必要です:

1
2
as.keystore.pkcs11.library=<pkcs11ドライバーのライブラリーを入力>
as.keystore.pkcs11.slot=<スロット番号を入力>
  • as.keystore.pkcs11.library=
    HSMドライバ・ライブラリ。Linuxの場合、これは通常.soファイルです。Windowsの場合、これは通常.dllファイルです。使用する必要があるライブラリの詳細については、HSMのドキュメントを参照してください。
  • as.keystore.pkcs11.slot=
    HSMのスロット番号。使用する必要があるスロット番号の詳細については、HSMのドキュメントを参照してください。

Info

HSMのセットアップと設定はこのドキュメントの対象外であることに注意してください。ActiveServerで設定する前に、HSMが完全に機能していることを確認してください。

HSMトークンログインは必須です

キー管理にHSMを使用する場合、ASはHSMが「常にトークンログインが必要 (Always require Token Login)」の設定を有効にしている必要があります。通常、この設定はほとんどのHSMで自動的にオンに設定されますが、SafeNetなどのHSMでは、この設定はデフォルトでオンにならない場合があります。手順については、HSMのドキュメントを参照してください。

SafeNet HSMの場合、これはパブリック暗号なし(No Public Crypto)セキュリティフラグを設定することで実行できます。管理者は、提供されたコマンドラインユーティリティctconfを使用してフラグを設定できます。

AWS 認証情報

ActiveServerがAWSサービスへアクセスできるようにAWS認証情報を設定する必要があります。AWS認証情報にはaccess_key_idsecret_access_keyがあります。AWS認証情報は以下の通り、いくつかの設定方法があります。

  1. 下記と通りAWS認証情報を設定してください。

    1
    2
    as.aws.credentials.access-key-id=<Your AWS access key ID>
    as.aws.credentials.secret-access-key=<Your AWS secret access key>
    
  2. ローカル・システムのAWS認証情報プロファイル・ファイルでAWS認証情報を設定してください。認証情報プロファイル・ファイルは以下の場所にあります:Linux、macOS、Unixの場合は~/.aws/credentials、Windowsの場合はC:\Users\USERNAME\.aws\credentials。AWS認証情報プロファイル・ファイルには、以下の形式で行を含める必要があります。

    1
    2
    3
    [default]
    aws_access_key_id = <Your Amazon S3 access key ID>
    aws_secret_access_key = <Your Amazon S3 secret access key>
    

    この方法を使用する場合、ActiveServer propertiesファイルのas.aws.credentials.access-key-idas.aws.credentials.secret-access-keyパラメーターを使わずに空白のままにすることができます。

  3. AWS EC2インスタンス上にActiveServerを展開する場合、IAMロールを指定してからそのロールにEC2インスタンス・アクセス権を付与できます。この場合、Amazon AWS - Using IAM Roles to Grant Access to AWS Resources on Amazon EC2ガイドに従う必要があります。

    この方法を使用する場合、ActiveServer propertiesファイルのas.aws.credentials.access-key-idas.aws.credentials.secret-access-keyパラメーターを使わずに空白のままにすることができます。

Eメールサーバー設定

ActiveSeverでは、ユーザーに電子メール通知を送信できます。電子メール通知は、アクティブ化URLをユーザーに通知したり、ライセンスの期限が近づいたらユーザーにリマインドしたりするのに使用できます。

電子メール通知をセットアップするには、認証情報と関連付けられている電子メールアカウントとサーバー詳細が必要です。

1
2
3
4
5
6
7
as.mail.host=<SMTPサーバーホストを入力>
as.mail.port=<SMTPサーバーポートを入力>
as.mail.user-name=<Eメールサーバーのユーザーネーム>
as.mail.password=<Eメールサーバーのパスワード>
as.mail.auth=true
as.mail.start-tls=true
as.mail.from=<送信元のメールアドレス, e.g. admin@activeserver.com>
  • as.mail.host=
    電子メールサーバーのSMTPドメイン。
  • as.mail.port=
    電子メールサーバーのポート番号。
  • as.mail.user-name=
    電子メールサーバーのユーザーネーム。
  • as.mail.password=
    電子メールサーバーのパスワード。
  • as.mail.auth=
    電子メールアカウントにSMTP認証が必要かどうか。電子メールアカウントに認証が必要な場合、trueと入力します。そうでない場合は、falseと入力します。よくわからない場合は、詳細について電子メールサーバーの管理者と相談してください。
  • as.mail.start-tls=
    SMTPサーバーにTLSが必要かどうか。SMTPサーバーにTLSが必要な場合、trueと入力します。そうでない場合は、falseと入力します。よくわからない場合は、詳細について電子メールサーバーの管理者と相談してください。
  • as.mail.from=
    電子メールの送信元のアカウントの電子メールアドレス。

Info

電子メールサーバーのセットアップと設定はこのドキュメントの対象外であることに注意してください。ActiveServerで設定する前に、電子メールサーバーが完全に機能していることを確認してください。

ログ構成

デフォルトでは、ActiveServerはすべてのログファイルを {AS_HOME}/logs/フォルダーに出力します。もし、フォルダーが存在しない場合は自動的に作成されます。別のログフォルダーの場所を指定する場合は、コメントを外して、次の設定をログを主力したいパスに編集します。

1
# as.logging.path=<Your log file path>

マルチノードセットアップの場合、ファイルの命名規則の制約により、ノードごとに個別のフォルダーが必要です。

警告

この値を変更した場合、セットアップでエラーが発生すると、ログファイルが正しく記録されない場合があることに注意してください。パスが正しいこと、およびActiveServerインスタンスからアクセスでき、指定されたパスの読み取り/書き込み権限があることを確認してください。

ローカルファイルへのログ出力を無効にする

ローカルファイルへのログ出力が不要な場合、ActiveServerにはこの機能を無効にするオプションがあります。

ActiveServerのアプリケーションログをローカルファイルに保存するのをを無効にするには、アプリケーションを起動する前に、 startup.sh(Linux)またはstartup.bat(Windows)ファイルの AS_PROFILESの最後にコマンドdisableFileLogsを追加します、例えば

1
export AS_PROFILES=prod,disableFileLogs
1
set AS_PROFILES=prod,disableFileLogs

セキュリティーおよびアプリケーションのテクニカルサポートの要件から、この設定に関係なく、ログは引き続き標準のコンソール出力に送信されます。

Trans-type上書き設定

trans-typeパラメーターは、DSプロファイルを利用して、Production Directory ServerとTestLabsを切り替えるために使用されます。 API呼び出しで指定する必要がないように、 trans-typeパラメータの機能を永続的に上書きする場合は、次のパラメータのコメントを外して、目的の値で編集する必要があります。

1
# as.auth.allowed-trans-type=all
  • as.auth.allowed-trans-type = testlabが指定されている場合、TestLabsトランザクションのみが許可され、すべてのAPIリクエストがTestLabs DSプロファイルに転送されます。 API呼び出しの trans-typeパラメータは、提示されても無視されます。
  • as.auth.allowed-trans-type = prodが指定されている場合、本番トランザクションのみが許可され、すべてのAPIリクエストが本番DSプロファイルに転送されます。 API呼び出しの trans-typeパラメータは、提示されても無視されます。
  • as.auth.allowed-trans-typeが提示されていないか、値がnull/allの場合、オーバーライドは強制されません。 DSプロファイルガイドで説明されているように、クライアント側は「trans-type」を使用できます。

警告

as.auth.allowed-tans-typeは、API呼び出しのtrans-typeパラメーターを上書きすることに注意してください。

TLSバージョンの設定

ActiveServerは、デフォルトでのみTLS 1.2を使用するようHTTPSコネクターを指定します。 ただし、Java 1.8で報告された問題により、TLS 1.0および1.1プロトコルも有効になっています。 プロトコルを無効にする場合は、Javaセキュリティーファイルを直接編集することで回避策が可能です。以下に示します。

警告

java.securityファイルを編集すると、サーバー上のすべてのJavaアプリケーションに影響することに注意してください。 GPaymentsは、この変更から生じる可能性のある問題について責任を負いません。

特定のプロトコルを無効にするには、 <jdk directory>/jre/lib/securityにあるjava.securityファイルを編集し、jdk.tls.disabledAlgorithmsエントリを更新します。 元のエントリは次のようになります。

1
2
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, \
    EC keySize < 224, 3DES_EDE_CBC, anon, NULL

SSLv2Hello、TLSv1、TLSv1.1のように、デフォルトでは含まれていない脆弱と見なされるプロトコルを無効にするには、これらの値を以下のようにエントリに追加します。

1
2
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, \
    EC keySize < 224, 3DES_EDE_CBC, anon, NULL,SSLv2Hello, TLSv1, TLSv1.1

重要

無効にする推奨プロトコルは単なる提案です。ActiveServerのセキュリティ構成を決定する際には、セキュリティチームに相談してください。

java.securityファイルを編集したら、実行中のActiveServerインスタンスを再起動して、変更を有効にします。 Linux端末で次のコマンドを実行することにより、有効になっているプロトコルを確認できます。

1
nmap --script +ssl-enum-ciphers -p 7443 127.0.0.1

3DSサーバー参照番号の上書き

下位互換性のために、デフォルトではActiveServerはV2.1.0認定中にEMVCoによって発行された3DSサーバー参照番号を使用します。デフォルトの参照番号はV2.1.0要求の送信にのみ有効であり、国際ブランドのディレクトリサーバーはこの参照番号を使用してV2.2.0要求をした場合拒否する可能性があります。AReqで送信された3DSサーバー参照番号を更新する場合は、2つの方法があります。

  1. 国際ブランド毎に3DSサーバー参照番号を上書き。

  2. すべての国際ブランドの3DSサーバー参照番号サーバーを上書き。

いずれかの方法を使用して、v2.2.0プロトコルの使用を開始する準備ができたら、3DSサーバー参照番号をGPayments発行のEMVCov2.2.0準拠の参照番号3DS_LOA_SER_GPPL_020200_00351に構成してください。新しい参照番号はV2.2.0とV2.1.0の両方のリクエストの送信をサポートしています。

コンプライアンステスト後にのみ更新してください

各国際ブランドのコンプライアンステストを完了した後にのみ3DSサーバー参照番号を更新してください。準拠していない場合、DSはV2.2.03DSサーバー参照番号を拒否する可能性があります。

国際ブランド毎に3DSサーバー参照番号を上書き

次の構成をすべてのアプリケーションノードapplication-prod.propertiesファイルに追加することにより、各国際ブランドに送信される3DSサーバー参照番号を上書きできます。

すべてのアプリケーションプロパティファイルを更新する必要があります

これらの設定はノードごとであるため、正しい参照番号が送信されるようにするには、すべての構成を更新する必要があります。

1
2
## AmericanExpressに使用される3DSサーバー参照番号を上書きします
as.prod.server-ref-number.amex=Reference Number
1
2
## Discover/Diners Clubに使用される3DSサーバー参照番号を上書きします
as.prod.server-ref-number.discover=Reference Number
1
2
## JCBに使用される3DSサーバー参照番号を上書きします
as.prod.server-ref-number.jcb=Reference Number
1
2
## Mastercardに使用される3DSサーバー参照番号を上書きします
as.prod.server-ref-number.mastercard=Reference Number
1
2
## Union Pay Internationalに使用される3DSサーバー参照番号を上書きします
as.prod.server-ref-number.unionpay=Reference Number
1
2
## Visaに使用される3DSサーバー参照番号を上書きします
as.prod.server-ref-number.visa=Reference Number
1
2
## eftposに使用される3DSサーバー参照番号を上書きします
as.prod.server-ref-number.eftpos=Reference Number

コンプライアンステスト中のオーバーライド

一部の国際ブランドでは、プロバイダーがテスト目的で発行した特定の3DSサーバー参照番号を使用する必要があるため、このオーバーライド機能は、国際ブランドのコンプライアンステスト中にも使用できます。

3DSサーバー参照番号をグローバルに上書きする

このグローバルオーバーライドは、すべての国際ブランドの構成を個別に更新したくない場合に役に立ちます。指定すると、すべての国際ブランド構成が上書きされます。

1
2
## すべての国際ブランドに使用される3DSサーバー参照番号を上書きします
as.prod.server-ref-number-overriding=Reference Number

注意

グローバルオーバーライドを使用する場合は、すべての国際ブランドのコンプライアンステストが完了していることを確認してください。完了していない場合、一部のディレクトリサーバーが要求を拒否する可能性があります。

PReqメッセージのバージョン番号を上書きする

ActiveServerv2.0.0は、Visa、Mastercard、American Expressのメッセージバージョン2.2.0でPReqを送信します。これらのディレクトリサーバーは、デフォルトでV2.2.0のバージョンを処理することが可能なためです。JCBとDiscoverでは、2.2.0 PReqを送信する前に、国際ブランドのコンプライアンステストと3DSサーバー参照番号の登録を完了する必要があるため、これらの国際ブランドはデフォルトで2.1.0PReqを送信します。

国際ブランドコンプライアンステスト中に、2.1.0または2.2.0PReqメッセージのいずれかを送信する必要がある場合があります。また、コンプライアンステスト後に本番インスタンスで2.2.0のPReqを使用するようにすべての国際ブランドを更新する必要がありますが、これをサポートするために、PReqメッセージの上書き設定がapplication-prod.propertiesファイルに追加されました。

1
as.prod.preq-message-version-overriding.<card scheme>=<message version>
  • Message version: 2.2.0または2.1.0
  • Card scheme: amexdiscoverjcbmastercardunionpay または visa

E.g. as.prod.preq-message-version-overriding.jcb=2.1.0

すべてのアプリケーションプロパティファイルを更新する必要があります

これらの設定はノードごとであるため、PReqメッセージのバージョンを正しく送信されるようにするには、すべてのノードのアプリケーション構成を更新する必要があります。

デプロイ方法

ActiveServerは以下3つの方法でデプロイ可能です。

  1. スタンドアローン(デフォルト) - 全プロセスを処理するノード。

  2. フロントランナー - 取引処理とUI機能のみ処理するノード。

  3. サイドカー - カードレンジ更新など高負荷なバックグラウンドプロセスのみ処理するノード。

フロントランナー/サイドカーを用いたデプロイメント

ActiveServerのフロントランナー・サイドカーモードを使う際は、両方を用意しなければ正常に機能しません。モードごとに別個のサーバーを用意する必要があり、トラフィックはフロントランナーにのみ集中するようにします。サイドカーはAPI呼び出しを受信するロードバランサーに登録しないでください。

ActiveServerのsidecarインスタンスを起動するための新規サーバーを用意してください。またAS_HOMEディレクトリは既存のものをコピーし、ローカルキーストア(または HSM)がアクセス可能であることを確認してください。

取引処理を行うノードのapplication.propertiesas.settings.runtime-type=frontrunnerを新規追加設定してください。環境変数をお使いの場合は、AS_SETTINGS_RUNTIME_TYPE=frontrunnerをシステム設定に追加してください。取引処理を行うノードを更新したあと、起動時のバナーのRuntime TypeからそのノードがFrontrunnerモードで稼働していることを確認してください。

新規sidecarサーバーにas.settings.runtime-type=sidecarを新規追加設定してください。この時オプションとして、as.settings.worker-threads=2 を設定しスレッドプールのサイズを小さくしてメモリを解放し、as.db.pool-size=5 などの小さなデータベース接続プールでデータベースサーバーの負荷を最適化することができます。

GPaymentsではディレクトリサーバを用いてカードレンジ更新をテストしており、4GBのメモリがあれば主要国際ブランドのカードレンジ更新を処理できることを確認しております。

そのためGPaymentsとしてはインスタンスに最低4GB以上のメモリを割り当てるよう推奨しておりますが、理想値として8GBのメモリ割り当てがあれば件数が増加したカードレンジの全件更新も確実に対応できます。

下記のJVMパラメータを既存のパラメータに含めてください。(メモリ割り当てが8GBの場合を想定した設定です。お使いのメモリに準じて変更してください。) Include the following JVM parameters with your existing parameters (assuming your memory setting is 8G, please adjust accordingly):

1
-Xmx8g -Xms6g -XX:+UseG1GC -XX:InitiatingHeapOccupancyPercent=70

sidecarノードを更新すると、全バックグラウンドプロセスが同ノードで処理されていることがログコンソールからわかります。同時にフロントランナーノードからはバックグラウンドプロセスがスキップされているように見えます。

Second Level Card Range Cache (SLCRC)

この機能は、サイドカーノードにキャッシュを作って格納し、カードレンジクエリの際にデータベースへのアクセスを効果的にスキップするために導入されました。

SLCRC の構成では、フロントランナーがカードレンジクエリのクライアントであり、サイドカーは SLCRC プロバイダーです。フロントランナーはサイドカーの SLCRC を探し、このクエリが失敗した場合にはデータベースへとフォールバックします。

サイドカーのプロパティファイルにて下記の構成を追加して下さい。

  • as.slcrc.enableProvider=true|false: 機能を有効化または無効化します。
  • as.slcrc.provider.port: キャッシュが到達可能なポートです。
  • as.slcrc.token: 要求とともに送信されるトークンです。

フロントランナーのプロパティファイルにて下記の構成を追加して下さい。

  • as.slcrc.url: 形式は https://<sidecar server internal host name or IP>:<the slcrc port> です。
  • as.slcrc.token: 全ての要求とともに送信されるトークンであり、サイドカーのプロパティファイル内の一つのセットと合致している必要があります。

SLCRC 有効時に最適な性能を引き出すためには、サイドカーノードが 16GB(最低でも 8GB)のメモリを持つことが推奨されます。

テストモード

フロントランナーノードには、SLCRC のクライアント構成として as.slcrc.clientTestMode=true|false を使用し SLCRC 構成が機能しているかテストすることができます。テストモードを true に設定し、インスタンスを表示させ、管理 UI の DS プロファイルページにて導通確認を実施していただくことを GPayments は推奨します。

SLCRC

テストモードでは、SLCRC の導通確認が失敗しても、フロントランナーは起動に失敗しません。管理 UI は SLCRC プロバイダーの状態を示します。管理 UI 内の Card range クエリページにて疑似カード番号を使用し SLCRC カードレンジクエリをテストすることも可能です。

ライブモード

ライブモードでは、as.slcrc.clientTestModefalse に設定されます。このモードでは、SLCRC プロバイダーが到達不可の場合には ActiveServer インスタンスは起動しません。

クエリ処理

SLCRC が有効な場合、デフォルト設定として ActiveServer は SLCRC によるカードレンジ検索を行います。このクエリに失敗すると、元のデータベースクエリへとフォールバックします。

ActiveServerの起動

すべてのプロパティが正しく設定され、ActiveServerのインスタンスを起動できるようになりました。

Linuxを使用している場合は、ターミナルを開きます。Windowsを使用している場合は、コマンドプロンプトを開きます。

スタートアップ・スクリプト(.shまたは.batファイル)が含まれているフォルダに作業ディレクトリを変更します。

以下のコマンドを使用してActiveServerを起動できるようになりました。

1
./startup.sh
1
startup.bat

as.jarファイルがスタートアップ・スクリプトと同じディレクトリ内にあることを確認してください

as.jarファイルがスタートアップ・スクリプトと同じディレクトリにないと、スタートアップ・コマンドは動作しません。

ターミナルまたはコマンドプロンプトに以下の出力が表示されるはずです。次のステップで必要になるため、AdministrationURLをメモします。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
______________________________________________________________________________________

ActiveServer by GPayments

_______        _____ _____               ________
___    |_________  /____(_)___   _______ __  ___/_____ ___________   _______ ________
__  /| |_  ___/_  __/__  / __ | / /_  _ \_____ \ _  _ \__  ___/__ | / /_  _ \__  ___/
_  ___ |/ /__  / /_  _  /  __ |/ / /  __/____/ / /  __/_  /    __ |/ / /  __/_  /
/_/  |_|\___/  \__/  /_/   _____/  \___/ /____/  \___/ /_/     _____/  \___/ /_/

______________________________________________________________________________________

.
.
.

--------------------------------------------------------------------------------
        ActiveServer by GPayments is up and running.

        Version:                      1.0.0
        Git Commit Id:                da369ec

        Activation:                   NOT ACTIVATED, please contact GPayments
        Authentication API Port:      7443

        Server:                       http://10.0.75.1:8081
        Administration:               http://10.0.75.1:8081

        Key Store Type:               SUNJCE

        Profile(s):                   [prod]
-------------------------------------------------------------------------------

スタートアップ・スクリプト

スタートアップ・スクリプトでは、環境変数AS_HOMEが、application-prod.propertiesが存在するディレクトリに設定されています。ActiveServerは、AS_HOMEを使用して、設定ファイルを探したり、キーストアを管理したり、ログを出力したりします。別の場所を参照するようにAS_HOMEを設定すると、同じサーバーで複数のActiveServerインスタンスを実行できます。これは、別のディレクトリにパッケージをコピーするか、別のスタートアップ・スクリプトを作成して、それらのスクリプトで別の場所を参照するようにAS_HOMEを設定することで実行できます。

備考

同じサーバーに複数のインスタンスがある場合、application-prod.propertiesファイルのいずれかでポート番号が競合しないようにしてください。

JVMメモリー上書き

ActiveServerのパフォーマンスを向上させるために、JVMに割り当てられたメモリのレベルを調整する必要がある場合があります。 JVMメモリの調整はこのガイドの範囲外ですが、以下のコマンドを使用して、JVMがActiveServerを実行するために使用するメモリの正確な量を指定できます。Xmx"メモリーサイズ"コマンドをActiveServer起動スクリプトに追加できます。

1
java -Xmx3600m -cp . -Djava.security.egd=file:/dev/./urandom -jar ls *.jar

上記の設定では、使用可能なメモリの¼のデフォルトの割り当てではなく、3600MBのメモリが使用されるように割り当てられます。

アウトバウンドプロキシの設定

アウトバウンドプロキシサーバをご利用いただく際は、startup.sh を下記の通り修正してください。:

1
java -cp . -Djava.security.egd=file:/dev/./urandom -Dhttp.proxyHost=<host> -Dhttp.proxyPort=<proxy port> -Dhttps.proxyHost=<host> -Dhttps.proxyPort=<proxy port> -jar as.jar -Dhttps.proxyUser=myuser -Dhttps.proxyPassword=mypass

ActiveServerプロファイル

AS_HOMEの設定に加えて、スタートアップ・スクリプトは、環境変数AS_PROFILESも設定します。これは、プロファイルベースの設定を指定するための便利な仕組みです。

デフォルトでは、プロファイルはprodに設定されています。

ActiveServerはパターンapplication-<profile>.propertiesを使用して、プロファイルの設定ファイルを読み込んでいます。そのため、デフォルトのprodプロファイルでは、application-prod.propertiesが読み込まれます。ただし、新しいプロファイル(testなど)を作成して、ActiveServerの異なる設定をセットアップできます。

新しいプロファイルを作成するには

  • application-test.propertiesという名前の新しい設定ファイルを作成し、prod設定ファイルと同じディレクトリに貼り付けます。
  • スタートアップ・スクリプトを開き、AS_PROFILESの値をtestに設定します。

    ActiveServerは、古いprodプロパティの代わりに新しいプロファイルを読み込みます。

    ActiveServerは同時に複数のプロファイルを読み込むこともできます。このためには、AS_PROFILESの値をprod,testに設定することで、ActiveServerがprodtestの両方のプロファイルからプロパティ・ファイルを読み込みます。

    これらのオプションが利用可能な場合、個別の.propertiesファイルで別々に設定を管理できます。

Tip

すべてのデータベース設定をapplication-db.propertiesで、Webサーバー設定をapplication-web.propertiesで管理する場合、AS_PROFILESの値をdb,webに設定すると、さまざまな管理者が管理するためのActiveServer設定を提案できます。

セットアップ・ウィザード

ActiveServerが稼働すると、Administration URLから管理者UIにアクセスできます。

初めてActiveServerを実行する場合、セットアップ・ウィザードが表示され、セットアップ・プロセスがガイドされます。

セットアップ・ウィザードには、以下の手順が含まれます。

EULA契約

セットアップ・ウィザード - EULA契約

EULA契約を確認します。利用契約に同意する場合は、I accept the above agreement.チェックボックスを選択して進んでください。

キーストア・セットアップ

セットアップ・ウィザード - キーストア・タイプ

  • Keystore typeを選択します。

    セットアップ中にSoftwareが選択された場合、SUNJCEが使用されます。

    application-prod.propertiesファイルに適切な詳細を入力することで、PKCS#11 HSMを使用するオプションも利用できます。PKCS#11 HSMのセットアップ方法については、暗号化モジュールを参照してください。

  • 続行するには、ボタンを選択します。

管理者セットアップ

セットアップ・ウィザード - 管理者セットアップ

  • 管理者アカウントのユーザー詳細を入力します。

  • Createボタンを選択すると、アカウントが作成されます。

  • 続行するには、ボタンを選択します。

管理者パスワード・セットアップ

セットアップ・ウィザード - 管理者パスワード・セットアップ

  • 管理者アカウントのパスワードを入力します。

  • パスワードを再入力して確認します。

  • Saveボタンを選択すると、パスワードが作成されます。

  • 続行するには、ボタンを選択します。

システム2要素認証設定

セットアップ・ウィザード - 2要素認証

ActiveServerでは、管理者UIへのサインイン用に2要素認証がサポートされています。

備考

この機能を使用するには、モバイル・デバイスにGoogle認証システムがインストールされている必要があります。

Google Authenticatorのセットアップ手順については、Google Authenticatorをインストールを参照してください。

デフォルトでは、ActiveServerはユーザーに2要素認証の使用を強制しません。

すべてのユーザーに2要素認証を強制するには:

  • Force 2FA for all usersに隣接するトグルをEnableにします。

  • 続行するには、ボタンを選択します。

システム初期化

セットアップ・ウィザード - システム初期化

セットアップ・ウィザードは、システムの初期化が完了したことを通知し、ActiveServerのログインページにリダイレクトします。

管理者UIログインページ

次の手順

この後は、以下を実行できます。