既存ドメインのテナントを変更する

既存のドメインを新規ドメインに変更したい場合の手順は以下になります。この作業の実施の前に、まずは以下をご確認ください。

  1. Safousセールスチームにご連絡いただき、テナントでカスタムドメインを使用する許可を得てください。
  2. Safous L2 Teamが行う必要があるステップがあるため、事前に support@safous.com に連絡をお願いします。

準備フェーズ

ドメイン変更を行う前に、お客様側で行っていただくことがいくつかあります。

  1. ユーザーポータルが正常に動作していることを確認します。
    a.  お客様のユーザーポータルにアクセスします。 
    b.  複数のアプリケーションにアクセスします。 
  2. すべてのユーザーアクセスを遮断します。
    a.  Admin portalへアクセスします。
     i.  中国テナント以外 https://portal.safous.com/
     ii. 中国テナント https://portal.safous.cn/

    b.  管理アカウントにてログインし、Settings Accounts > Usersに進み、全てのテナントユーザーへのアクセスをDisableにしてください。
    undefined-Sep-12-2022-08-33-21-38-AM

  3.  App Gatewayコンテナのlogを確認してください。 
    a.  App GatewayのVMに移動します。
    b.  IDACコンテナのログを確認します。

    docker logs -f config_idac _1

    Log 上のaccepting connections from upstream の状態を確認する事で、IDACが正常にトラフィックを提供できるかどうかを確認します。
    undefined-3

    以上の準備を完了してから実行段階に移ります。 

 

実行フェーズ

  1. 以下の様に、Cyolo, Safousとblobs directoryのバックアップを取っておいてください。
    1. Cyolo directory
      cp -ipa /etc/cyolo /etc/cyolo-backup
      ls -lah /etc/cyolo-backup
    2. Safous directory
      cp -ipa /etc/safous /etc/safous-backup
      ls -lah /etc/safous-backup
    3. Blobs directory

      cp -ipa /blobs /blobs-backup

      ls -lah /blobs-backup

  2. 既存SSL certificateの確認をします。

    a.  etc/cyolo/certs に証明書ファイルがあるかどうか確認します。
      

    cd /etc/cyolo/certs

    b.  SSL証明書が有効かどうかの確認をします。 

    openssl x509 -noout -subject -dates -in cert.pem

    c.  SSL証明書が有効でない場合、こちらのKBを参照してSSL証明書を手動で更新してください。

  3. エンドポイントを変更し、SSL証明書サーバーを再設定します。
    この作業はSafous L2チームが行いますので、Safousサポートにご連絡ください。サポートするために、お客様のドメイントークンをご提供ください。このコマンドを実行することで情報を取得できます。

    cat /etc/safous/.config

     

  4.   新しい証明書の取得

    a. .configファイルのCERT_AUTHからドメインを変更します(古いドメインから新しいドメインへ) 。
    undefined-Sep-12-2022-08-33-21-79-AM

    b. 新ドメイン用の証明書を取得します。
    i.  新しいドメインで更新した.configファイル内のCERT_AUTHの値をコピーします。

    ii.  変数CERT_AUTHの定義
     前にコピーしたCERT_AUTHの値を入力します。
    例)

    CERT_AUTH=<NEWDOMAIN>:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    このコマンドを実行し、入力した値と同じ値が返ってくることを確認します。

    echo $CERT_AUTH


    iii.  新しい証明書の生成

      mkdir /tmp/safous-certs && cd /tmp/safous-certs

      中国テナントの場合: 

      sudo bash < <( curl -s -u "$CERT_AUTH" https://cert-gen.ztna.safous.cn/cert.cgi)

      中国テナント以外の場合: 

      sudo bash < <( curl -s -u "$CERT_AUTH" https://cert-gen.ztna.safous.com/cert.cgi)

      SSL証明書が正常に生成されたかどうかを確認します。

      ls -lah /tmp/safous-certs


      iv.  新しい証明書が有効かどうかを確認します。 

      openssl x509 -in /tmp/safous-certs/cert.pem -noout -dates -subject


      v.  新ドメインの証明書ファイルをcyoloディレクトリにコピーします。 

      cp /tmp/safous-certs/cert.pem /etc/cyolo/certs/cert.pem
      cp /tmp/safous-certs/key.pem /etc/cyolo/certs/key.pem 
      ls -lah /etc/cyolo/certs

       

    1. IDAC コンテナの再構築

      a.  IDACコンテナを再作成します
      docker-compose -f /etc/cyolo/config/docker-compose.yml up -d


      b.  IDACが正常に作動し、トラフィックを提供できるかを確認します。

        docker logs -f config_idac_1

         Log上で、accepting connections from upstreamになっているかを確認し、IDACが正常にトラフィックを提供できるかどうかを確認します。
        undefined-3

      1. Domain mappingの変更をします。
        docker exec -it config_idac_1 ./idac tinker sql exec ¥
        "UPDATE mappings set domain = (SELECT id FROM domains WHERE name = '<NEW DOMAIN>');"
        docker exec -it config_idac_1 ./idac tinker sql exec ¥
        "DELETE from domains where id= (SELECT id FROM domains WHERE name = '<OLD DOMAIN>');"

        実装フェーズが終わると、検証フェーズに進みます。
         

      検証フェーズ

      • ユーザーポータルが正常に動作しているか確認してください。
      1. お客様のユーザーポータルにアクセスします。
      2. 複数のアプリケーションにアクセスします。

      ユーザーポータルにアクセスできるようになるまで、数分かかる場合があります。

      お客様のユーザーポータルが正常に動作している場合は、すべてのユーザーを有効にする手続きを行ってください。

      • Admin accountにてログインしSettings Accounts > Users に進みます。
         お客様のテナント内のすべてのユーザーを有効にします。 
        undefined-4



      ロールバック

      お客様のユーザーポータルが機能しない場合は、以下の手順を実行してください。

      最初のステップのバックアップファイルを間違えて削除しないようにご注意ください。

      1. 既存のコンテナを止めてください。
        a.  IDAC containers

        sudo docker -f /etc/cyolo/config/docker-compose.yml stop

         

        b.  Safous containers

        sudo docker -f /etc/safous/user-portal/docker-compose.yml stop

      2.  Cyolo, safousとblobs directoryのロールバック 
        a.  Cyolo directory

        rm -rf /etc/cyolo

        cp -ipa /etc/cyolo-backup /etc/cyolo

        b.  Safous directory

        rm -rf /etc/safous

        cp -ipa /etc/safous-backup /etc/safous

        c.  Blobs directory

          rm -rf /blobs

          cp -ipa /blobs-backup /blob

        1. IDAC container logをチェックしてください。

          docker logs -f config_idac_1

           Accepting connections from upstream 部分を確認し、IDACが正常にトラフィックを提供できるかどうかを確認します。 
          undefined-3

        2. ユーザーポータルに再度アクセスしてください。
          a.  お客様のユーザーポータルにアクセスします。
          b.  複数のアプリケーションにアクセスします。 

         

        クリーンアップ

        導入・検証フェーズやロールバック処理が成功したら、初期フェーズで作成したバックアップデータのクリーンアップをお願いします。

        rm -rf /etc/cyolo-backup

        rm -rf /etc/safous-backup

        rm -rf /blobs-backup 

        ドメイン移行作業中に何かトラブルが発生した場合は、すぐに support@safous.com に連絡し、Safous Supportでサポートを受けてください。