ゼロからWeb開発

ゼロからWeb開発

育休2回も経てる間に時代に取り残されちゃったWeb開発者のブログ

気になる課金状況

現在の課金状況

Google Cloud Platform にアクセス。

f:id:muzirushi78:20180401192653p:plain

クレジット残高に表示されているのは無料トライアルの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

GAリリース記念!!今更だけどGAE Flexible Environmentのチュートリアルを試してみた!|apps-gcp.com|G Suite(旧:Google Apps) やGoogle Cloud Platform サービスについて紹介します

▼無料枠のインスタンス時間について

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

f:id:muzirushi78:20180403155217p:plain

まだ減ってる~~DBインスタンスは4/1に削除したし、それ以降は課金されないと信じたい。一瞬DBインスタンスの状態確認するために昨日削除したGAEプロジェクト復元して課金有効にしちゃったからちょっと減るかもやけど。

 

◎作成20日後(4/5):29,454.92

 キターーーーーーーーーーーーーーーーーーーーーーー!!!!!!!!\(^o^)/

苦節ン十年(語弊)、やっと減らない状況を作り上げた…知り合いはもうGCPWordpressでブログ立ち上げてちょっとしか減ってないよとかいう状況作ってたのに…私は馬鹿なのか何なのか…

Googleの公式ヘルプちゃんと読んだらさ、ちゃんと書いてあるのよ。これは有料だよって。でも何も分からん状態で見ても響かないのよ。分からんのよ。もう実践しながら理解していくしかないのよ。これから先も。一進一退、繰り返していくのみ。

そして課金状態は都度都度確認していく…

 

◎作成24日後(4/9):29,454.92

おおおおおおおおおお減ってないーーーーーーーーーーおおおおおおお

ずっと減り続けてたのでめっちゃ嬉しい…おおおおおおおおおおおお

 

◎作成30日後(4/15):29,454.91

あ。ちょっと減った…しかし料金の履歴にはまだ表示されておらず。

----------------------------------------------------------------------------------------

 

↓この参考サイトによると、課金を有効にしとかないとデプロイ段階で失敗するらしい。


qiita.com

 

結論

もうRailsアプリはGCEで作ることに変更します!!!( ;∀;)

とりあえずGCPでGAE始めました(チュートリアルHelloWorld編)

まずは環境を作ります。

 

 で、RybyでHelloWorldと表示しますよ。そう、全ての起源は HelloWorld、初心者中の初心者よ、まずはドアを開けるところから始めるのだ!

 

GCPゼロから始める

まずこれの通りに進める。

www.topgate.co.jp
・アカウント作成(今回は、元からあったやつ使用)

www.topgate.co.jp

 

ちょっとこの記事で引っかかったことメモ

noric0124.hatenablog.jp

Compute Engine での Ruby の実行  |  Ruby  |  Google Cloud Platform

 

インフラ周りを勉強するならGCE(Google Compute Engine)らしいが、とりあえず簡単にRuby環境作ってくれるGAE(Google App Engine)から始めようか…

あとアプリケーションを実行するインフラストラクチャを自動制御してくれるのはGAEらしいし。

用意されてるもの使うわけだから後でこれするにはこの環境じゃ実現できない!?てなりそうやけど、いかんせん調べても記事が少ない&分からないことが多すぎる…

このあたり、やはり後発のGCPよりAWSの方が解説サイト多いみたいですわ。がっくし…

 

いちおうRailsアプリ移行をGCEから始めている手順を残しとく

qiita.com

これを読んでても、もともとサーバー構築してて、そのスナップショットを使ってGCPで自動構築してるようやから、その事前準備がない私には遠すぎる(・_・;)

とりあえず調査ばかりで何も進まないので、GAEをポチってみよう。

------------------------------------------------------------------------------------------------

※追記(18/4/2)

課金状況を鑑みて、GCEでRailsアプリ作ることにしました( ;∀;)

------------------------------------------------------------------------------------------------

 

GAE(Google App Engine)で始める

ここから↓スタート

App Engine フレキシブル環境における Ruby のクイックスタート  |  Google Cloud Platform

 

プロジェクトの作成

f:id:muzirushi78:20180316115329p:plain

プロジェクト名はそのまま。

 

リージョンの選択

f:id:muzirushi78:20180316115540p:plain

東京(asia-northeast1)を選ぶ。

 

言語を選ぶ

f:id:muzirushi78:20180316123808p:plain

Rubyを選ぶ。

f:id:muzirushi78:20180316123951p:plain

ふむふむ。初心者ゆえチュートリアルに乗っかろう。

 

使用プロジェクトの確認

f:id:muzirushi78:20180316124118p:plain

さっき作ったプロジェクトを使うって言ってくれてるんだからそのまま続行。

 

サンプルコードのクローン作成

f:id:muzirushi78:20180316124534p:plain

すげー丁寧だな…言う通り進めていく。「Hello World」だけど。めっちゃ初歩やん。でも初心者やもん。

一応それぞれ何やってるかは理解していく。

あ、丁寧な説明サイト見つけた。

qiita.com

ディレクトリの設定

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

 

デプロイの設定

f:id:muzirushi78:20180316125838p:plain

ファイルの閲覧

cat app.rb

↓で、そのapp.rbの内容

f:id:muzirushi78:20180316130133p:plain

めっちゃシンプル!すげーシンプルなファイル内容!

f:id:muzirushi78:20180316130310p:plain

で、次はyamlファイルを確認しろと

cat app.yaml

 

f:id:muzirushi78:20180316130532p:plain

 

アプリのテスト

f:id:muzirushi78:20180316130801p:plain

ちなみにbudllerとは、依存関係のあるgemを一括インストールしてくれるツールです。

【Ruby入門】今更聞けない!Ruby bundlerとは | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト

bundler、bundle execについて ※自分用メモ - Qiita

 

bundleのインストール

bundle install

 

f:id:muzirushi78:20180316131427p:plain

インストールされたgemパッケージを使用してコマンドを実行

bundle exec ruby app.rb -p 8080

 

f:id:muzirushi78:20180316132129p:plain

CloudShellの右上にあるウェブでプレビューをクリック

f:id:muzirushi78:20180316132201p:plain

あははははh、ホンマにHello Worldで記載されただけのページ出てきた。

満足。

 

じゃねえわ!!

f:id:muzirushi78:20180316132534p:plain

終了!!!

 

最後の手順

f:id:muzirushi78:20180316132749p:plain

アプリをデプロイ

gcloud app deploy --project subtle-signal-198202

デプロイには時間が掛かるので待つぞよ。

いつまで待つかって、最後にurl出るらしいのでそれまで待つよ。

f:id:muzirushi78:20180316145046p:plain

出たのでアクセスしてみる。

うん、Hello world!

f:id:muzirushi78:20180316145237p:plain

はい、ちらっと確認しました。

 

完了

f:id:muzirushi78:20180316145434p:plain

とりあえず今はチュートリアル完了するので、のちのち用にリンク残しとく。

Windows用CloudSDKのダウンロードはもうしておく。

プロジェクトの削除

ファイルの抽出

SDKの初期化

Cloud Datastoreの使用方法(英語記事\(^o^)/)

Cloud Strageの使用方法

 

 

とりあえず以上!長くなってしまった。

次は自分のアプリ作るよ。

 

とりあえず事前調査始めました

早速きろく記録~~!!

まず事前調査の前に、自分のやりたいことを整理!

 

アプリ作る目的

  • 何も出来ない状態から脱退したい
  • 会社で主に使ってるRubyに慣れたい
  • いろいろ技術を触ってみたい(PWAとかGCPとか)
  • ゆくゆくは公開してみんなに使ってもらえるアプリを使ってみたい
  • 子あり主婦の目線で欲しいアプリを作ってみたい

ただ一人目の育休のとき、Ruby慣れようと自分PCで仮想環境(VirtualBox使って)作ってOSやらなんちゃらインストールをゼロからやってたので、時間ばっかりくっちゃってRubyでページ表示するだけになっちゃったんです。

今回は、それを踏まえて!!楽するところは楽する!

ゴールはあくまでアプリ作成!というスタンスでいきたいと思います。

 

 

▼の前に、自分が簡単に調べたPWA
qiita.com
皆さまよくご存知のスマホアプリ(ネイティブアプリ)ではなく、WEBページでアプリのようなもの作れるよ~ってやつです。

 

PWA選んだ理由

  • ネイティブアプリだったらiPhoneAndroidと開発言語が違うから大変だけどこれならブラウザ互換だけ気をつければいいのかな。でもSafari対応は予定段階だけど…
  • アプリのようにホーム画面にアイコン可能
  • プッシュ通知もできる
  • そもそもWeb知識付けたいだけだしな…

 

まずRubyでPWAページ作れるのかなと調査

qiita.com

いけるようだ。とりあえず走り始めるぜ!

 

よし環境作ろう!ということで、これまた聞き齧ったGCPGoogle Cloud Platform)で作ってみる。
AWSAmazon 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

 

よしでは

  • 環境をGCPで用意して
  • Rubyでページ作って
  • PWA化でアプリとして使えるようにする

 

ということで進めていこう。

とりあえず記録始めました

初めまして!無印と申します。

育休2回も経てる間にすっかり頭がすっからかんになり、Web知識どころか日本語すら危うい状態になったのでリハビリのためにブログ始めました。

 

来月から復帰なんですけどね、吐きそうです。
あんまり大人と関わってこなかったので、ちょっと前に復帰前のご挨拶を会社にしにいったら会話することすら吐きそうでした。

どうすんねんコレ。

 

とりあえず、周りがあまりにも意識高い人たちばかりなので、何か動かないと置いてかれるぞと、アプリ作ろうかと思いまして。RubyGCP、PWA使ってブラウザアプリ作ろうかなと。
実践じっせん!

 

というわけでその過程を自分の備忘録代わりにブログ始めました。