Hinemos ver.6.2 をAWS上にインストールして監視するまで（初期設定編）

初投稿です。

仕事で使っている監視・ジョブツールであるHinemosのインストールと、やっておいた方が良い（と、思う）最低限の初期設定をまとめます。
他の方の参考になれば嬉しいです。

# 前提知識
このページでは、以下の内容をある程度理解されていることを前提に~~（説明すると長くなって面倒なので）~~記載をしています。

* Linuxの基本的な操作
* AWSの設定（セキュリティグループの設定とか）
* ~~viエディタの使い方~~

# Hinemosとは？
Javaで動作するオープンソースの監視・ジョブツールです。基本機能は無料で利用できます。
Hinemos1つで監視とジョブを行うことができます（ただし、一部の監視とジョブを利用するには、対象マシンにHinemosエージェントをインストールする必要があります）。
詳細は[製品サイト](https://www.hinemos.info/hinemos)へ

# 作るもの
執筆時点で最新のver.6.2.1を利用します。
（2020/3/26追記　ver.6.2.2がリリースされていますが、バージョンの差異による設定方法の違いはなさそうです）

なお、本記事では下図を実現するためのHinemosマネージャ（下図の真ん中の青い四角）の設定を行います。
監視対象側の設定、監視の設定方法などは別の記事でまとめようと思います。

#### 必要なもの
* Hinemosマネージャ用のRHEL系マシン1台（RHEL7系）　※RHEL7であればマイナーバージョンはなんでもOK
* Gmailアカウント（通知メールをリレーさせるため）

このページでは、下のような図の構成で示す通り、AWS上で動く管理対象マシンを監視するため、Hinemosマネージャを構築します。異常を検知した場合は、メールで異常の内容を通知するよう設定をしたいと思います。
メールはHinemosマネージャからGmailをリレーして送信されるように設定します。

<img width="1007" alt="components.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99084/5c47d683-5b5c-3a00-a09f-eb8d1d447f8c.png">

Hinemosはマネージャと監視・ジョブの実行対象となるマシン、そしてクライアント（上の図では「ローカルマシン」と記載）の3つで構成されています。

なお、少し前で触れましたが、**一部の監視とジョブを実行するには、対象のマシンにHinemosエージェントをインストールする必要があります。また、HinemosはJavaで動作するので、対象のマシンにJavaをインストールする必要があります（ここ地味に重要）**。

が、（一部を除いて）監視を行うだけであれば、監視対象にHinemosエージェントは必要ありません。
今回はエージェントを必要としない監視だけ行うので、管理対象マシンにHinemosエージェントはインストールしません。

#### Hinemosクライアントについて
Hinemosマネージャに対して監視やジョブの設定などを行うためには、Hinemosクライアントが必要です。
Hinemosクライアントは、ローカルマシン(Windows)にインストールするタイプ（リッチクライアント）と、RHEL系マシンにインストールして、Webブラウザで接続して操作するタイプ（Webクライアント）の2種類があります。
サーバリソースに余裕があれば、HinemosマネージャとWebクライアントを同居させることができます。WebクライアントはHTML５対応のWebブラウザさえあればOSに関係なく操作できるので、こっちがオススメです。

今回は、HinemosクライアントとしてWebクライアントを利用します。

# Hinemosに必要なパッケージ
Hinemosの動作環境については、[こちら](https://www.hinemos.info/env/requirements#anchor01)を見てください。ここでは、Hinemosの動作環境を満たした上で、最低限必要なものをまとめます。より詳しい情報は、[Hinemosインストールマニュアル](https://github.com/hinemos/hinemos/releases/tag/v6.2.1)（リンクのja_Install_Linux_6.2_rev2.pdf）を見てください。

#### Hinemosマネージャ
* Java: OpenJDK 1.8
* vim-common

#### Hinemos Webクライアント
* Java: OpenJDK 1.8
* unzip

# Hinemos環境の準備
### Hinemosインストーラの入手
[GitHub](https://github.com/hinemos/hinemos/releases/tag/v6.2.1)でインストーラを入手します。具体的には、下記の2つをダウンロードします。

* hinemos-6.2-manager-6.2.1-1.el7.x86_64.rpm
* hinemos-6.2-web-6.2.1-1.el7.x86_64.rpm

### Hinemosマネージャ用インスタンスの作成
AWS上でHinemosマネージャ用のインスタンスを作成します。今回は以下の内容でインスタンスを作成します。
ちなみに後述しますが、t2.microインスタンスではHinemosマネージャ、Webクライアントの2つを同時に動かすにはリソース（メモリ）が足りません。
お金に余裕があればt2.small以上を用意してください。

* OS: CentOS7(x86_64)
* インスタンスタイプ: t2.micro

# Hinemosマネージャとwebクライアントのインストール・・・のための準備
Hinemosマネージャをインストールするために必要な作業は、下記の通りです。

1. SELinuxの無効化
2. OpenJDKのインストール
3. スワップ領域の拡張(t2.small以上のインスタンスの場合は不要)

### 1. SELinuxの無効化
HinemosはSELinuxが有効化されているとインストールできないので、SELinuxを無効化します。

エディタで/etc/selinux/configを下記の通り変更します。
今後、rootユーザでないと実行できないコマンドが多く出てくるので、rootユーザでbashを開き直して実施するのが楽だと思います。

```Bash:
# rootユーザでbashを開く
sudo bash
```

```Bash:
# SELinuxの設定ファイルを編集
vi /etc/selinux/config
```

```Bash:/etc/selinux/config
# 変更前
SELINUX=enforced

# 変更後
SELINUX=disabled
```

変更後、再起動をして設定を反映させましょう。

```Bash:
reboot
```

### 2.OpenJDKのインストール
Hinemosに必要なパッケージでも述べましたが、Hinemosマネージャ、Hinemos WebクライアントはOpenJDK8以上が必要です。
下記コマンドでOpenJDK 1.8をインストールします。

```Bash:
sudo bash
# OpenJDK 1.8をインストール
yum -y install java-1.8.0-openjdk-devel
```

### 3. スワップ領域の拡張(t2.small以上のインスタンスの場合は不要)
[Hinemosマネージャ用インスタンスの作成](#hinemosマネージャ用インスタンスの作成)の部分で説明した通り、このページで作成するインスタンス（t2.micro）ではメモリが足りません。インストールマニュアルによると、HinemosマネージャとHinemos Webクライアントを1台のマシンで運用するには、最低でも1.5GB必要なので、t2.micro(メモリ：１GB）では500MB不足しています。なので、根本的な解決方法ではないですが、スワップ領域を広げて無理やり動かす、、という荒技で解決します。

次は、スワップ領域を2GB増やすための設定例です。

```Bash:
# スワップファイルを作成
dd if=/dev/zero of=/var/swpfile bs=1M count=2048
mkswap /var/swpfile
# スワップ領域として使用する
swapon /var/swpfile
```

最後にfreeコマンドでスワップ領域が増えているか確認してみましょう。

```Bash:
[centos@hinemos-manager ~]$ free
              total        used        free      shared  buff/cache   available
Mem:        1013192      674312       65804       44920      273076      136804
Swap:       2097148         256     2096892
```

# Hinemosマネージャ、Hinemos Webクライアントのインストール
インストールのための準備ができたので、早速インストールをしましょう。
scpコマンドやWinSCPを利用してインストーラをインスタンスに転送し、インストールを実行します。

```Bash:
# scpでrpmファイルをCentOSサーバに転送するコマンド例
scp -i <秘密鍵のパス> hinemos-6.2-manager-6.2.1-1.el7.x86_64.rpm centos@<IPアドレス>:/home/centos/
scp -i <秘密鍵のパス> hinemos-6.2-web-6.2.1-1.el7.x86_64.rpm centos@<IPアドレス>:/home/centos/
```

AWS上で利用するCentOSの場合、sshのログインユーザは「centos」になります。sshコマンドでログインする場合は下記のようなコマンドになります。

```Bash:
ssh -i <秘密鍵のパス> -l centos <IPアドレス>
```

インストーラを転送した先のファイルパスに移動し、下記のコマンドを実行します。

```Bash:
# Hinemosマネージャのインストール
rpm -ivh hinemos-6.2.1-manager-6.2.1-1.el7.x86_64.rpm

# Hinemos Webクライアントのインストール
rpm -ivh hinemos-6.2-web-6.2.1-1.el7.x86_64.rpm
```

インストールがうまくいくと、/opt配下にhinemosディレクトリ(Hinemosマネージャのインストールディレクトリ）と、hinemos_webディレクトリ（Hinemos Webクライアントのインストールディレクトリ）の2つが作成されます。

インストールマニュアルを見ると、上記のrpmコマンドを実行する際にオプションをつけることでインストールディレクトリを変更することができるようです。詳しくはインストールマニュアルを参照してください。

前置きが長くなりましたが、以上がHinemosマネージャとWebクライアントのインストール方法についてでした。次からは、Hinemosマネージャ、Hinemos Webクライアントを利用するにあたって、必要な設定をしていきます。

# AWS上でHinemosを利用する前の設定
インストールが終わったので、これからHinemosを利用する前にしておくべき設定をします。
具体的には、下記の設定をします。

* Hinemosマネージャ内部DB（PostgreSQL）のパスワード変更
* Hinemos Webクライアントの設定
* AWSのセキュリティグループ設定

### Hinemosマネージャ内部DBのパスワード変更
Hinemosマネージャは、監視対象などの設定や監視結果のデータを記録するため、PostgreSQLが同梱されています。このPostgreSQLには、インストール直後だとユーザ名もパスワードも「hinemos」でログインできてしまいます。
このままにしていると万が一の時、セキュリティ的に問題があると思うので、最低限パスワードは変更をした方が良いでしょう。

PostgreSQLのパスワードを変更するには、次のステップを行います。

* PostgreSQLに直接ログインしてパスワードを直接変更する　
* Hinemosマネージャの設定ファイルを変更する

##### PostgreSQLのパスワードを変更する
PostgreSQLを起動／ログインし、ALTER USER文を実行してログインパスワードを変更します。

```Bash:
# Hinemosに同梱されているPostgreSQLを起動する
systemctl start hinemos_pg
# PostgreSQLにログインする
/opt/hinemos/postgresql/bin/psql -U hinemos -p 24001
```
```SQL:
-- パスワードを変更
ALTER USER hinemos PASSWORD '（新しいパスワード）';
```

以上でPostgreSQLのパスワード変更ができたので、ログアウトします

```Bash:
# PostgreSQLからログアウト
\q
```

以上が完了したら、PostgreSQL側の作業は終了なので、PostgreSQLを一旦停止させましょう。

```Bash:
systemctl stop hinemos_pg
```

##### Hinemosマネージャの設定ファイルを変更する
PostgreSQL側のパスワードの変更をしたので、今度はHinemos側のパスワードを変更します。

```Bash:
vi /opt/hinemos/etc/META-INF/persistence.xml
```
persistence.xmlの次の行を[PostgreSQLのパスワードを変更する](#postgresqlのパスワードを変更する)で設定したのとパスワードに変更しましょう。

```Bash:/opt/hinemos/etc/META-INF/persistence.xml
#変更前
<property name="javax.persistence.jdbc.password" value="hinemos"/>

#変更後
<property name="javax.persistence.jdbc.password" value="（新しいパスワード）"/>
```
同様に、次のファイルに対しても、[PostgreSQLのパスワードを変更する](#postgresqlのパスワードを変更する)で設定したのと同じパスワードを指定します。

```Bash:
vi /opt/hinemos/etc/db_account.properties
```

```Bash:/opt/hinemos/etc/META-INF/persistence.xml
#変更前
hinemos_pass=hinemos

#変更後
hinemos_pass=（新しいパスワード）
```

これで、Hinemosの内部DBに対する設定は完了です。

### Hinemos Webクライアントの設定
Hinemos Webクライアントの設定をしていきます。このページでは、大きく下記の２点を実施します。

* アクセス制御設定
* HTTPS化設定


##### Hinemos Webクライアントのアクセス制御
Hinemos Webクライアント側の設定として、アクセス制御の設定をしようと思います。
AWSのセキュリティグループでIPアドレスフィルタを設定するでも良いのですが、そうすると外出先で急遽サーバの状態を確認したい、などの場合に対応できない状況が想定されます。
かといって、セキュリティグループを設定せずに、どこからでもアクセスできる状態にしてしまうと、最悪Hinemosマネージャに不正アクセスされてしまうリスクがあります。ジレンマですね。

<img width="1009" alt="access.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99084/4b043360-cc3c-1ee1-c1b5-6ed8a09be0ed.png">

そんなジレンマ解決方法の１例として、Hinemos Webクライアントで設定可能なBASIC認証によるアクセス制御を実施します。これをすることで、下のようなダイアログが表示されるようになり、認証をクリアしないとアクセスすることができなくなります。
これで、少なくとも不特定多数の人間がHinemosマネージャにアクセスできないように制限することができますね。

<img width="453" alt="スクリーンショット 2019-09-27 8.47.54.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99084/df1facc1-76c5-2daf-10e5-7e553505db18.png">

では、アクセス制御設定をするためにHinemosマネージャの下のファイルを編集します。


```Bash:
vi /opt/hinemos_web/conf/basic-auth-users.xml
```

下記のコメントアウト（<!-- ~~ -->）を外して、usernameとpasswordの値を変更します。

```Xml:/opt/hinemos_web/conf/basic-auth-users.xml
<!-- 変更前 -->
<!--
  <role rolename="hinemos"/>
  <user username="user" password="<must-be-changed>" roles="hinemos"/>
-->

<!-- 変更後 -->
  <role rolename="hinemos"/>
  <user username="<任意のユーザ名>" password="<任意のパスワード>" roles="hinemos"/>
```

BASIC認証を利用するよう、web.xmlの設定内容を変更します。
具体的には、下記の該当部分のコメントアウトを外します。

```Xml:/opt/hinemos_web/conf/web.xml
<!-- 変更前 -->
        <!-- BASIC Auth -->
        <!--
        <security-constraint>
                <web-resource-collection>
                        <web-resource-name>
                                Authentication of BasicAuth
                        </web-resource-name>
                        <url-pattern>/*</url-pattern>
                </web-resource-collection>
                <auth-constraint>
                        <role-name>hinemos</role-name>
                </auth-constraint>
        </security-constraint>

        <login-config>
                <auth-method>BASIC</auth-method>
                <realm-name>Hinemos WebClient</realm-name>
        </login-config>
        -->

<!-- 変更後 -->
        <!-- BASIC Auth -->
        <security-constraint>
                <web-resource-collection>
                        <web-resource-name>
                                Authentication of BasicAuth
                        </web-resource-name>
                        <url-pattern>/*</url-pattern>
                </web-resource-collection>
                <auth-constraint>
                        <role-name>hinemos</role-name>
                </auth-constraint>
        </security-constraint>

        <login-config>
                <auth-method>BASIC</auth-method>
                <realm-name>Hinemos WebClient</realm-name>
        </login-config>

```

##### Hinemos WebクライアントのHTTPS化
ローカルマシンからHinemos Webクライアントへの接続はデフォルトではHTTP通信となっています。このままでは盗聴の恐れがあり、セキュリティ的に問題があるので、HTTPS通信になるよう設定します。
なお、Hinemos Webクライアントとマネージャの間もデフォルトではHTTP通信となっていますが、今回構築する環境の場合は、Hinemos WebクライアントとHinemosマネージャは同じマシンなので、Hinemosマネージャ・Hinemos Webクライアント間のHTTPS通信化はしないものとします。興味がある方はマニュアルを参照してください。

ローカルマシンとWebクライアント間でHTTPS通信をするには、下記の作業を行います。

* オレオレ証明書の発行
* server.xmlの設定変更

##### オレオレ証明書の発行

まずはオレオレ証明書を発行し、/opt/hineos_web/.keystoreに配置します。

```Bash: 
keytool -genkey -alias tomcat -keyalg RSA -keystore /opt/hinemos_web/.keystore
キーストアのパスワードを入力してください:(1でコメントを外したパラメータ「keystorePass」に設定した値を入力) 新規パスワードを再入力してください:
姓名を入力してください。
[Unknown]: (何も入力せずENTER) 織単位名を入力してください。
[Unknown]: (何も入力せずENTER) 組織名を入力してください。
[Unknown]: (何も入力せずENTER) 都市名または地域名を入力してください。
[Unknown]: (何も入力せずENTER) 州名または地方名を入力してください。 [Unknown]: (何も入力せずENTER)
この単位に該当する 2 文字の国番号を入力してください。 [Unknown]: (何も入力せずENTER)
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown でよろしいですか? [いいえ]: (はいを入力)
<tomcat> の鍵パスワードを入力してください。
(オレオレ証明書用のパスワードを入力してください)
```

##### server.xmlの設定変更
そして、/opt/hinemos_web/conf/server.xmlを編集し、先ほど発行したオレオレ証明書を利用してHTTPS通信ができるよう設定を変更します。

```Bash:
vi /opt/hinemos_web/conf/server.xml
```

```XML:/opt/hinemos_web/conf/server.xml

<!-- 変更前 -->
    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443"
               maxThreads="32"
               />

    <!-- Define a SSL HTTP/1.1 Connector on port 8443
         This connector uses the NIO implementation that requires the JSSE
         style configuration. When using the APR/native implementation, the
         OpenSSL style configuration is required as described in the APR/native
         documentation -->
    <!--
    <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="32" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="/opt/hinemos_web/.keystore" keystorePass="changeit"
               />
    -->

<!-- 変更後 -->
    <!--
    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443"
               maxThreads="32"
               />
    -->
    <!-- Define a SSL HTTP/1.1 Connector on port 8443
         This connector uses the NIO implementation that requires the JSSE
         style configuration. When using the APR/native implementation, the
         OpenSSL style configuration is required as described in the APR/native
         documentation -->
    <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="32" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="/opt/hinemos_web/.keystore" keystorePass="<オレオレ証明書のパスワード>"
               />
```

### AWSのセキュリティグループ設定
Hinemosマネージャは管理対象と色々な通信をするので、必要に応じてセキュリティグループを変更しておく必要があります。
下記の表では、HinemosマネージャとHinemos WebクライアントをAWS上に構成するにあたって、最低限必要なインバウンドの設定を記載します。ソース部分は状況によって全然違うと思うので記載を省略します。

|ポート番号|TCP or UDP|用途|備考| 
|:---------------------:|:--------------------------:|:------------------|:------------------|
| 443            |              TCP |        Webクライアントへの接続のため（HTTPS通信の場合)        |
| 80            |              TCP |        Webクライアントへの接続のため（HTTP通信の場合)        |
| 161           |            UDP |       リソース監視、プロセス監視、SNMP監視のため      |
| 162           |            UDP |       SNMPTRAP監視のため      |
| 8080             |              TCP |        HinemosクライアントとHinemosマネージャ通信のため        |
| 8081               |                TCP |         HinemosエージェントとHinemosマネージャ通信のため        |
| 514             |             TCP or UDP |      システムログ監視のため       |システムログ監視でTCP、UDPどちらを利用するか決めて設定する必要がある |

今回の場合は、443、161、8080のインバウンド許可だけ追加します。

以上で、Hinemosを利用する前の設定は完了です。
早速、HinemosマネージャとHinemos Webクライアントを起動してみましょう。

```Bash:
# Hinemosマネージャを起動
systemctl start hinemos_manager 
# Hinemos Webクライアントを起動
systemctl start hinemos_web

# Hinemosマネージャ、Hinemos Webクライアントの起動状態確認
systemctl status hinemos_manager
systemctl status hinemos_web
# Active: active (running)　となっていればOK
```

では、ブラウザで`https://Hinemos WebクライアントのIPアドレス`にアクセスしてみましょう。

BASIC認証で設定したユーザ名、パスワードを入力してHinemos Webクライアントにアクセスします。

ログインダイアログが表示されるので、初期パスワード（ユーザ名：hinemos、パスワード：hinemos）でログインしましょう。
※ここでのパスワードは、[Hinemosマネージャ内部DBのパスワード変更](#hinemosマネージャ内部dbのパスワード変更)で設定したパスワードとは違います。


### Hinemosの設定
では次に、Hinemosにログインして以下の設定をしていきましょう。

* ログインユーザのパスワード変更
* SMTPサーバの設定

#### ログインユーザのパスワード変更
インストール時に用意されているログインユーザとパスワードは両方とも「hinemos」になっています。この「hinemos」ユーザは管理者権限を持っているので、このまま万が一不正ログインされると色々とマズいので、パスワードを変更しましょう。

まずは左上のメニューから「パースペクティブ(P)→アカウント」の順番でアカウント画面を開きます。
<img width="171" alt="スクリーンショット 2019-12-01 18.17.46.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99084/4269ba80-49aa-b99a-c534-6e36a025d756.png">

右上にある「アカウント[ユーザ]」画面でhinemosユーザを選択して南京錠のアイコンをクリックします。
<img width="1677" alt="スクリーンショット 2019-12-01 18.18.10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99084/02a86eeb-258b-a594-a196-483ff092299d.png">

新しいパスワードの入力を求められるので、パスワードを2回入力してログインパスワードを変更します。
<img width="369" alt="スクリーンショット 2019-12-01 18.28.49.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99084/74ff628f-6f70-f125-1096-d2dfd9cc4b0e.png">

#### Gmailのリレー設定
Hinemosでメールでの通知を実現するために、Gmailのリレー設定を行います。
Gmailへのリレー設定をするためには、前提として２段階認証を設定する必要がありますので、まずは２段階認証設定を行ってください。
ここでは、HinemosからGmailへリレーするための設定方法を簡単に解説したいと思います。

1, [Googleアカウントのページ](https://myaccount.google.com) に行く
2, 左のタブから「セキュリティ」を選択し、「Googleへのログイン」内の「アプリ　パスワード」を選択
<img width="865" alt="スクリーンショット 2019-11-23 16.00.21.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99084/f3dda30b-e338-8341-2312-736834b4e6e2.png">
3, 「アプリを選択」からメール、「デバイスを選択」から任意の名前を入力し、生成をクリック
<img width="737" alt="スクリーンショット 2019-11-23 16.04.02.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99084/6ffa8744-0d53-cd37-6aac-a1c888a12b67.png">
4, 表示されたパスワードをメモする
<img width="632" alt="スクリーンショット 2019-12-01 17.59.59.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99084/471ab838-9662-3d32-657a-567c9ad9b4b9.png">

#### SMTPサーバの設定（Hinemos側の転送設定）
転送予定のGmail側の設定が終わったので、次にHinemos側の転送設定を行います。

まず左上のメニューから「パースペクティブ(P)→メンテナンス」の順番でメンテナンス画面を開きます。
<img width="149" alt="スクリーンショット 2019-12-01 18.14.50.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99084/44a68103-e641-6809-dee5-446e6a7d8da0.png">
「メンテナンス[Hinemosプロパティ]画面」から、次の行を見つけて編集します。

|キー|概要|設定値| 
|:---------------------|:--------------------------|:------------------|
| mail.smtp.auth |SMTPサーバとの通信時に認証が必要か | true |
| mail.smtp.host |SMTPサーバのホスト| smtp.gmail.com |
| mail.smtp.port|SMTPサーバのポート番号|587|
| mail.smtp.starttls.enable|SMTPとの通信時にTLSを利用するか|true|
| mail.transport.password|SMTPサーバの認証パスワード|[Gmailのリレー設定](#gmailのリレー設定)で取得したパスワード|
|mail.transport.user|SMTPサーバの認証ユーザ|[Gmailのリレー設定](#gmailのリレー設定)でパスワード取得に使用したアカウント（メールアドレス）|
<img width="1535" alt="スクリーンショット 2019-12-01 18.15.41.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99084/62fe2089-bbb3-4a52-7369-d3342b066671.png">

これで、HinemosからGmailをリレーしてメールを通知する設定ができました。
・・・ここまで書いていたら長くなってしまったので、監視結果をメールで送信する方法は別の記事でまとめようと思います。

# まとめ
本記事では、AWS上でHinemosをインストールし、下記の必要最低限の設定を行いました。

* Hinemosの内部DB（PostgreSQL）のパスワード変更
* Basic認証を利用したWebクライアントへのアクセス制限
* Webクライアントとの通信のHTTPS化
* 管理者アカウントのパスワード変更
* メール通知をするためのGmailへのリレー設定

次の記事では、本記事でまとめた環境をもとに監視を行い、監視結果をメールで任意アドレスに通知する方法をまとめたいと思います。
（2020/10/19追記）
初期設定変からだいぶたっちゃいましたが続編を寄稿しました。
よければどうぞ
[Hinemos ver.6.2 をAWS上にインストールして監視するまで（監視設定編）](https://qiita.com/Moo_Yohei/items/239ac1a9b18adde1d313)