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を選択
+