Microsoft Azure仮想マシン環境での公開
最後に、Microsoft Azure仮想マシン環境に帳票アプリをデプロイし、公開する手順を紹介します。
公開環境を構築する
Azureの利用には、MicrosoftアカウントかGitHubアカウントが必要です。いずれのアカウントも持っていない場合は、あらかじめ作成しておきます。筆者は、Microsoftアカウントを使用しました。「Azure の無料アカウントを今すぐ作成する」にアクセスし、[無料で始める]からサインアップを済ませます。
Azureポータル「ホーム」にアクセスします。サインアップ直後に誘導されると「クイックスタートセンター」にアクセスしますが、ここではAzureポータルに直接アクセスしたとして説明を進めます。
「Azureサービス」にある[Virtual Machines]にマウスポインタを乗せると、「Virtual Machines」がポップアップするので、[+作成]をクリックします。表示されるドロップダウンから、[Azure仮想マシン]をクリックすると「仮想マシンの作成」ページになるので、ここで仮想マシンの仕様を決定していきます。基本的には、文字通り「基本」タブの設定だけで済むので、他のタブの項目は既定値のままでかまいません(図16)。
「プロジェクトの詳細」セクションで、サブスクリプションとリソースグループを設定します。サブスクリプションは既定の「Azure subscription 1」のままで、リソースグループは新規に作成します。[新規作成]リンクをクリックして、リソースグループ名を指定します。ここでは、「ResourceGroup」としました。
「インスタンスの詳細」セクションで、仮想マシンの名前などを設定します。[仮想マシン名]に、仮想マシンの名前を設定します。ここでは、「ActiveReportsServer」としました。[地域]は既定から「(Asia Pacific) Japan East」に変更します。[イメージ]は「Ubuntu Server 22.04 LTS - 64 Gen2(利用可能な無料サービス)」に変更します。その他の項目は既定値で構いません。[サイズ]は「Standard_D2s_v3 - 2 vcpu 数、8 GiBのメモリ($94.17/月)」のままとしておきますが、上の表示にもあるように無料試用期間中であれば課金されません(図17)。
「管理者アカウント」セクションで、ログインの方法やユーザ名などを設定します。これらの項目は自動生成される既定値で構いません。[認証の種類]は「SSH公開キー」となっていること、[ユーザー名][キーの組名]の内容を確認してください。
「受信ポートの規則」セクションで、外部からアクセス可能なサービス(ポート)を設定します。[パブリック受信ポート]が「選択したポートを許可する」となっていることを確認し、[受信ポートを選択]をプルダウンして「HTTP(80)」と「HTTPS(443)」にチェックを入れます。ここまで設定したら、[確認および作成]をクリックします(図18)。
「検証に成功しました」と表示されて、「Price」セクションに課金の見積り、「基本」セクションなどに設定内容が表示されます。設定内容を確認して[作成]をクリックすると、「新しいキーの組の作成」ダイアログがポップアップするので、[秘密キーのダウンロードとリソースの作成]をクリックして、キーのファイルをダウンロードしてください。ファイルは、「管理者アカウント」セクションで指定したファイル名.pemでダウンロードされます。
画面が切り替わり、「...デプロイが進行中です」としばらく表示されたあと、「デプロイが完了しました」と表示されれば仮想マシンの作成は成功です。[リソースに移動]をクリックすると、仮想マシンの詳細を確認したり、停止や再起動を行える画面となります(図19)。仮想マシンはすでに実行中です。
インスタンスへ接続してデプロイする
続いて、インスタンスに接続して帳票アプリをデプロイしましょう。SSHにログインします。図19において[接続]をクリックすると、SSHで仮想マシンに接続できます。「Azure CLI を使用した SSH」ではAzureストレージの新規作成が必要になるなど多少面倒なので、ここではオーソドックスな「ネイティブSSH」を選択します。[選択]をクリックすると、「ネイティブ SSH」パネルが右サイドから現れるので、一通り内容を確認したあと、コマンドをコピーしてからWindowsの「ターミナル」を起動し、コマンドをペーストして実行します。
> ssh -i ActiveReportsServer_key.pem azureuser@aaa.bbb.ccc.ddd
.NET 6のランタイムをインストールします。以下のコマンドを実行します。AzureのUbuntuではリポジトリが2種類あるので、このうちMicrosoftリポジトリを無効にしてから、Ubuntuリポジトリからパッケージをインストールする必要があります。
$ sudo apt remove 'dotnet*' 'aspnet*' 'netstandard*' $ sudo rm /etc/apt/sources.list.d/microsoft-prod.list $ sudo apt-get update $ sudo apt-get install -y aspnetcore-runtime-6.0
デプロイは、ターミナルに新しいタブを開いて、以下のscpコマンドで行います。キーペアファイルの場所、公開フォルダの場所、ホスト名は各自のものを指定してください。
> scp -r -i "ActiveReportsServer_key.pem" C:\Users\nao\source\nepos\JSViewerSample\JSViewerSample\bin\Release\net6.0\publish\* azureuser@aaa.bbb.ccc.ddd:/home/azureuser/app
フォントをインストールします。IPAexフォントのみ使っている場合には、fonts-ipafontのインストールは不要です。
$ sudo apt install -y fonts-ipafont $ sudo apt install -y fonts-ipaexfont
動作確認する
帳票アプリを起動して、動作を確認しましょう。サーバの起動とWebブラウザからの接続はCompute Engineと全く同じなので、そちらを参照してください。図20のようにブラウザに帳票が表示されれば成功です。PDFへの書き出しも試してみてください。
まとめ
今回は、ガバメントクラウド認定ベンダー3社のクラウド上にActiveReports for .NETを使用した帳票アプリケーションをデプロイする方法を紹介しました。ActiveReports for .NETではこのほか、Oracle Cloud Infrastructureにおいても同様にデプロイが可能です。デジタル庁が推進する「地方公共団体の基幹業務システムの統一・標準化」の取り組みにおいて、基幹業務などのアプリケーションをガバメントクラウド上に構築することが求められているので、本記事で紹介した方法を活用し、帳票アプリを作成してみてはいかがでしょうか。