コンテンツにスキップ

Farmnote Gene 環境構築手順(記述中)

ローカル環境構築(Firebase作業用)

npm install firebase npm install -g firebase-tools firebase login firebase init firebase deploy ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳


1.Firebase環境構築

Firebaseプロジェクトを作成する(手順省略 )

プロジェクトプラン変更

① Firebaseコンソールを表示
② プロジェクトを追加」をクリックしてプロジェクトを作成
③ 作成したプロジェクトの概要画面で、「Sparkプラン」をクリック
④ Fireabse料金プランダイアログで、Blaze(従量制)プランを選択
⑤ 課金予算の設定で、"10000"を入力(予算メール通知の設定なので何でもOK)、「続行」をクリック
⑥ 「購入」をクリック

Webアプリ追加

① 左メニューよりプロジェクトの概要を表示
② ウェブアイコンを選択(Webアプリ追加)
③ ニックネームにfngeneを入力
④ 「このアプリの Firebase Hosting も設定します。」を選択
⑤ 「アプリを登録」をクリック
⑥ 表示されたFirebaseConfigをコピーしておく
⑦ 「次へ」をクリック(Firebase SDKのインストール)
⑧ 「次へ」をクリック(Firebae CLIのインストール)
⑨ 「コンソールに進む」をクリック

Authentication設定

① 左メニューより「Authentication」を選択
② 「始める」をクリック
③ 「メール/パスワード」をクリック
④ 「メール/パスワード」を有効にする(メールリンクは無効のまま)
⑤ 「保存」をクリック

Storage設定

① 左メニューより「Storage」を選択
② 「始める」をクリック
③ 「本番環境モードで開始する」を選択
④ 「次へ」をクリック
⑤ ロケーションで「nam5(us-central」を選択
⑥ 「完了」をクリック

Functions設定

① 左メニューよりFunctionsを選択
② 「始める」をクリック
③ 「続行」をクリック
④ 「終了」をクリック

Functions実行でエラーが出た場合、ログに必要なAPI有効化のリンクが表示されている場合あり


2.GCP環境構築

Compute Engine設定(仮想サーバー)

① GCP管理コンソールを表示し、プロジェクトを選択
② 左メニューより、「Compute Engine」→「VMインスタンス」を選択

Info

「プロジェクト「(プロジェクト名)」の請求先アカウント設定」が表示された場合は、プルダウンで「請求先アカウント」を選択し設定する

③ 「インスタンス作成」をクリック

Info

Compute Engine API の有効化が必要と表示された場合、画面に従ってAPIを有効化する

④ 下記の内容で設定し、「作成」をクリック

項目名 設定値 備考
名前 fngene-server
リージョン us-central1(アイオワ
ゾーン us-central1-a
マシンファミリー 汎用
シリーズ E2
マシンタイプ e2-medium
表示デバイス なし
コンテナ なし
ブートディスク Debian GNU/Linux 10 (buster)
IDとAPIへのアクセス Compute Engine default server account ※デフォルト値
アクセススコープ すべてのCloudAPIに完全アクセス権を許可
ファイアウォール HTTP,HTTPSトラフィック許可なし
ネットワーキング 設定なし ネットワークタグ、ホスト名、IP転送

リージョン:us-central1(アイオワ)、ゾーン:us-central1-a マシンの構成  シリーズ:E2  マシンタイプ:e2-medium  表示デバイスなし  コンテナ:なし  ブートディスク:Debian GNU/Linux 10 (buster)  IDとAPIへのアクセス   サービスアカウント:デフォルト(Compute Engine default server account)   アクセススコープ:すべてのCloudAPIに完全アクセス権を許可   (本番は変える必要あり?)  ファイアウォール:HTTPSトラフィックを許可  ネットワーキング   ネットワークインターフェース(defaultをクリック)    外部IP4アドレス:IPアドレスを作成     名前:fngene-server-static-ip

⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳

インスタンス作成 Compute Engine API の有効化 (必要ですと表示された場合) 名前  本番:fngene-server  開発:fngene-dev  CHT開発:cht-fngene-dev  CHT旧開発:gene-server-dev

リージョン:us-central1(アイオワ)、ゾーン:us-central1-a マシンの構成  シリーズ:E2  マシンタイプ:e2-medium  表示デバイスなし  コンテナ:なし  ブートディスク:Debian GNU/Linux 10 (buster)  IDとAPIへのアクセス   サービスアカウント:デフォルト(Compute Engine default server account)   アクセススコープ:すべてのCloudAPIに完全アクセス権を許可   (本番は変える必要あり?)  ファイアウォール:HTTPSトラフィックを許可  ネットワーキング   ネットワークインターフェース(defaultをクリック)    外部IP4アドレス:IPアドレスを作成     名前:fngene-server-static-ip

ユーザー作成  adduser fngene  su - fngene

SSH, SCP用キー作成 ssh-keygen -t rsa (画面の指示に沿って鍵作成)

インスタンス一覧からインスタンスを選択、編集  SSH認証カギを追加して「保存」

スクリプト環境の整理(pyhon3コマンドはデフォルトで存在) apt update apt upgrade apt install postgresql postgresql-contrib libpq-dev apt install build-essential libssl-dev libcurl4-openssl-dev libffi-dev python3-dev apt install pkg-config libglib2.0-dev libgirepository1.0-dev libcairo2-dev python3-cairo-dev python3-distutils

cd /usr/local/src curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py" python3 get-pip.py

mkdir /usr/local/fngene chmod 777 /usr/local/fngene mkdir /var/log/fngene chmod 777 /var/log/fngene /usr/local/fngeneにバッチソース配置 pip3 install -r requirements.txt

fngeneユーザーでcrontab -e

CloudSQL

インスタンス作成 Compute Engine API の有効化 (必要ですと表示された場合) データベースエンジン:PostgreSQLを選択 インスタンスID:fngene-db パスワード:postgres データベースバージョン: PostgreSQL 13 リージョン:us-central1(アイオワ) ゾーンの可用性:シングルゾーン(本番はマルチゾーン?) ゾーンを指定  プライマリゾーン:us-central1-a 構成オプションを表示 マシンタイプ:軽量、1vCPU、3.75GB ストレージ  種類:HDD  ストレージ容量:10GB  ストレージ自動増量:有効  詳細暗号化オプション:なし 接続  パブリックIP  承認済みネットワークに、GCEの外部IPを設定 バックアップ  自動化、1:00~5:00 ポイントインタイムリカバリ:有効  ログの日数:7 メンテナンス  メンテナンスの時間枠:おまかせ  更新の順序:任意  メンテナンス不要期間:設定なし 分析情報  クエリ分析情報の有効化 インスタンス作成 一覧からインスタンス選択  「このインスタンスとの接続」の、「CLOUD SHELLを開く」を選択  デフォルト表示されるコマンドをそのままEnter  エラーログが表示されるので、その中のリンクでブラウザアクセス  CLOUD SQL Admin APIを有効化  再びCLOUD SHELLで同じコマンドを実行  postgresユーザーのパスワードを入力

接続情報  旧CHT開発   farmnote-gene-dev:us-central1:gene-db  farmnote開発   farmnote-gene-dev-9cbb2:us-central1:fngene-db  farmnote本番   farmnote-gene-prod:us-central1:fngene-db

Cloud Storage 接続設定

IAMと管理   サービスアカウント    サービスアカウントを作成     サービスアカウントID:fn-gene-gcs-user     ロール:ストレージ管理者    一覧から作成したユーザーを選択     「キー」タブ選択     「鍵を追加」「新しい鍵を作成」     キーのタイプでJSONを選択

+

プログラムデプロイ