AWSでSSL証明書を設定する

Cloud Pak for Data

AWS上のNetezza Performance Serverに独自のSSL証明書を設定する方法をご紹介します。

始める前に

以下の証明書および物品があることを確認すること:
  • ドメイン/サーバーSSL証明書

    .crt形式であることを確認してください。 また、名前を「tls.crt」に変更する必要がある。

  • サーバーキー。

    tls.keyにリネームする必要がある。

  • CA証明書またはルート証明書。
  • ca.crtにリネームする必要がある。
  • 名前空間。
注:証明書/鍵はPEM形式でなければならないが、指定された名前でなければならない。

手順

  1. 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ファイルに保存される。
  2. 名前空間 'ibm-nz-cyclops-privateから既存の自己署名証明書カスタム・リソース・オブジェクトを削除します。 そうでない場合は、'ibm-nz-cyclops名前空間を使用する。
    oc delete  certificate  ibm-nz-cyclops-private-cert -n ibm-nz-cyclops-private
  3. 以下のコマンドを実行して、自己署名証明書からなる既存の秘密をカスタム証明書に置き換える。
    oc delete secret ips-ssl-certs -n ibm-nz-cyclops-private
    oc -n ibm-nz-cyclops-private create secret generic ips-ssl-certs --from-file=ca.crt --from-file=tls.crt --from-file=tls.key
  4. すべてのcyclopsコンソールポッドを再起動する。 レプリカの数は3に設定すること
    oc scale deployment <deployment-name> --replicas=0
    oc scale deployment <deployment-name> --replicas=<number of replicas>
  5. 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エイリアスを追加する。

    1. {cluser-name}-cpd.{ssl-cert-domain}.com

      このエイリアスは、 Cloud Pak for Data ウェブコンソールの URL 用です。

      CNAMEが'zen-cpd-zen.apps.{cluster-name}.ibmnzcloud.comを指していることを確認する。
    2. {cluser-name}-console.{ssl-cert-domain}.com

      このエイリアスはウェブコンソールの URL 用です。 Netezza Performance Server ウェブコンソールのものです。

      CNAMEがウェブ・コンソールを指していることを確認してください。
      oc -n $NAMESPACE get svc console | awk '{print $4}'

      ここで$NAMESPACEは、選択されたエンドポイントのタイプに応じて 'ibm-nz-cyclopsまたは 'ibm-nz-cyclops-privateになります。

      例:
      oc -n ibm-nz-cyclops-private get svc | awk '{print $4}'
    3. {cluster-name}-nps.{ssl-cert-domain}.com

      このエイリアスはNetezza Performance Serverデータベース自体のエイリアスです。

      CNAMENetezza Performance Serverサービスを指していることを確認します。
      oc -n $NAMESPACE get svc ipshost-external | awk '{print $4}'
    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
    5. すべてのcyclopsコンソールポッドを再起動する。 レプリカの数は3に設定しなければならない。
      oc scale deployment <deployment-name> --replicas=0
      oc scale deployment <deployment-name> --replicas=<number of replicas>
  6. これ'Cloud Pak for Dataガイドに従って、SSL 証明書を 'Cloud Pak for Dataポータルに設定します。
    注: ガイドのステップ7を実行する際、SSL証明書の名前を「cert.crt」に、キーの名前を「cert.key」に変更してください。