4.3. Trusted Artifact Signer 用の OpenShift でのデータベース設定
この手順を使用すると、Trillian 用の Red Hat の Trusted Artifact Signer (RHTAS) デフォルトデータベースを、Amazon の Relational Database Service (RDS) で管理されている MariaDB インスタンスに置き換えることができます。
Red Hat では、実稼働環境のワークロードには可用性の高い MariaDB データベースを使用することを推奨しています。
前提条件
- OpenShift プロジェクトを作成して OpenShift サンプルカタログからデータベースインスタンスをデプロイする権限。
-
cluster-admin
ロールでの OpenShift Web コンソールへのアクセス。 -
oc
、curl
、およびmysql
バイナリーがインストールされているワークステーション。 - データベースを作成し、MariaDB インスタンスにデータを入力する権限を持つコマンドラインアクセス。
手順
- RHTAS サービスをデプロイしている OpenShift Web コンソールにログインします。
- Developer パースペクティブに切り替えます。
プロジェクトがすでに存在する場合は、
trusted-artifact-signer
プロジェクトを選択し、存在しない場合はデータベース用に新しいプロジェクトを作成します。- 新規プロジェクトを作成するには、ドロップダウンプロジェクトメニューをクリックして、Create Project ボタンをクリックします。
-
新規プロジェクトに
trusted-artifact-signer
という名前を付けて、Create ボタンをクリックします。
- Developer Catalog カードで Database をクリックします。
MariaDB を選択し、Instantiate Template ボタンをクリックします。
重要MariaDB (Ephemeral) を選択しないでください。
Instantiate Template ページで、以下のフィールドを設定します。
-
MariaDB データベース名 フィールドに
trillian
と入力します。 -
Volume Capacity フィールドに
5Gi
を入力します。 - Create ボタンをクリックします。
-
MariaDB データベース名 フィールドに
リモートシェルセッションを開始します。
- Topology ページで MariaDB Pod を選択するとサイドパネルが表示されるので、Resources タブをクリックします。
- Pods セクションで、MariaDB の Pod 名をクリックします。
- Terminal タブをクリックして、MariaDB Pod へのリモートシェルセッションを開始します。
リモートシェルセッションで、Trillian データベースに接続できることを確認します。
例
$ mysql -u $MYSQL_USER -p$MYSQL_PASSWORD -D$MYSQL_DATABASE
注記認証情報は、サービス名 (
mariadb
) と一緒にシークレットオブジェクトに保存され、これにはデータベースの名前、ユーザー名、およびデータベースのルートパスワードが含まれます。これらの認証情報は、後でデータベースシークレットオブジェクトを作成するときに使用されるため、メモしておいてください。データベースから切断します。
例
EXIT
データベース設定ファイルをダウンロードします。
例
$ curl -o dbconfig.sql https://raw.githubusercontent.com/securesign/trillian/main/storage/mysql/schema/storage.sql
データベース設定を新しいデータベースに適用します。
構文
mysql -h FQDN_or_SERVICE_ADDR -P 3306 -u USER_NAME -p PASSWORD -D DB_NAME < PATH_TO_CONFIG_FILE
例
$ mysql -h rhtasdb.example.com -P 3306 -u trillian -p mypassword123 -D trillian < dbconfig.sql
ワークステーションでターミナルを開き、OpenShift にログインします。
構文
oc login --token=TOKEN --server=SERVER_URL_AND_PORT
例
$ oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443
注記OpenShift Web コンソールからコマンドラインで使用するログイントークンと URL を確認できます。OpenShift Web コンソールにログインします。ユーザー名をクリックし、Copy login command をクリックします。入力を求められた場合はユーザー名とパスワードをもう一度入力し、Display Token をクリックしてコマンドを表示します。
以前に作成した MariaDB インスタンス内の Trillian データベースの認証情報を含む新しい Secret を作成します。
構文
oc create secret generic OBJECT_NAME \ --from-literal=mysql-database=trillian \ --from-literal=mysql-host=FQDN_or_SERVICE_ADDR \ --from-literal=mysql-password=PASSWORD \ --from-literal=mysql-port=3306 \ --from-literal=mysql-root-password=PASSWORD \ --from-literal=mysql-user=USER_NAME
例
$ oc create secret generic trillian-mysql \ --from-literal=mysql-database=trillian \ --from-literal=mysql-host=mariadb.trusted-artifact-signer.svc.cluster.local \ --from-literal=mysql-password=mypassword123 \ --from-literal=mysql-port=3306 \ --from-literal=mysql-root-password=myrootpassword123 \ --from-literal=mysql-user=trillian
MariaDB インスタンスには OpenShift 内部サービス名を使用できます。
- これで、このデータベースを使用するために Trusted Artifact Signer サービスをデプロイできるようになりました。Trusted Artifact Signer のインストール手順に従っていた場合は、次の手順 に進むことができます。