SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ActiveReports)(AD)

帳票アプリを主要クラウド上にデプロイして公開しよう──ActiveReports for .NETの活用例

帳票開発コンポーネント「ActiveReports for .NET」の活用術 第2回

  • X ポスト
  • このエントリーをはてなブックマークに追加

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)。

図7:製品の詳細(Compute Engine API)
図7:製品の詳細(Compute Engine API)

 しばらく待つと、「VMインスタンス」のページが表示されます。右側にチュートリアルが表示されたら閉じておきましょう。2箇所ある[インスタンスを作成]をクリックすると「インスタンスの作成」ページとなるので、ここでインスタンスを作成します。

 「名前やリージョンの設定」ではインスタンスの名前やスペックを設定します。[名前]にはインスタンスの名称を設定します。ここでは、「activereports-app-server」としました。英子文字、数字、ハイフンの組み合わせである必要があります。[リージョン]は無料枠の対象のうち日本に近い「us-west1(オレゴン)」とし、[ゾーン]は既定値のままにしておきます。「マシンの構成」は「汎用」の「E2」のままにしておきます(図8)。

図8:インスタンスの作成(名前やリージョンの設定)
図8:インスタンスの作成(名前やリージョンの設定)

 「マシンタイプ」は無料枠適用の構成である「e2-micro」に変更します。「可用性ポリシー」と「表示デバイス」の各項目は全て既定値のままとしておきます(図9)。

図9:インスタンスの作成(マシンタイプの設定)
図9:インスタンスの作成(マシンタイプの設定)

 「ブートディスク」では、以下のように設定を変更します。[OS]は「Ubuntu」に、[バージョン]は「Ubuntu 22.04 LTS」に、[ブートディスクの種類]は「標準永続ディスク」に、[サイズ]は「30GB」にそれぞれ変更します。無料枠が適用されるのは無償のOS、標準永続ディスク、容量30GBとなるので、それに沿った設定です(図10)。

図10:インスタンスの作成(ブートディスクの設定)
図10:インスタンスの作成(ブートディスクの設定)

 「ファイアウォール」では[HTTPトラフィックを許可する][HTTPSトラフィックを許可する]にチェックを入れます(図11)。

図11:インスタンスの作成(ファイアウォールの設定)
図11:インスタンスの作成(ファイアウォールの設定)

 なお、料金の見積りが「$7.31」などと表示されると思いますが、無料枠の範囲で機能を選択すると実際には課金されません。ここで[作成]をクリックすると、インスタンスが作成されます。「作成中」と表示されてしばらくすると、インスタンスの一覧が表示されれば成功です(図12)。「ステータス」欄が緑色のチェックマークになっていれば実行中なので、不要な場合には右端の縦三点アイコン(その他の操作)から[停止]をクリックしてください。

図12:作成されたインスタンス
図12:作成されたインスタンス

インスタンスへ接続してデプロイする

 続いて、インスタンスに接続して帳票アプリをデプロイしましょう。ブラウザSSHでログインします。図12においてインスタンス欄の[SSH]をクリックして、ドロップダウンから[ブラウザでのSSH]をクリックします。承認を求めるダイアログがポップアップするので、[Authorize]をクリックします。接続されると、ブラウザのウィンドウが新しく開き、ターミナル画面が表示されます(図13)。ここで、スタンドアロンでSSH接続したときと同様に操作できます。

図13:インスタンスへのSSH接続成功
図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)。

図14:インスタンスへのファイルアップロード
図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への書き出しも試してみてください。

図15:Google Compute Engineで帳票アプリを実行
図15:Google Compute Engineで帳票アプリを実行

次のページ
Microsoft Azure仮想マシン環境での公開

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ComponentZine(ActiveReports)連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 山内 直(WINGSプロジェクト ヤマウチ ナオ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 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本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:グレープシティ株式会社

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/18445 2023/10/20 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング