BuildVu を Google Cloud Platform (GCP) にデプロイする
- WAR ファイルのダウンロードまたはビルド
- プロジェクトの作成
- 仮想マシン(VM) インスタンスの作成
- コンテナイメージのデプロイ
- ボリュームのマウント
- WAR ファイルのアップロード
- HTTPS 設定の完了
- BuildVu の実行
- 異なる言語クライアントからの BuildVu の実行
Google Cloud Platform で BuildVu を実行する最も簡単な方法は、スタンドアロンインスタンス上で単一のコンテナを実行することです。これは、インスタンス作成時にコンテナイメージを指定することで実現できます:
開始する前に、ダウンロードまたは自分でビルドした WAR ファイルが必要です。
この WAR ファイルは BuildVu サービスが動作するために 必須 です。
buildvu-microservice.war ファイルをダウンロードします。
トライアルユーザーは、トライアル登録 後の Docker セクションで WAR ファイルのダウンロードを見つけることができます。
BuildVu Microservice Example プロジェクトのコピーをビルドします。
手順は GitHub ページ
で確認できます。
WAR ファイルをダウンロードしたら、まず GCP でプロジェクトを作成します:

プロジェクトの準備ができると、次の画面が表示されます:

サイドバーの「Compute Engine」をクリックすると、次の画面が表示されます:
スピナーが消えると、「Create」ボタンがアクティブになります。これをクリックします。「Create Instance」画面が表示されます:

インスタンスに名前を付け、近くのリージョンを選択します。デフォルトのゾーンとマシン構成で問題ありません。

次に「Deploy a container image to this VM instance」にチェックを入れると、イメージ名を入力できる新しいフィールドが表示されます。idrsolutions/buildvu と入力します。

サーバーに認証を追加したい場合は、「Advanced container options」をクリックして、以下の環境変数を追加します:

BuildVu docker イメージが機能するためには、buildvu-microservice.war ファイルをマウントする 必要があります。これを実現するには、ボリュームマウントの下にある「Add volume」をクリックします。次のようにフォームに記入します。$USER を自分のユーザー名に置き換えてから、「Done」をクリックしてください。

変換による出力ファイルを永続的に保存したい場合は、それらを保存するための永続ボリュームをマウントする必要があります。再度「Add volume」をクリックして追加のボリュームを定義し、次のようにフォームに記入してから「Done」をクリックします。

HTTPS 暗号化を使用する予定の場合(推奨)、SSL 証明書と秘密鍵をアップロードできる追加のボリュームも定義する必要があります。

「Firewall」セクションまでスクロールして「Allow HTTP traffic」をクリックし、「Create」をクリックします。

インスタンスがビルドされ、準備ができると次の画面に表示されます:

このチュートリアルでは SSH 経由でこれを行う方法を示していますが、他の方法 も利用可能です。
インスタンスが作成されたら、数分待ってイメージがプルされ、コンテナが起動するのを待ちます。この段階で変更を加えた後、VM を再起動する 必要があります。「Connect」の下にある「SSH」をクリックします。次のようなウィンドウが開きます:

接続が確立されたら、ウィンドウの右上にある歯車アイコンをクリックし、「Upload file」を選択します。

WAR ファイルを選択して「Okay」をクリックします。
デフォルトでは、ボリュームマウントが設定されている /home/$USER ディレクトリにアップロードされます。
HTTPS を有効にする予定がある場合は、次のセクションに進んでください。
それ以外の場合は、これらの変更を行った後に VM を再起動して、サービスが正しく起動することを確認してください。コンテナが起動するまで再度数分待ってから、BuildVu の実行 に進みます。
HTTPS を有効にするには、インスタンスが実行されている状態で certificate.crt、private.key、ca_bundle.crt ファイルを /home/ssl にアップロードする必要があります。SSH ボタンをクリックして Web コンソールを開きます:


/home/ssl ディレクトリに移動し、certificate.crt という名前の新しいファイルを作成して、証明書ファイルの内容を貼り付けます。これは vim を使って行うことができます。
ファイルを開くには次のコマンドを使用します
sudo vim certificate.crt
ファイルが開いたら「i」を押して編集モードに入り、内容を貼り付けます。

ファイルを保存します(ESC の後に :wq ENTER)。次に、秘密鍵についても同じ操作を行い、ファイル名を private.key とし、証明書チェーンについても ca_bundle.crt という名前で同様に行います。
BuildVu は証明書の存在を検出し、HTTPS モードで起動します。すべての HTTP トラフィックは自動的に HTTPS 暗号化を使用するようにアップグレードされます。
これらの変更を行った後、VM を再起動してサービスが正しく起動することを確認してください。コンテナが起動するまで再度数分待ちます。
インスタンスが起動して実行されたら、「External IP」の横にあるアイコンをクリックします。提供した Web サービスのユーザー名とパスワードの入力を求められます。正しい場合は、「BuildVu Microservice Example」というテキストを含む BuildVu ウェルカム画面が表示されます。
これで http://<your_external_ip>/buildvu に対して API 呼び出しを行うことができます。
認証、複数ユーザー、API なしで変換されたファイルへのアクセスなどの追加機能を追加するには、docker イメージページ で詳細を確認できます。
インスタンスの使用を終了し、もう必要がなくなったら、GCP の料金が発生しないように削除することを忘れないでください:
警告: 上記の手順に従ってディレクトリを共有ボリュームとしてマウントした場合、インスタンスを削除するとマウントされたフォルダーも削除されます。保持したいドキュメントは必ずダウンロードしてください。

Docker サーバーが実行されている状態で、API を使用して変換を開始するためのチュートリアルに従うことができます。
