AWSでSSL証明書を設定する
Cloud Pak for Data
AWS上のNetezza Performance Serverに独自のSSL証明書を設定する方法をご紹介します。
始める前に
- ドメイン/サーバーSSL証明書
.pem形式であることを確認してください。 そうでない場合は変換する。 また、名前を「server-cert.pem」に変更する必要がある。 - サーバーキー。
server-key.pemにリネームする必要がある。 - CA証明書またはルート証明書。
cacert.pemにリネームする必要がある。- 名前空間。
手順
- Red Hat OpenShiftクラスターにログインします。以下のコマンドを実行することで、コマンドラインからRed Hat OpenShiftクラスターにログインできます。
oc login https://api.<CLUSTER_NAME>.<ROUTE53_DNS>:6443 --insecure-skip-tls-verify -u kubeadmin -p <password>インストールスクリプトは、Red Hat OpenShiftクラスターのログイン情報を '<installation_script_execution_directory>/envs/<CLUSTER_NAME>/assets/oc_login_details に書き込みます。 Red Hat OpenShiftは、インストール中にロール「cluster-admin」を持つデフォルトのユーザー「kubeadmin」を作成します。 クラスタのパスワードは'<installation_script_execution_directory>/envs/<CLUSTER_NAME>/assets/auth/kubeadmin-passwordファイルに保存される。 - デフォルトのSSL秘密をあなたの秘密で置き換える。
export NAMESPACE=<ns> oc -n $NAMESPACE delete secret ssl-secret oc -n $NAMESPACE create secret generic ssl-secret --from-file=cacert.pem --from-file=server-cert.pem --from-file=server-key.pem - Netezza Performance Server コンソールを再起動します。
oc -n $NAMESPACE delete pod -l app=console # wait for the pod to restart, be RUNNING and Ready=1/1 # then press Ctrl-C oc -n $NAMESPACE get pod -w -l app=console NAME READY STATUS RESTARTS AGE console-8696c4f97c-wbjtq 0/1 Running 0 67s console-8696c4f97c-wbjtq 1/1 Running 0 86s ^C - SSL証明書が'Netezza Performance Serverのインストール時に指定された'
host nameと'domain nameと一致するかどうかを確認する。nz-cloudコマンドを実行したインストール・ディレクトリでSLL証明書を確認できます。# eg On the system that nz-cloud was run from, in the install directory cat envs/lontest2/assets/cp4d_login_details cp4d_USERNAME=admin cp4d_PASSWORD=...... cp4d_CONSOLE_URL=https://zen-cpd-zen.apps.{cluster-name}.ibmnzcloud.com #SSL証明書がクラスタ・ドメインを使用している場合は、ステップ4に進みます。
SSL証明書が'*.{ssl-cert-domain}.comに対して有効であるが、クラスタが'*.{cluster-name}.foobar.comとしてインストールされている場合、以下のサブステップを実行します。- クラウドプロバイダーのDNSエントリに、以下の
CNAMEエイリアスを追加します。{cluser-name}-cpd.{ssl-cert-domain}.comこのエイリアスは Cloud Pak for Data ウェブコンソールの URL です。
CNAMEが'zen-cpd-zen.apps.{cluster-name}.ibmnzcloud.comを指していることを確認する。{cluser-name}-console.{ssl-cert-domain}.comこのエイリアスは Netezza Performance Server Web コンソールの URL です。
CNAMEがウェブ・コンソールを指していることを確認してください。oc -n $NAMESPACE get svc console | awk '{print $4}'{cluster-name}-nps.{ssl-cert-domain}.comこのエイリアスはNetezza Performance Serverデータベース自体のエイリアスです。
CNAMEがNetezza Performance Serverサービスを指していることを確認します。oc -n $NAMESPACE get svc ipshost-external | awk '{print $4}'- これらのエイリアスを反映し、使用するようにRed Hat OpenShiftルートを設定します。
oc create route passthrough --service=console --port=443 -n $NAMESPACE \ --hostname={cluster-name}-console.{ssl-cert-domain}.com oc create route passthrough -n zen --service=ibm-nginx-svc --port=ibm-nginx-https-port \ --hostname={cluster-name}-cpd.{ssl-cert-domain}.com - Netezza Performance Server コンソールポッドをリサイクルします。
oc -n $NAMESPACE scale deployment -l app=console --replicas=0 oc -n $NAMESPACE get pods -w -l app=console # ... wait until all console pods go away and then press Ctrl-C oc -n $NAMESPACE set env deployment -l app=console CPD_HOST={cluster-name}-cpd.{ssl-cert-domain}.com oc -n $NAMESPACE scale deployment -l app=console --replicas=1 oc -n $NAMESPACE get pods -w -l app=console # ... wait until console pods go to Running state then press Ctrl-C
- クラウドプロバイダーのDNSエントリに、以下の
- この Cloud Pak for Data ガイドに従って、SSL 証明書を Cloud Pak for Data ポータルに設定します。