

このガイドでは、Wickr Enterprise のドキュメントを提供します。AWS Wickr を使用している場合は、[「AWS Wickr 管理ガイド](https://docs.aws.amazon.com/wickr/latest/adminguide/what-is-wickr.html)」または[「AWS Wickr ユーザーガイド](https://docs.aws.amazon.com/wickr/latest/userguide/what-is-wickr.html)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# データベース設定
<a name="database-settings"></a>

Wickr Enterprise には MySQL 8.0 データベースが必要です。MySQL 5.7 を使用している場合は、「」を参照してアップグレード[MySQL 8.0 へのアップグレード](#upgrade-database)してください。Amazon RDS などの Kubernetes クラスターの外部にあるデータベースを使用することをお勧めしますが、インストールの一部として Kubernetes クラスター内に**内部** MySQL データベースをデプロイすることもできます。

## 外部データベースの設定
<a name="external-database-settings"></a>
+ **ホスト名**: データベースサーバーのホスト名または IP アドレス。
+ **リーダーホスト名**: データベースサーバーの読み取り専用エンドポイントのホスト名または IP アドレス (使用可能な場合）。
+ **ポート**: MySQL にアクセスするポート。
+ **データベース名**: サーバーで作成されたデータベースの名前。
+ **ユーザー名**: データベースへのアクセス許可を持つユーザー。
+ **パスワード**: そのユーザーのパスワード。
+ **CA 証明書**: TLS 経由でデータベースに接続するための PEM 証明書。

**注記**  
MySQL のインストールで、デフォルトの latin1 文字セットと latin1\$1swedish\$1ci 照合が使用されていることを確認します。これは、MySQL サーバーが次のフラグで起動されたことを確認することで実現できます。  
`"--character-set-server latin1", "--collation-server latin1_swedish_ci"`

## 内部データベース設定
<a name="internal-database-settings"></a>

内部データベースタイプは、バイナリレプリケーションを使用する MySQL プライマリとセカンダリのクラスターに 2 つの StatefulSets をデプロイします。セカンダリはトラフィックを受信せず、ディザスタリカバリとバックアップにのみ使用できます。

**ストレージサイズ**: データベースポッドの永続ボリュームのサイズ (ギビバイト単位）。

**MySQL ストレージサイズの増加**

**注記**  
StorageClass のボリュームタイプは、ストレージサイズを増やすためにボリューム拡張をサポートしている必要があります。詳細については、[「ボリューム拡張](https://kubernetes.io/docs/concepts/storage/storage-classes/#allow-volume-expansion)」を参照してください。

Wickr Enterprise で使用される MySQL サービスは、Kubernetes の StatefulSet リソースとしてデプロイされます。StatefulSets は、永続ボリュームクレームテンプレートなど、リソースの多くのプロパティをイミュータブルにします。StatefulSets のイミュータビリティの回避策として、MySQL で使用されるボリュームのサイズを増やすには、次のアクションを実行する必要があります。

1. `data-mysql-primary-0` および の永続ボリュームクレームを編集します`data-mysql-secondary-0`。

   1. `kubectl -n wickr edit pvc data-mysql-primary-0. Set spec.resources.requests.storage` 希望するストレージサイズにします。

   1. `kubectl -n wickr edit pvc data-mysql-secondary-0. Set spec.resources.requests.storage` 希望するストレージサイズにします。

1. 既存の StatefulSets を削除しますが、 `--cascade=orphan`フラグを渡してポッドを離れます。

   `kubectl -n wickr delete statefulset --cascade=orphan mysql-primary mysql-secondary`.

1. KOTS UI で、ステップ 1 で設定した値と一致するようにストレージサイズ設定を更新します。この設定を保存してデプロイします。

1. StatefulSets を再起動してボリュームを拡張し、MySQL サービスをオンラインに戻します。

   `kubectl -n wickr rollout restart statefulset mysql-primary mysql-secondary`.

## MySQL 8.0 へのアップグレード
<a name="upgrade-database"></a>

**外部データベース (RDS)**

Wickr バックエンドをオフラインにするには、次の手順を実行します。

1. Ingress の名前空間を検索する `kubectl get deployments --all-namespaces`

   以下の例では、名前空間は Wickr で、レプリカは 3 です。

   ```
   NAMESPACE     NAME                       READY   UP-TO-DATE   AVAILABLE   AGE
   ...
   wickr         ingress-nginx-controller   3/3     3            3           43h
   ...
   ```

1. Ingress をスケールダウンする `kubectl scale deployment/ingress-nginx-controller --replicas=0 -n wickr`

1. スナップショットを作成して DB をバックアップします。詳細については、[「Amazon Relational Database Service ユーザーガイド」の「手動バックアップの管理](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ManagingManualBackups.html)」を参照してください。 *Amazon Relational Database Service *

1. エンジンバージョンを MySQL 8.0.x にアップグレードします (MySQL 8.4 はサポートされていません）。詳細については、*Amazon Relational Database Service * [ ユーザーガイド」の「DB インスタンスエンジンバージョンのアップグレード](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Upgrading.html)」を参照してください。

Wickr バックエンドをオンラインにするには、進入をスケールバックします `kubectl scale deployment/ingress-nginx-controller --replicas=3 -n wickr`

**内部データベース**

詳細については、[MySQL のバックアップと復元](https://github.com/aws-samples/sample-packages-for-aws-wickr/blob/main/docs/mysql-backup.md)」を参照してください。