株式会社クニエ 百瀬です。
弊社の事例で、HCPを利用したWebアプリケーション開発を行う際に、お客様のドメイン下のサブドメインとしてHCPアプリを利用したいと言う要望が有りました。
例えば、www.ABC.comというドメインに、サブドメインhoge.ABC.comを追加して利用したいと言う要望です。
その手順について以下に記述したいと思います。
■Custom Domainの設定手順
1.概要
■Custom Domainを登録するには、 HANA Cloud Platform Tools のNeoコマンドを使用する必要が有る。
Neoコマンドを利用するにはHCP SDKのインストールが必要。
またHCP SDKのインストールにはJAVA(JRE6もしくはJRE7)のインストールが必要。
■HANA Cloud Platform Tools(Java Web)
HCP SDKは以下のリンクからneo-java-web-sdk-XXXXX.zipをダウンロードする。
–https://tools.hana.ondemand.com/#cloud
■HANA Cloud Platform Toolsをインストールしたら、コマンドラインプロンプトから、
インストールディレクトリ以下の「tools」へ移動して、Neoコマンドを実行する。
(例:cd \neo-java-web-sdk-1.89.21\tools)
■Neoコマンドの実行時は、HOST(「ap1.hanaondemand.com」など)及びアカウント名、HCPユーザーアカウント(「S9999999999」など)、ユーザーパスワードが必要。
■以下の例では、ABC株式会社のカスタムドメインhoge.ABC.comを登録するケースを説明します。
2. SSLホストを登録する
■Custom Domainの登録を行うには、まず最初にSSLホストを登録する。
•文法
neo create-ssl-host --account <アカウント名> --user <HCPユーザーID> --host <サイトを含むホスト名> --name <任意の名称>
•コマンド例
neo create-ssl-host --account abcdefghi --user S9999999999 --host ap1.hana.ondemand.com --name hoge.hoge
•レスポンス
SAP HANA Cloud Platform Console Client
Create a SSL host
host : https://certmanager.ap1.hana.ondemand.com
account : abcdefghi
name : hoge.hoge
SDK version: 1.81.13
user : S9999999999
Password for your user:
A new SSL host ‘tco.mftbc’ was created and is now accessible on ‘AP1<12桁の数字>.ssl.ondemand.com'
※重要:上記赤字の部分のURLをカスタムドメインと紐付けてDNSに登録する必要が有る。(後で説明する)
例:hoge.ABC.com⇔AP1999999999999.ssl.ondemand.com
3. CSR(Certificate Signing Request)の生成
■次にCSR(Certificate Signing Request)を生成する。
•文法
neo generate-csr --account <アカウント名> --user <HCPログインユーザー> --host <サイトを含むホスト名>
--name <任意の証明書名> --certificate-distinguished-name "C=<国コード>JP,ST=<県コード>,
L=<Cityコード>,O=<組織名>,OU=<組織ユニット名>,CN=<サイト証明書のドメイン名>
•コマンド例
neo generate-csr --account abcdefghi --user S9999999999 --host ap1.hana.ondemand.com
--name hoge_cert --certificate-distinguished-name "C=JP,ST=Kanagawa,
L=Kawasaki,O=ABC Corporation,
OU= IT Dept,CN=hoge.ABC.com
•レスポンス
SAP HANA Cloud Platform Console Client
Generate CSR
host : https://certmanager.ap1.hana.ondemand.com
account : abcdefghi
certificate-distinguished-name :C=JP,ST=Kanagawa,L=Kawasaki,O=ABC Corporation,OU= IT Dept,CN=hoge.hoge.com
name : hoge-cert
SDK version : 1.81.13
user : S9999999999
Password for your user:
Certificate signing request generated. Copy and paste the text below to your certificate authority.
※生成されたCSRのBEGINからENDまでの部分をテキストファイルに張り付けて、CA申請を行う。
4. CA申請
■Custom Domainの登録を行うには、認証局にCA申請を行う必要が有る。サブドメインとして登録する場合、コーポレートサイトの認証を取得する。
•認証局に対し、「3.CSRの生成」でHCPが生成したCSRを送付しCAを受領する。
•レスポンス
※下記のテキストファイルが認証局より発行される
5. CAのSSLホストへのアップロード
■認証局より受領したCAをSSLホストに登録する。
•文法
neo upload-domain-certificate --account <アカウント名> --user <HCPログインユーザー名> --host <サイトを含むホスト名>
--name <CSR生成時に指定したcert名>
--location <Certificationファイルのディレクトリ(相対パス)およびファイル名>
•コマンド例
neo upload-domain-certificate --account abcdefghi --user S9999999999 --host ap1.hana.ondemand.com
--name hoge_cert --location ./cert.cer.txt
•レスポンス
SAP HANA Cloud Platform Console Client
Upload public key
host : https://certmanager.ap1.hana.ondemand.com
account : abcdefghi
name : hoge_cert
location : ./cert.cer.txt
SDK version : 1.81.13
user : S9999999999
Password for your user:
SSL certificate ‘hoge_cert' uploaded.
※上記赤字下線の内容が表示されている事を確認する。
6. CAのSSLホストとのバインド
■アップロードしたCA認証をSSLホストとバインドする。
•文法
neo bind-domain-certificate --account <アカウント名> --user <HCPログインユーザー名> --host <サイトを含むホスト名>
--ssl-host <SSLホスト登録時に指定した名称> --certificate <CSR生成時に指定したcert名>
•コマンド例
neo bind-domain-certificate --account abcdefghi --user S9999999999 --host ap1.hana.ondemand.com
--ssl-host hoge.hoge --certificate hoge_cert
•レスポンス
SAP HANA Cloud Platform Console Client
Sets a certificate to an SSL host. The certificate must already be uploaded.
host : https://certmanager.ap1.hana.ondemand.com
account : abcdefghi
certificate: hoge_cert
ssl-host : hoge.hoge
SDK version: 1.81.13
user : S9999999999
Password for your user:
Certificate ‘hoge_cert' bound to SSL host ‘hoge.hoge'.
※赤字下線の内容が表示されている事を確認する。
7. Custom Domainの設定
■Custom Domainを登録し、Application URLの紐付を行う。
•文法
neo add-custom-domain --account <アカウント名> --user <HCPログインユーザー名> --host <サイトを含むホスト名>
--custom-domain <カスタムドメインのURL> --application-url <アプリケーションのURL>
--ssl-host <SSLホスト登録時に指定した名称>
•コマンド例
neo add-custom-domain --account abcdefghi --user S9999999999 --host ap1.hana.ondemand.com
--custom-domain hoge.ABC.com
--application-url https://zzzabcdefghi.ap1.hana.ondemand.com/hoge/ --ssl-host hoge.hoge
•レスポンス
SAP HANA Cloud Platform Console Client
Map a custom domain to an application URL.
host : https://certmanager.ap1.hana.ondemand.com
account : abcdefghi
ssl-host : hoge.hoge
custom-domain : hoge.ABC.com
application-url: zzzabcdefghi.ap1.hana.ondemand.com/hoge/
SDK version : 1.81.13
user : S9999999999
Password for your user:
Custom domain ‘hoge.ABC.com' set for application ‘zzzabcdefghi.ap1.hana.ondemand.com/hoge/'
※赤字下線の内容が表示されている事を確認する。
8. DNSへのSSLホストの登録
■DNSへ最初に登録したSSLホストを登録する。
•サブドメインの場合、顧客側のDNSサーバーにSSLホストを登録を依頼する。
※重要:DNSに直接カスタムドメインを登録するとSSLエラーになるので注意する。
例: 〇:SSLホスト AP1<12桁の数字>.ssl.ondemand.com
×:カスタムドメイン hoge.ABC.com ←SSLエラーになる。
9. APPENDIX(誤って登録した場合の修正手順)
■Custom Domainの削除
•文法
neo remove-custom-domain --account <アカウント名> --user <HCPログインユーザー名> --host <サイトを含むホスト名>
--custom-domain <カスタムドメインのURL> --ssl-host <SSLホスト登録時に指定した名称>
•コマンド例
neo remove-custom-domain --account abcdefghi --user S9999999999 --host ap1.hana.ondemand.com
--custom-domain hoge.ABC.com --ssl-host hoge.hoge
•レスポンス
SAP HANA Cloud Platform Console Client
Remove custom domain as access point of application.
host : https://certmanager.ap1.hana.ondemand.com
account : abcdefghi
ssl-host : hoge.hoge
custom-domain : hoge.ABC.com
SDK version : 1.81.13
user : S9999999999
Password for your user:<HCPログインパスワード>
Application with URL ‘zzzabcdefghi.ap1.hana.ondemand.com/hoge/' is not accessible anymore with custom domain ‘hoge.ABC.com'
■CAのSSLホストとのバインド解除
•文法
neo unbind-domain-certificate --account <アカウント名> --user <HCPログインユーザー名> --host <サイトを含むホスト名>
--ssl-host <SSLホスト登録時に指定した名称>
•コマンド例
neo unbind-domain-certificate --account abcdefghi --user S9999999999 --host ap1.hana.ondemand.com --ssl-host hoge.hoge
•レスポンス
SAP HANA Cloud Platform Console Client
Unbinds a certificate from an SSL host. The certificate will not be deleted from
SAP HANA Cloud Platform storage.
host : https://certmanager.ap1.hana.ondemand.com
account : abcdefghi
ssl-host-name : hoge.hoge
SDK version : 1.81.13
user : S9999999999
Password for your user:
Certificate ‘hoge.hoge’ removed from SSL host ‘AP1999999999999.ssl.ondemand.com'.