Microsoft Azure Cloudでの証明書のインストール
本ページに記載されているインストール方法は、基本的な構成を元にしています。
システム環境等の設定状況により、手順や画面表示が異なることがあります。
アプリケーションやツールなどの仕様や設定手順等でご不明な点がある場合は、それらのマニュアルをご確認いただくか、開発元にご連絡ください。
※この手順によって生じた影響や結果について、弊社では一切の責任は負いかねます。
システム環境等の設定状況により、手順や画面表示が異なることがあります。
アプリケーションやツールなどの仕様や設定手順等でご不明な点がある場合は、それらのマニュアルをご確認いただくか、開発元にご連絡ください。
※この手順によって生じた影響や結果について、弊社では一切の責任は負いかねます。
Microsoft Azure CloudサービスでのSSL証明書利用の考え方についてはMicrosoft Azure クラウドサービスでのSSL証明書入門を参照してください。
Microsoft Azure Cloud サービスでのSSL証明書のインストールには、「.pfx 書式の証明書」と「証明書の fingerprint (拇印) 」が必要です。
以下のページを参照し、準備しておいてください。
Microsoft Azure Cloud サービス設定ファイルを準備する
Microsoft Azure Cloudサービスでhttps接続を行うためには、Microsoft Azure Cloud サービス設定ファイル「サービス定義ファイル (CSDEF)」と「サービス構成ファイル (CSCFG)」でのいくつかの指定が必要になります。
「サービス定義ファイル (CSDEF)」への追加事項
-
WebRole セクションのサブセクション Certificates を追加Certificate name (証明書の名前)、Certificate storeLocation (証明書の場所)、Certificate storeName (証明書のストア名) を指定します。
Certificate nameには任意の名前が指定できます。
Certificate storeLocationは一般には LocalMachine です。
Certificate storeNameはCAが一般ですが、「My, Root, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook」なども指定できます。<WebRole name="CertificateNew" vmsize="Small"> ... <Certificates> <Certificate name="SampleCertificate" storeLocation="LocalMachine" storeName="CA"> </Certificates> ... </WebRole>
-
WebRole セクションのサブセクション Endpoints を追加InputEndpoint nameにHttpsInを、InputEndpoint protocolにhttpsを、InputEndpoint portに443を、InputEndpoint certificateにCertificate nameとして指定してある証明書の名前をそれぞれ指定します。
<WebRole name="CertificateNew" vmsize="Small"> ... <Endpoints> <InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="SampleCertificate"> </Endpoints> ... </WebRole>
-
Sitesセクションのサブセクション Bindings を追加Binding nameにHttpsIn、Binding endpointNameにHttpsInを指定します。
<WebRole name="CertificateTesting" vmsize="Small"> ... <Sites> <Site name="Web"> <Bindings> <Binding name="HttpsIn" endpointName="HttpsIn"> </Bindings> </Site> </Sites> ... </WebRole>
「サービス構成ファイル (CSCFG)」への追加事項
-
Role セクションのサブセクション Certificates を追加Certificate nameに、「サービス定義ファイル (CSDEF)」でCertificate nameとして指定してある証明書の名前を、Certificate thumbprint に サーバ証明書のfingerprint (拇印)を 、Certificate thumbprintAlgorithmに fingerprint (拇印) のアルゴリズムをそれぞれ指定します。
<Role name="Deployment"> ... <Certificates> <Certificate name="SampleCertificate" thumbprint="9427befa18ec6865a9ebdc79d4c38de50e6316ff" thumbprintAlgorithm="sha1"> </Certificates> ... </Role>
展開パッケージ作成
cspackを使用している場合は、/generateConfigurationFileフラグは使用しないでください。このフラグがあると、上の手順で指定した設定が反映されません。
クラウドサービス設定と証明書のアップロード
- ブラウザで「Microsoft Azure Management Portal」にログインします。
-
「クラウドサービス」を選択し「新規」をクリックします。
-
「コンピューティング」「クラウドサービス」で「カスタム作成」をクリックします。
-
「クラウドサービス」の「URL」を指定し(ここでは、cloudapp.netのサブホストを指定します)、「地域またはアフィニティグループ」を選択したら、「クラウド サービス パッケージをデプロイします。」にチェックを入れ、画面右下の右向き矢印をクリックします。
-
「クラウド サービスの発行」ウィンドウで「デプロイ名」に任意の名称を登録します。
「パッケージ」は「ローカルから」あるいは「ストレージから」参照し、パッケージを指定します。
同様に「構成」では「ローカルから」あるいは「ストレージから」参照し、上記で作成した .cscfgファイルを指定します。
「環境」では「運用」を選択し、「デプロイの開始」、「証明書の追加」にチェックを入れます。
「1つ以上のロールに単一のインスタンスが含まれている場合でもデプロイします。」は必要に応じチェックを入れてください。
すべての指定が終わったら、画面右下の右向き矢印をクリックします。 -
「証明書の追加」ウィンドウでは「証明書」でローカルコンピュータに保存済みの .pfx 証明書ファイルを参照し指定します。
「パスワード」で .pfx証明書ファイルを作成した時に設定したパスワードを指定します。
「証明書のアタッチ」をクリックし、画面右下の「チェックマーク」をクリックします。 - 少し待つと、「クラウドサービス」作成に成功したことが表示されます。
DNS設定
作成されたクラウドサービスに安全が保障されたhttpsプロトコルで接続するためには、DNSの設定が必要です。
「カスタムドメイン(例: your_domain.jp)のサブホスト(例: www.your_domain.jp)のDNS設定を行います。」を参照し、設定を行ってください。
DNSへの変更が有効になるまでに1日以上の時間がかかることがあります。有効になるまでの時間は、DNSのTTL値として設定されています。あらかじめDNS管理者にTTL値を確認するか、TTL値を最短に設定してもらうかを行うと良いでしょう。