Google Compute Engine環境での公開
次に、Google Compute Engine環境に帳票アプリをデプロイし、公開する手順を紹介します。
公開環境を構築する
Compute Engineの利用に先立ち、Googleアカウントを作成し、プロジェクトの作成と請求書アカウントの登録が必要です。未作成の方は「無料トライアルと無料枠」から作成しておいてください。
Google Cloudには、使用量の上限までの範囲で無料で利用できるプロダクトがあり、Compute Engineでは1つのe2-microインスタンスがそれに相当します。Compute Engineでは、仮想マシンをインスタンスと呼びます。無料枠については、「Compute Engineの無料枠」に詳細があるので、これに沿ってインスタンスを作成します。
Google Cloudアカウントを取得したら、上記ページの[コンソール]からコンソールにアクセスしてGoogle Cloudコンソールを開きます。ここで[Compute Engine]をクリックして[有効にする]をクリックします(図7)。
しばらく待つと、「VMインスタンス」のページが表示されます。右側にチュートリアルが表示されたら閉じておきましょう。2箇所ある[インスタンスを作成]をクリックすると「インスタンスの作成」ページとなるので、ここでインスタンスを作成します。
「名前やリージョンの設定」ではインスタンスの名前やスペックを設定します。[名前]にはインスタンスの名称を設定します。ここでは、「activereports-app-server」としました。英子文字、数字、ハイフンの組み合わせである必要があります。[リージョン]は無料枠の対象のうち日本に近い「us-west1(オレゴン)」とし、[ゾーン]は既定値のままにしておきます。「マシンの構成」は「汎用」の「E2」のままにしておきます(図8)。
「マシンタイプ」は無料枠適用の構成である「e2-micro」に変更します。「可用性ポリシー」と「表示デバイス」の各項目は全て既定値のままとしておきます(図9)。
「ブートディスク」では、以下のように設定を変更します。[OS]は「Ubuntu」に、[バージョン]は「Ubuntu 22.04 LTS」に、[ブートディスクの種類]は「標準永続ディスク」に、[サイズ]は「30GB」にそれぞれ変更します。無料枠が適用されるのは無償のOS、標準永続ディスク、容量30GBとなるので、それに沿った設定です(図10)。
「ファイアウォール」では[HTTPトラフィックを許可する][HTTPSトラフィックを許可する]にチェックを入れます(図11)。
なお、料金の見積りが「$7.31」などと表示されると思いますが、無料枠の範囲で機能を選択すると実際には課金されません。ここで[作成]をクリックすると、インスタンスが作成されます。「作成中」と表示されてしばらくすると、インスタンスの一覧が表示されれば成功です(図12)。「ステータス」欄が緑色のチェックマークになっていれば実行中なので、不要な場合には右端の縦三点アイコン(その他の操作)から[停止]をクリックしてください。
インスタンスへ接続してデプロイする
続いて、インスタンスに接続して帳票アプリをデプロイしましょう。ブラウザSSHでログインします。図12においてインスタンス欄の[SSH]をクリックして、ドロップダウンから[ブラウザでのSSH]をクリックします。承認を求めるダイアログがポップアップするので、[Authorize]をクリックします。接続されると、ブラウザのウィンドウが新しく開き、ターミナル画面が表示されます(図13)。ここで、スタンドアロンでSSH接続したときと同様に操作できます。
.NET 6のランタイムをインストールしておきます。以下のコマンドを実行します。
$ sudo apt-get update $ sudo apt-get install -y aspnetcore-runtime-6.0
帳票アプリのデプロイは、Windows側からのファイルアップロードで行いますが、scpコマンドは使用せず、SSH接続のアップロード機能で行ってみます。それに先立ち、Windows側で公開フォルダであるpublishフォルダ以下を圧縮しておきます(仮にファイル名はpublish.zipとします)。このファイルを、ブラウザSSHの[ファイルをアップロード]をクリックしてファイルを選択し、インスタンスに転送します(図14)。
転送が終了すると「1個の項目を転送しました」と右下に表示され、ホームディレクトリにファイルが置かれるので、これを解凍します。.zipファイルを解凍するためにzipパッケージをインストールし、unzipコマンドで解凍します。これで、ホームディレクトリにpublishディレクトリが作成されます。
$ sudo apt-get install -y zip $ unzip publish.zip
フォントをインストールします。IPAexフォントのみ使っている場合には、fonts-ipafontのインストールは不要です。
$ sudo apt install -y fonts-ipafont $ sudo apt install -y fonts-ipaexfont
動作確認する
帳票アプリを起動して、動作を確認しましょう。ブラウザSSHで、以下のコマンドを実行します。sudoコマンドを使っているのは、特権ポート(80)でアプリを公開するためです。また、公開するURLをASPNETCORE_URLS環境変数で指定しています。
$ sudo ASPNETCORE_URLS=http://*:80 dotnet JSViewerSample.dll
Webブラウザから、URL「http://外部IPアドレス:80」にアクセスします。外部IPアドレスは、VMインスタンスの情報欄に表示されていますから、それを指定してください。図15のようにブラウザに帳票が表示されれば成功です。PDFへの書き出しも試してみてください。