帳票アプリを主要クラウド上にデプロイして公開しよう──ActiveReports for .NETの活用例
帳票開発コンポーネント「ActiveReports for .NET」の活用術 第2回
ダウンロード サンプルファイル (1.2 MB)
基幹業務のデジタル化推進のために、国の行政機関や地方自治体が共通して利用できることを目指したIT基盤がガバメントクラウドです。本連載では、グレープシティの帳票開発コンポーネントであるActiveReports for .NETで業務対象帳票の表示や入力を行うアプリケーションを開発し、Amazon Web Services、Google Cloud、Microsoft Azureの3つの選定クラウドベンダーでIaaS環境を構築してアプリケーションを公開する事例を紹介します。
必要な環境
本記事のサンプルコードは、以下の環境で動作を確認しています。
- Windows 11 Pro(22H2)
- ActiveReports for .NET 16.0J(16.2.0)
- .NET SDK(6.0.413)
- Node.js(18.17.1)
- Visual Studio 2022(17.6.5)
- Windows Subsystem for Linux 2(Ubuntu 22.04.2)
対象読者
- Webページに帳票出力機能を実装したい方
- バックエンド開発が得意な方
- クラウドサービスで帳票アプリケーションを公開したい方
Amazon EC2環境での公開
まずは、Amazon Elastic Compute Cloud(Amazon EC2)環境に帳票アプリをデプロイし、公開する手順を紹介します。
公開環境を構築する
Amazon EC2の利用に先立ち、AWSアカウントが必要です。未作成の方は「AWS クラウド無料利用枠」から作成しておいてください。Amazon EC2には、利用開始後1年間の無料利用枠があります。1カ月あたり750時間までは、特定の条件を満たした仮想マシンが無料で利用できます。AWSアカウントを取得したら、「Amazon EC2(安全でスケーラブルなクラウド上の仮想サーバー)」の[コンソールにサインイン]からコンソールにアクセスします。コンソールの「最近使ったサービス」に「EC2」が表示されていれば選択し、そうでなければ「すべてのサービス」から「EC2」を選択します。
「EC2ダッシュボード」の画面になるので(図1)、ここで[インスタンスを起動]をクリックして、「インスタンスを起動」画面でインスタンスを作成します。インスタンスとは、AWSにおける仮想サーバのことをいいます。
「名前とタグ」の[名前]にインスタンスを名前を入力します。ここでは、「ActiveReports App Server」としました。「アプリケーションおよび OS イメージ (Amazon マシンイメージ)」では「クイックスタート」から「Amazon Linux」が選択されている状態で「Amazonマシンイメージ(AMI)」をプルダウンし、「Amazon Linux 2 with .NET 6, PowerShell, Mono, and MATE Desktop Environment」を選択します。これは、.NETなどがプレインストールされたAmazon Linuxで、あとから.NET 6をインストールする手間を省くことができます(図2)。
「インスタンスタイプ」は既定の「t2.micro」のままで構いません。「キーペア(ログイン)」で、インスタンスへの接続に必要なキーペアをここで作成しておきます。作成済みであれば、それを選択しても構いません。[新しいキーペアの作成]をクリックすると[キーペアを作成]ウインドウがポップアップするので、「キーペア名」に任意の名前を(ここでは「MyKeyPair」としました)入力し、他の項目は既定値のままで[キーペアを作成]をクリックしてください(図3)。
「ネットワーク設定」では、[からのRDPトラフィックを許可]のチェックを外し、「インターネットからのHTTPSトラフィックを許可」と「インターネットからのHTTPトラフィックを許可」にチェックを入れておきます。[からのSSHトラフィックを許可する]にはチェックを入れたままで、右のプルダウンで「自分のIP」を選択しておくと、SSH接続が安全になります(図4)。
「概要」の内容を確認して[インスタンスを起動]をクリックします。「インスタンス作成中」の表示の後、「インスタンスの起動を正常に開始しました (i-0c2f8…)」などと緑色の背景で表示されれば、インスタンスの作成と起動は成功です(図5)。
キーペアは、作成と同時にファイルとしてダウンロードされています。この拡張子が.pemであるファイル(今回はMyKeyPair.pem)はSSHなどの接続で必要になります。
インスタンスへ接続してデプロイする
続いて、インスタンスに接続して帳票アプリをデプロイしましょう。図5の中央にある[インスタンスに接続]をクリックします。「インスタンスに接続」画面が開くので、[SSHクライアント]タブをクリックして切り替えます。SSHクライアントからの接続手順が記載されているので、Windowsの「ターミナル」を開いて記載のコマンドを入力し、SSH接続を開始します(以降の例はホスト名中のIPアドレスはaaa-bbb-ccc-dddなどとしているので、各自のものを適宜指定してください)。
このとき先ほど保存されたキーペアのファイルの場所を適切に指定してください。「Are you sure you want to continue connecting」には「yes」と答えます。プロンプト($)が表示されれば接続成功です。
> ssh -l ec2-user -i "MyKeyPair.pem" root@ec2-aaa-bbb-ccc-ddd.ap-northeast-1.compute.amazonaws.com
帳票アプリをデプロイします。デプロイは、ターミナルに新しいタブを開いて、以下のscpコマンドで行います。キーペアファイルの場所、公開フォルダの場所、ホスト名は各自のものを指定してください。
> scp -r -i "MyKeyPair.pem" C:\Users\nao\source\nepos\JSViewerSample\JSViewerSample\bin\Release\net6.0\publish\* ec2-user@ec2-aaa-bbb-ccc-ddd.ap-northeast-1.compute.amazonaws.com:/home/ec2-user/app
フォントをインストールします。パッケージで提供されるのはIPAフォントのみでIPAexフォントは提供されないため、フォントファイルをシステムに直接配置します。第1回の記事でダウンロードしたIPAexフォントのアーカイブファイルIPAexfont00401.zipを、scpコマンドでインスタンスに転送します。
> scp -i "MyKeyPair.pem" IPAexfont00401.zip ec2-user@ec2-aaa-bbb-ccc-ddd.ap-northeast-1.compute.amazonaws.com:/home/ec2-user
SSH接続上で、以下のようにファイルを解凍、フォント共有ディレクトリにコピーして、キャッシュを更新します。
$ unzip IPAexfont00401.zip $ sudo cp -r IPAexfont00401 /usr/share/fonts/ $ fc-cache -fv
動作確認する
帳票アプリを起動して、動作を確認しましょう。SSH接続したターミナルで、以下のコマンドを実行します。sudoコマンドを使っているのは、特権ポート(80)でアプリを公開するためです。また、公開するURLをASPNETCORE_URLS環境変数で指定しています。
$ sudo ASPNETCORE_URLS=http://*:80 dotnet JSViewerSample.dll
Webブラウザから、URL「http://ec2-aaa-bbb-ccc-ddd.ap-northeast-1.compute.amazonaws.com:80」にアクセスします。ホスト名は、SSH接続と同様に各自のものを指定してください。図6のようにブラウザに帳票が表示されれば成功です。PDFへの書き出しも試してみてください。
この記事は参考になりましたか?
- ComponentZine(ActiveReports)連載記事一覧
-
- 帳票アプリを主要クラウド上にデプロイして公開しよう──ActiveReports for...
- 「ActiveReports for .NET」で帳票アプリをつくる──ガバメントクラウド...
- kintoneのデータをREST API連携で使用する、「ActiveReportsJS」...
- この記事の著者
-
WINGSプロジェクト 山内 直(WINGSプロジェクト ヤマウチ ナオ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook <個人紹介>WINGSプロジェクト所属のテクニカルライター。出版社を経てフリーランスとして独立。ライター、エディター、デベロッパー、講師業に従事。屋号は「たまデジ。」。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
提供:グレープシティ株式会社
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
