ASTERIA Warp　インストール時の確認ポイント

## はじめに
ASTERIA Warpの使用開始のファーストステップはインストールする事から始まります。インストールの前後で確認すべきポインをまとめてみました。

## インストール前確認
### ASTERIA ダウンロード
アステリアの購入や評価版の利用開始時にASTERIA Warpのサポートサイト[ASTERIA Warp Developer Network](https://support.asteria.com/hc/ja)にログインしインストール媒体などをダウンロードします。

* ライセンスキー
* インストールガイド
* ASTERIA Warp インストール媒体
* ASTERIA Warp FlowDesigner for Windows インストール媒体

製品ドキュメントファイルは本体インストール時サーバにインストールされ参照可能な状態となるため個別にダウンロードしなくても問題ありません。

オプションを別途購入している場合でアステリア社から提供されるものはADNからダウンロードを行います。サードパーティ製のオプションの場合の入手方法は販売店にご確認ください。README （オプション）は先ほどの本体インストールに含まれないため、インストールファイルとともに保存しておくと良いでしょう。

* README （オプション）
* ASTERIA Warp オプション

### その他ダウンロード
ASTERIA WarpはJava8で動作しますので、Java8 64bitのダウンロードが必要です。ADNで動作検証が完了しているJavaが[掲載](https://support.asteria.com/hc/ja/categories/203937728)されていますのでそちらをダウンロードしておきます。
検証が行われるのは現行バージョン（2024/2月時点であれば、2312）を対象に以下の４つが掲載されていますので、使用したいJavaを配布サイトよりダウンロードします。

* Oracle JDK
* Amazon Corretto
* Zulu OpenJDK
* Red Hat OpenJDK
  
ライセンスを所有している場合はORALCE JDK、ライセンスを保有していなければAmazon CorrettoかZuluでよいかと思います。
Javaはクライアント側のフローデザイナーでも使用するため、クライアントPCにもインストール媒体とともに配布します。クライアント側のJavaのバージョンはサーバ側と同一でなくても構いません。
そのほか、データベースに接続を行う想定の場合、そのデータベースのJDBCの入手が必要です。各データベースの配布サイトからダウンロードします

CDATA社などのデータベース以外のJDBCを利用する場合もあらかじめダウンロートしておきます。

:::note info
インストール後にフローサービスを開始して初期設定を行います。スタートメニューのフローサービス開始から実行すると、アーカイブファイルが展開され、'http://localhost:28080/index.html' を表示するよう促されます。そのメッセージが表示されず、プログラムが閉じてしまう場合、何等かの理由でインストールが失敗していますので、インストールしたプログラムフォルダのlogを確認し対処します。
```
C:\Program Files\asteria5\boot\log
```
:::

## インストール後確認
インストールが終わった後に行う環境設定などです。

### 日本語表示
AWSなどのAMIから英語版のWindows Serverを使用しインスタンスを作った場合に日本語化を行いますが、インストール後の初回設定の接続で英語表示となっていた場合、Edgeの言語設定が英語になっていると思いますので、日本語を追加してください。

### JDBC配置
ダウンロードしたJDBCを配置します。配置はサーバのデータフォルダ配下
[DATA_DIR]/system/lib/drivers
に配置します。フローデザイナーからはメニュー＞ツール＞外部ライブラリの追加・削除から配置します。
<img title="外部ライブラリの追加・削除" width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680444/e0977037-1599-c016-2952-4d31dcadee5a.png"/>

いずれも詳細はADNの[JDBCドライバーの追加方法について](https://support.asteria.com/hc/ja/articles/360004390114)に記載されています。

JDBCを使ったコネクションの設定ですが接続できない場合にJDBCの設定が間違っているのか、ASTERIA Warpでの指定が待ちがっているのかの切り分けが必要な場合、ASTERIA Warp以外のJDBCを使用するツールを使って確認をします。筆者は主に[DBeaver](https://dbeaver.io/)を使用します。このツールはJDBCドライバーのダウンロードも行えるので非常に便利でドライバープロパティ指定などもこのツールと同様の設定を行えばASTERIA Warpでも接続が行えるでしょう。

:::note info
ASTERIA Warpで最初からシステムコネクションに登録されているasteria_internalはStandard以上でInternalDataStorageのサービス起動を行うと事でレコードのソートなどで使用しますが、このHSQLデータベースにもDBeaverから接続ができ、テーブルの登録などを行えばHSQLのコネクションでテンポラリリソースとして利用可能です。
:::

:::note info
SQLSERVERの最新のJDBCでテスト接続時SSL暗号化エラーが発生する場合は9.4のドライバーを使用すると良いでしょう。
:::


### Windowsサービス開始設定
Windows版のASTERIA Warpをインストールする際、初期設定のままであればでWindowsサービスに登録が行われます（Asteria Warp/Asteria Warp Core+など）。サービスの開始の初期値は「手動」となっていますので自動起動を行うのであれば「自動」または「自動（遅延開始）」に変更しておきましょう。

初期設定ではログオンユーザが「ローカルシステムアカウント」で設定されます。ローカルシステムアカウントはネットワーク先にアクセスする権限を持ちません。ASTERIA Warpで外部のファイルサーバをパススルーで接続を想定するような場合接続が行われません。実行ユーザ―をASTERIA Warpを実行するユーザに変更を行います。

### サーバシャットダウン時のWindowsサービスの自動停止
ASTERIA Warpは、Windowsサービスで自動開始を行えますが、停止については自動での停止が行われません。そのためシャットダウンを行った場合に強制停止となり正しいフローサービスの停止となりません。（asteria.logには強制停止のログが出力されます）自動停止を行う場合には、シャットダウン時に明示的にサービスの停止を行います。

#### 1. 停止スクリプト作成
サービスを停止するPowerShellスクリプトを用意します。指定するサービス名は、Windowsサービスで指定さているサービス(ASTERIA5.FlowService、ASTERIA5.CorePlus.FlowServiceなど)を指定します。

``` powershell
# サービス名
$serviceName = "ASTERIA5.FlowService"

# サービスを停止
Stop-Service -Name $serviceName -Force
```
これらを、ASTERIA Warpがインストールされているサーバに配置します。
#### 2. グループポリシーエディターでシャットダウン動作に追加する
Windowsキー + R を押して「ファイル名を指定して実行」ダイアログを開きます。「gpedit.msc」と入力して Enter キーを押します。これでローカルグループポリシーエディターが開きます。
コンピュータの構成 > Windowsの設定 > スクリプト（スタートアップ/シャットダウン）＞シャットダウンのPowerShellシャットダウンに作成したスクリプトの指定を行います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680444/cb1ea949-80a4-55c0-13cd-e7f9c5f7dece.png)

PowerShellでサービス停止する場合にスクリプトの実行ポリシーの変更が必要は場合、以下のコマンドをPowerShellで実行します。

``` powershell
Set-ExecutionPolicy RemoteSigned -Scope LocalMachine
```
設定後サーバの再起動を行い、asteria.logに停止が出力されている事を確認します。

### ポート設定
ASTERIA Warpでは、ASTERIAサーバとの通信で決められたポートを使用しています。インストール後、外部からのポートアクセスを許可する必要があります。具体的にはFireWall設定で受信側の規則を作成し、JavaJREを対象としてASTERIAで利用されるポートを指定しておくと良いでしょう。インストール時初期設定のままであれば20000番台が指定されていますので[リスナー一覧](https://help.asteria.com/documentation/warp/ja/current/flow/designer/index_admin.html#topic_listener.html)を参考に利用するポートを指定します。

### Faviconの変更　
外部からのリクエストなどでブラウザ側で表示されるアイコン（favicon)を別のものに変更したい場合は
[DATA_DIR]/system/htdocs/images/favicon.ico
こちらのfavicon.icoを置き換える事で可能です。

### FSMC設定
FSMC上の設定値に関して設定値の検討を行ったほうがよいものをいくつか紹介します。

#### 証明書の設定
設定＞SSL＞サーバ証明書
ASTERIA Warpに対してhttpsでリクエストを行う場合に証明書の登録を行います。
登録時に設定した格納パスワードは忘れずに保存してください。証明書の有効期限切れが発生するとhttpsリクエストが行えなくなりますので、期限前に証明書の更新を行うよう気を付けましょう。

:::note
バージョン1610〜1806からのバージョンアップに限り、サーバー認証局の追加を行ってください。詳しくはこちらを参照して下さい。
[フローサービス管理コンソールでのサーバー証明書設定について](https://support.asteria.com/hc/ja/articles/23255220939161)
:::


#### ログの削除設定
設定＞ログ＞削除
ASTERIA Warpでは複数のlogが実行logやアクセスLogとして出力されています。大量のlog出力によるディスク容量圧迫によりLog出力が行えない状態になった場合、ASTERIAのサービス停止が発生します。通常は発生しませんが、不要なLogの削除を定期的に設定する事が可能です。logの保持期間を検討し定期ジョブとして設定しておいた方が良いでしょう。

#### 異常時メール設定
設定＞通知
ASTERIA Warpのサーバ上で何等かの異常が発生した場合の通知メールが送信される機能です。設定をしておくと良いでしょう。2212まではここに直接SMTPの接続設定を記述するしかなく、OAuth認証のメールサーバへの送信が行えませんでしたが、2306よりメールコネクションが使用可能となり、OAuth認証のメールサーバへの通知も可能となりました。また、メールではなくMicrosoftTeamsなどに通知として送りたい様な場合でも、ここの送信先にチャンネルのメールアドレスを取得し設定を行えばチャンネルへの通知を送る事ができるでしょう。

#### フローサービスのJava使用メモリ
設定＞サービス＞フロー
ASTERIA FlowServiceで使用する初期メモリサイズと最大メモリサイズを指定します。こちらは、Javaの-Xms -Xmxに相当する設定です。初期インストール状態ではこの値は設定されていません。初期メモリ設定をしない場合自動で初期メモリサイズが算出されますが、実行ともにメモリ拡張が行われます。その際不安定となる可能性がありますので、そういった要素を排除する意味でも使用メモリサイズをあらかじめ設定しておいた方がよいでしょう。その場合、初期メモリ、最大メモリを同値で設定してください。

#### HTTP/HTTPS
設定＞サービス＞フロー
外部からASTERIA WarpのURLトリガーで起動する場合に、インストール時に20000番ポート利用賭した場合、初期設定ではHTTP：21380、HTTPS：21443で設定されています。外部からのリクエストでポートが許可されていない場合などでは、このポート設定をHTTP：80、HTTPS：443のデフォルトのポート番号に変更する事でリクエスト可能になる場合があります。ASTERIA Warpのユーザは初期設定でHTTPユーザーとして使用が”はい”となっています。外部からのアクセス制限をしていない場合コンテキストフォルダにアクセス可能な状態となっています。

#### FSMCのログインタイムアウト時間
設定＞サービス＞MC
マネージメントコンソールへのログインタイムアウト時間の初期設定は30分です。ログイン時間を伸ばす場合にはこちらで設定します。
また、複数のASTERIA Warpサーバを利用している場合、FSMCのログイン先が判別できるようこちらで設定色の変更を行うと良いでしょう。


#### 契約アカウント確認
システム＞契約情報
インストール後の初回起動時、契約アカウントのメールとパスワードの設定を行っていると思います。サブスクリプション購入の場合ライセンスは月毎の自動更新が行われますが、その際に契約アカウントを利用しアステリア社に接続、自動更新されます。しかし、この契約アカウントの入力を間違って登録してしまった場合に気付かない事がありますので、契約アカウントの確認ボタンで確認しておきましょう。

### フローデザイナー
 フローデザイナーの初期インストール時に設定しておくと良い項目です。
 
#### Javaスケーリング設定
４Kモニタを使用している場合、DPIのスケーリングが正しく行われずフローデザイナープロジェクトなどのフォントが正しいサイズで表示されない場合があります。
その場合、フローデザイナーが利用しているJavaw.exeの高DPI設定で乞う１７DPIスケール設定の上書きを行うと、規定のサイズで正しく表示されるようになります。
※OSのバージョンにより変更できない場合があります。

<img title="javaw.exe" width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680444/cf8f7868-1fc5-f7f6-44d9-34a79cb9d992.png"/>

#### サーバの表示色設定
フローデザイナーでサーバに接続した際、ファイルペインの表示が乱れるような場合、サーバ右クリックで表示されるサーバの表示設定から色を明示的色を指定する事で改善します。（白でも可）
サーバの表示色は各フローデザイナー毎の設定になりますが、接続ユーザを本番系、テスト系と分けて運用する場合など、接続ユーザによってサーバ表示色を決め設定しておくルールにする事で接続先の情報が色でが判別でき、間違った操作に対する抑止効果となりますのでできれば設定しておくと良いでしょう。

### その他
ASTERIA Warpのヘルプは、インストールされたサーバに保存されています。フローデザイナー経由でなく直接参照が必要であれば以下リンクをブックマークします。
```
http://[ホスト名]:21381/help/ja/index.html
https://[ホスト名]:21382/help/ja/index.html
```
公式のヘルプはこちらになります。

```
-- バージョン指定
https://help.asteria.com/documentation/warp/ja/2312/index.html
-- 現行バージョン
https://help.asteria.com/documentation/warp/ja/current/index.html
```

## 最後に
インストール作業に関連するポイントをいくつかあげました。いずれもインストール後に気付く様な内容かと思いますので、これからインストールを行うかたは各項目のチェックに利用していただければ幸いです。


## 蛇足
2312は安定している感じで非常に良いのですが、ExcelInputでxls拡張子が読み込みできなくなってしまいました。従来もヘルプには使えないと記載されているものの2306までは利用できていたんですが残念。2312ではExcelのZipBombの回避がサーバ側オプションで回避できる様になったので、こちらはあきらめるかな～？という感じです。

ではまた。