気になる課金状況
現在の課金状況
Google Cloud Platform にアクセス。
クレジット残高に表示されているのは無料トライアルの300ドル分だと思うけど。
このままこのテストプロジェクト放置してても残高は減っていくのかしら。
課金の様子
◎作成当日(3/16):31,967.00
◎作成1日後(3/17):31,966.87
◎作成3日後(3/19):31,769.57
ちょっとずつ減ってる…課金を無効にして様子見る。プロジェクト削除しないと課金されますってどっかに書いてあったけど、せっかく作ったのにと思って。
ちなみに請求先アカウントにリンクされているプロジェクトに「My First Project」(自動作成される)があって怖いので、「課金を無効にする」にしたらリストから消えた。
でもさらにRubyのプロジェクトも課金無効にしたら上図のページが見れないので、「My First Project」をまた課金有効にする。
◎作成4日後(3/20):31,598.37
おっと課金を無効にしても減っているぞ。
◎作成7日後(3/23):31,598.35
上述プロジェクト課金無効のまま、新プロジェクト作ったけど(デプロイしてない)ちょっとしか減ってない。
◎作成11日後(3/27):30,870.74
めっちゃ減ってる!?作成7日後にDB作ったからっぽい。
CloudSQLは有料なんだって( ;∀;)月10$くだらないらしい。
GCEでWordPressがほぼ無料運用できるようになったので改めてまとめる – codes / cipher
◎作成14日後(3/30):30,170.82
確実に減ってるな~
◎作成16日後(4/1):29,704.15
どんどん減ってくので(正直開発進んでない)、一旦作成したDBインスタンスを削除。
ここでもっと調べてみた。
GAEのRubyはフレキシブル環境のみらしく、28インスタンス時間無料枠はスタンダード環境のみの適用らしい。うぬうRuby対応してよ…
app.ymlを編集してインスタンス数を制限する方法も以下のリンクに書いてあるけど、フレキシブル環境の課金対象はインスタンス数に基づくわけではないので、意味ないらしい。
▼GAEのフレキシブル環境とスタンダード環境の違い
・App Engine 環境の選択 | App Engine Documentation | Google Cloud
▼無料枠のインスタンス時間について
・GAE でうっかり発生していた課金を無くして無料運用に戻した話 – OTCHY.NET
・RailsアプリをHeroku(US)とGoogle App Engine(tokyo)のエンドユーザレスポンスタイムを計測してみた - kiitan’s diary
▼無料枠と課金枠の話
・GCP の無料枠 - 無料の長期トライアル、いつまでも無料 | Google Cloud
・Google App Engineを無料で運用する方法(2017年版) - koni blog
・初心者がつまづいたGAEの無料枠の話 - cookies.txt .scr
◎作成17日後(4/2):29,470.86
減ってるけど、料金の履歴では3月中のColudSQLの使用料が増えたせいぽい。お支払い>料金の履歴に反映するのは即日ではないようだ。2日後っぽい。
今日GAEのプロジェクトも削除したし落ち着くかな…
◎作成18日後(4/3):29,454.92
まだ減ってる~~DBインスタンスは4/1に削除したし、それ以降は課金されないと信じたい。一瞬DBインスタンスの状態確認するために昨日削除したGAEプロジェクト復元して課金有効にしちゃったからちょっと減るかもやけど。
◎作成20日後(4/5):29,454.92
キターーーーーーーーーーーーーーーーーーーーーーー!!!!!!!!\(^o^)/
苦節ン十年(語弊)、やっと減らない状況を作り上げた…知り合いはもうGCPのWordpressでブログ立ち上げてちょっとしか減ってないよとかいう状況作ってたのに…私は馬鹿なのか何なのか…
Googleの公式ヘルプちゃんと読んだらさ、ちゃんと書いてあるのよ。これは有料だよって。でも何も分からん状態で見ても響かないのよ。分からんのよ。もう実践しながら理解していくしかないのよ。これから先も。一進一退、繰り返していくのみ。
そして課金状態は都度都度確認していく…
◎作成24日後(4/9):29,454.92
おおおおおおおおおお減ってないーーーーーーーーーーおおおおおおお
ずっと減り続けてたのでめっちゃ嬉しい…おおおおおおおおおおおお
◎作成30日後(4/15):29,454.91
あ。ちょっと減った…しかし料金の履歴にはまだ表示されておらず。
----------------------------------------------------------------------------------------
↓この参考サイトによると、課金を有効にしとかないとデプロイ段階で失敗するらしい。
結論
もうRailsアプリはGCEで作ることに変更します!!!( ;∀;)
とりあえずGCPでGAE始めました(チュートリアルHelloWorld編)
まずは環境を作ります。
で、RybyでHelloWorldと表示しますよ。そう、全ての起源は HelloWorld、初心者中の初心者よ、まずはドアを開けるところから始めるのだ!
GCPゼロから始める
まずこれの通りに進める。
www.topgate.co.jp
・アカウント作成(今回は、元からあったやつ使用)
ちょっとこの記事で引っかかったことメモ
Compute Engine での Ruby の実行 | Ruby | Google Cloud Platform
インフラ周りを勉強するならGCE(Google Compute Engine)らしいが、とりあえず簡単にRuby環境作ってくれるGAE(Google App Engine)から始めようか…
あとアプリケーションを実行するインフラストラクチャを自動制御してくれるのはGAEらしいし。
用意されてるもの使うわけだから後でこれするにはこの環境じゃ実現できない!?てなりそうやけど、いかんせん調べても記事が少ない&分からないことが多すぎる…
このあたり、やはり後発のGCPよりAWSの方が解説サイト多いみたいですわ。がっくし…
いちおうRailsアプリ移行をGCEから始めている手順を残しとく
これを読んでても、もともとサーバー構築してて、そのスナップショットを使ってGCPで自動構築してるようやから、その事前準備がない私には遠すぎる(・_・;)
とりあえず調査ばかりで何も進まないので、GAEをポチってみよう。
------------------------------------------------------------------------------------------------
※追記(18/4/2)
課金状況を鑑みて、GCEでRailsアプリ作ることにしました( ;∀;)
------------------------------------------------------------------------------------------------
GAE(Google App Engine)で始める
ここから↓スタート
App Engine フレキシブル環境における Ruby のクイックスタート | Google Cloud Platform
プロジェクトの作成
プロジェクト名はそのまま。
リージョンの選択
東京(asia-northeast1)を選ぶ。
言語を選ぶ
Rubyを選ぶ。
ふむふむ。初心者ゆえチュートリアルに乗っかろう。
使用プロジェクトの確認
さっき作ったプロジェクトを使うって言ってくれてるんだからそのまま続行。
サンプルコードのクローン作成
すげー丁寧だな…言う通り進めていく。「Hello World」だけど。めっちゃ初歩やん。でも初心者やもん。
一応それぞれ何やってるかは理解していく。
あ、丁寧な説明サイト見つけた。
ディレクトリの設定
TUTORIALDIR=src/subtle-signal-198202/ruby_mvms_quickstart-2018-03-16-12-37
設定したディレクトリにgitコマンド使ってgithubからクローン
git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples $TUTORIALDIR
cd $TUTORIALDIR/appengine/hello_world
デプロイの設定
ファイルの閲覧
cat app.rb
↓で、そのapp.rbの内容
めっちゃシンプル!すげーシンプルなファイル内容!
で、次はyamlファイルを確認しろと
cat app.yaml
アプリのテスト
ちなみにbudllerとは、依存関係のあるgemを一括インストールしてくれるツールです。
【Ruby入門】今更聞けない!Ruby bundlerとは | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト
bundler、bundle execについて ※自分用メモ - Qiita
bundleのインストール
bundle install
インストールされたgemパッケージを使用してコマンドを実行
bundle exec ruby app.rb -p 8080
CloudShellの右上にあるウェブでプレビューをクリック
あははははh、ホンマにHello Worldで記載されただけのページ出てきた。
満足。
じゃねえわ!!
終了!!!
最後の手順
アプリをデプロイ
gcloud app deploy --project subtle-signal-198202
デプロイには時間が掛かるので待つぞよ。
いつまで待つかって、最後にurl出るらしいのでそれまで待つよ。
出たのでアクセスしてみる。
うん、Hello world!
はい、ちらっと確認しました。
完了
とりあえず今はチュートリアル完了するので、のちのち用にリンク残しとく。
Windows用CloudSDKのダウンロードはもうしておく。
Cloud Datastoreの使用方法(英語記事\(^o^)/)
とりあえず以上!長くなってしまった。
次は自分のアプリ作るよ。
とりあえず事前調査始めました
早速きろく記録~~!!
まず事前調査の前に、自分のやりたいことを整理!
アプリ作る目的
- 何も出来ない状態から脱退したい
- 会社で主に使ってるRubyに慣れたい
- いろいろ技術を触ってみたい(PWAとかGCPとか)
- ゆくゆくは公開してみんなに使ってもらえるアプリを使ってみたい
- 子あり主婦の目線で欲しいアプリを作ってみたい
ただ一人目の育休のとき、Ruby慣れようと自分PCで仮想環境(VirtualBox使って)作ってOSやらなんちゃらインストールをゼロからやってたので、時間ばっかりくっちゃってRubyでページ表示するだけになっちゃったんです。
今回は、それを踏まえて!!楽するところは楽する!
ゴールはあくまでアプリ作成!というスタンスでいきたいと思います。
▼の前に、自分が簡単に調べたPWA
qiita.com
皆さまよくご存知のスマホアプリ(ネイティブアプリ)ではなく、WEBページでアプリのようなもの作れるよ~ってやつです。
PWA選んだ理由
- ネイティブアプリだったらiPhoneとAndroidと開発言語が違うから大変だけどこれならブラウザ互換だけ気をつければいいのかな。でもSafari対応は予定段階だけど…
- アプリのようにホーム画面にアイコン可能
- プッシュ通知もできる
- そもそもWeb知識付けたいだけだしな…
まずRubyでPWAページ作れるのかなと調査
いけるようだ。とりあえず走り始めるぜ!
よし環境作ろう!ということで、これまた聞き齧ったGCP(Google Cloud Platform)で作ってみる。
AWS(Amazon Web Service)もCloud9というIDE(総合開発環境)があるし、RubyはColud9おすすめとかあるし惹かれるけど…
▼Rubyのおすすめ開発環境
【Ruby】おすすめの開発環境は?OS別の環境構築方法 | kuguru[クグル]
▼Colud9の始め方
Cloud9の使い方と便利機能!最強プログラミング開発環境(IDE) | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト
▼Rubyのローカル開発環境構築
初心者必見!Ruby開発環境構築おすすめの方法【Mac/Windows別】 | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト
GCP選んだ理由
- 300ドル相当の環境を12ヶ月無料で使えるらしい。(2018/3現在)
クレジットカードの登録は必須だけど、期限過ぎたら勝手に徴収されるわけでもないらしい。(ユーザーの承認があって初めて徴収)
AWSも無料期間あるけど… - 自動スケーリングしてくれるからそれに応じた課金でAWSよりリーズナブル
- Googleの技術をいろいろ提供してくれる。
- 結局のところ世の中の時流に乗っかりたい(安っぽい理由!笑)
- そもそも今回周りがどうもこれ使ってるぞ?でも全然わからないぞ?を解消するために始めたことなのでGCP使ってみたいなと。
- アプリリリース後、プレスリリースとかするときにAWSは申請が必要(リソース数が限られているから増えそうなときは申請が必要という意)
- 今回は開発環境で時間を掛けるつもりはない(GCPなら簡単にできる)
参考
・AWSではなく、GCPを選んだ5つの理由 - 仕事中の問題と解決メモ。
・本番環境をGCP/AWSで何個か作り、インフラについて少しわかったこと【GCP環境構築編】 - Qiita
・AWS Cloud9とGCP App Engineを使った使用感をまとめてみた - Qiita
よしでは
ということで進めていこう。