Unselected Kid Blog

プログラミングを中心に好きなことを好きなように書くブログ

Google Cloud PlatformでPostgreSQLを起動してHerokuから接続する方法

はじめに

今回は自分の運営するamazonの家具を寸法と価格から検索できる「家具サイズ検索」で使っているDBをGoogle Cloud Platform(以後GCP)に変更したので備忘録として記事にしておきます。

先日GCPの無料枠が変更されて様々なサービスの無料枠が強化されました。
qiita.com

公式 https://cloud.google.com/free/
https://cloud.google.com/free/docs/always-free-usage-limits

ここで注目したのが試用期間で使える$300クーポンが一年間使えるようになったこと
これまで無料枠が無かったCompute Engineの無料枠ができました。
1月分のGoogle Compute Engineの無料枠の詳細は以下のような感じです。
・USリージョンのf1-microが1機無料
・30 GBのHDD、5 GBのスナップショット
・North Americaからすべてのリージョンに対してのネットワーク利用1GB

起動方法

今回はGoogle Cloud Platformのこちらのテンプレートを利用します。
f:id:UnselectedKids:20170315204148p:plain

ここでリージョンをUSのどこかにしておけば無料枠の対象になるとおもいます。
f:id:UnselectedKids:20170315205300p:plain

デプロイ完了後上記のようなページが表示される。ここにあるuser名とpasswordを使って接続できます。IPはInstanceの欄をクリックした先に外部IPがあるのでそこに対して接続を設定します。 以下のようにheroku configを設定する。

 heroku config:set DATABASE_URL="postgres://[user]:[passwd]@[IP]:5432/postgres"
 

以上で完了です。 DBを作ったりuser変えたりしたい場合は公式のドキュメントを見れば載っているのでやってみてもいいでしょう。

Bitnami PostgreSQL for Google Cloud Platform

dump

まずdumpファイルをscpで送っておきます.

gcloud compute --project "プロジェクトID" copy-files --zone "ゾーン名" ローカルのファイルパス GCEインスタンス名:コピー先パス

あとはsshで接続して普通にリストアします.聞かれるパスワードは先程のパスワードと同様.

psql -U postgres postgres < dump_file_name

追記[2017/12/11]

なんでか知りませんがデフォルトで設定できていたtpc:5432ポートの開放を自分でやらないとだめになっていました.
VPCネットーワーク設定でposgresのタグでtcp:5432を0.0.0.0/0に対して許可したものを作成します.
詳しい作り方は下を参照しました.

dev.classmethod.jp

んで作成したGCEを編集でネットワークタグにてpostgresを追記して保存すれば繋げられるはずです.
なんでこんな改悪されたんや...

プチビジネス月次レポート 2017年2月号

はじめに

今回の1ヶ月レポート対象は、2016年9月15日にリリースしたamazonの家具を寸法と価格から検索できる「家具search|Amazon,楽天,Yahooの家具をサイズ検索!」です。

furniture-size-search.herokuapp.com

学生の内にサービス立ち上げ経験を得たくてプチビジネスとして初めた。 作るのは非常に楽しいのですが冷静に分析する機会を作らないとなかなか難しいので、分析を行う。理由とその時何を考えていたかのログをとる意味で書いていくつもりです。 学生の内にサービス立ち上げや運営してみたい人の参考になればいいなー

サービスの目標

 家具が一番売れるのは 3~4 月位だと思うので「 3~4月に1年間の運営費を稼げるサービス 」にしていくことです。具体的には、現在の 1 ヶ月運営費用が 12 $ 位なので 1.5万円 を 3~4 月に回収すること。

注意事項

Google analyticsの詳細なデータの開示が利用規約違反にあたるので四捨五入した値を公開することにします。 Amazon アソシエイトは大丈夫そうなので生の値で公開します。 なので全て約〇〇だと思って見ていただければ幸いです。

2月

行ったこと

データ・ユーザ分析

  • Google Analytics
    • 前月→今月
    • UU:480→570↑
    • PV:1,520→1,830↑
    • 直帰率:60%→51%↑
    • ページ/セッション:2.5→2.7↓

全体として好調に推移している。

  • バイス種別
    • desktop:67%→54%↓
    • mobile:28%→40%↑
    • tablet:4%→4%↑

mobileの割合が大きく伸びた。tabletが増えた理由はなぞ。

  • 集客

    • Direct:274→223↑
    • Organic Search:224→400↑
    • Referral:62→22↓
    • Social:14→11↓
  • Amazon アソシエイト

    • UU:225→240↑
    • amazon商品ページ移動数:689→729↑
    • 注文数:36→42↑
    • 売上:約188,000円 → 約 410,000円↑
    • 利益:約5,400円 → 約 11,000円↑

失敗と反省

 2月はフォーム改善・デザイン変更のためにA/Bテストを行えるように頑張ると宣言していたものの2月は実際何もやってなかった。意識して時間を作ってやらないとまずいなぁ。目標はすでに達成してしまった感があって来年の今の時期までの新たな目標を立てるなりしないと。

プチビジネス1ヶ月レポート 2017/1

はじめに

今回の1ヶ月レポート対象は、2016年9月15日にリリースしたamazonの家具を寸法と価格から検索できる「家具サイズ検索|Amazon家具を価格と寸法(幅x奥行x高)から検索!」です。

furniture-size-search.herokuapp.com

学生の内にサービス立ち上げ経験を得たくてプチビジネスとして初めた。 作るのは非常に楽しいのですが冷静に分析する機会を作らないとなかなか難しいので、分析を行う。理由とその時何を考えていたかのログをとる意味で書いていくつもりです。 学生の内にサービス立ち上げや運営してみたい人の参考になればいいなー

サービスの目標

 家具が一番売れるのは 3~4 月位だと思うので「 3~4月に1年間の運営費を稼げるサービス 」にしていくことです。具体的には、現在の 1 ヶ月運営費用が 12 $ 位なので 1.5万円 を 3~4 月に回収すること。

注意事項

Google analyticsの詳細なデータの開示が利用規約違反にあたるので四捨五入した値を公開することにします。 Amazon アソシエイトは大丈夫そうなので生の値で公開します。 なので全て約〇〇だと思って見ていただければ幸いです。

1月

行ったこと

  • SEO対策
  • バイルUIの改善
  • ソーシャルボタンの修正
  • ヒートマップツールの導入

データ・ユーザ分析

  • Google Analytics
    • 前月→今月
    • UU:280→480↑
    • PV:1,040→1,520↑
    • 直帰率:52%→60%↑
    • ページ/セッション:2.8→2.5↓

UUの増加、直帰率の上昇はDirectによる流入が急激に増えた時期の高い直帰率に起因する。Organic Searchでも「家具サイズ」や「家具寸法」など関係はしているがユーザが求めているか微妙なワードからの流入による直帰が増えた。

  • バイス種別
    • desktop:69%→67%↓
    • mobile:28%→28%ー
    • tablet:2%→4%↑

mobile,desktopともにほぼ変化なし。tabletが増えた理由はなぞ。

  • 集客
    • Direct:190→274↑
    • Organic Search:130→224↑
    • Referral:30→62↓
    • Social:20→14ー

引き続き流入はしっかりと増加している。我々のPC部屋がバズるとDirectが伸びて直帰率が高くなる。Organic Searchの増加が2倍とはいかないものの大幅な増加が見られた。ランディングページでは40商品ページで1~2流入ほどしておりロングテールモデルになっているがまだまだ少ない。「家具名 横幅 奥行き」(例:デスク 120 60)などでの検索順位は上がらず作成したページは残念ながら流入には繋がってはいない。引き続き効果的なロングテールキーワードを探っていく。

  • Amazon アソシエイト
    • UU:132→225↑
    • amazon商品ページ移動数:476→689↑
    • 注文数:12→36↑
    • 売上:約83,000円→約188,000円↑
    • 利益:約2490円→約5,400円↑

家具の売れる時期に差し掛かってきたのでしょうか?毎月倍々ゲームで売上が増えているのでこのペースを保ちたい。ひとえに検索流入が増やせるかにかかっている。Directのリテラルビジターのamazonへの移動率が他に比べてよいので検索しに直接訪れている人もいて非常に嬉しい。

失敗と反省

ヒートマップツールでみられている部分にソーシャルボタン設置してみたが利用されているようには見えない。シェアしたくなるようなコンテンツに育てるため機能、レスポンスタイムの短縮、サイトデザインを改善していきたい。かっこいいサイトデザイン(使いやすさ、見やすさを損なわないように)にしたい。2月はフォーム改善・デザイン変更のためにA/Bテストを行えるように頑張る。 ロングテールキーワードの対策が空振り続きだ。どうやったらロングテールキーワードでの検索流入を増やせるのかなぁ…

利用した新規サービス紹介サイトまとめ|個人webサービスの広め方!

はじめに

良いものを作ったとしても誰にも知られなければ使って頂けません。ユーザに届けるにはアピールが必須となります。
そこで今回はamazonの家具を寸法と価格から検索できる「家具search」を作った時に利用させていただいたサイトを紹介していきたいと思います。

紹介して貰うに当たって用意すべき物

紹介文は1度書いてしまえばいくらでも使いまわせるのでしっかり伝わる文章か考えながら頑張って書く。動画はコンセプトとか使い方とか解説すると良い。

各サービス紹介

・service safari掲載済み

ランキング機能があるので月曜日に掲載されるように月曜日に申請すると週間ランキング的には有利になりそう。(自分は日曜日に掲載されてランキングに載らなかった...)掲載希望は会員登録してメールにて掲載希望URLと一言紹介文を書いて終わり。自分の場合はメールを送った即日掲載して頂けました。

アナリティクス

登録から1ヶ月のセッション数:71
1ヶ月後も毎月すこしですがアクセスがある

・startapp|掲載済み

インタビューを受けるような形式で自分のサービスを紹介するメディア自分で質問項目を作ることができるので自由度は結構高い。掲載希望を出してから1~2日程度で掲載して頂けました。

アナリティクス

登録から1ヶ月のセッション数:40

・applichow|掲載済み

カテゴリ毎にWebサービスを紹介してくれているサービス。動画や画像を使ったサービス説明が充実している。掲載希望してから1日位で掲載して頂けました。

アナリティクス

登録から1ヶ月のセッション数:まだ

・ツクログ|掲載済み

こちらもすぐに掲載して頂けました.

アナリティクス

登録から1ヶ月のセッション数:まだ

Webサービス集めました|掲載済み

こちらもすぐに掲載して頂けました.一応有料の広告機能もあるみたいです.月刊ランキングがあるので月始めに投稿するほうがいいかもですね.
Webサービス集めました | 60秒で自分のWebサービスを宣伝できる

アナリティクス

登録1ヶ月のアクセス:51セッション

・ツクッタ―|掲載済み

twitterで呟いてくれる。千フォローくらいされている。
http://inajob.dip.jp/tsukutter/

・Seekups|掲載済み

個人で運営されている紹介サービスです.この方が運営されているプランナーと開発者を繋げるサービスも面白いので見てみてもいいかもしれません.
個人や企業が開発したWebサービススマホアプリを紹介するためのWebアプリです. seekups.seekgeeks.net

・放課後アプリ部|掲載済み

個人のアプリ開発者が集まって作る新しいプラットフォーム.収益性にとらわれない自由なアプリが集まってます.Webサービスも掲載してもらえるようです. houkago-no.appspot.com

・Eggineer|掲載済み

「プログラミング学習者に作品公開の場を」のコンセプトでエンジニアがどのように勉強してサイトを開発したのか共有できます.
個人で開発・学習している人のコミュニティになりそうですね. www.eggineer.com

・makepost|掲載済み

全ての「つくる人」に刺激を与え、互いの創作意欲を高められるような場所にしたい. そんな想いから生まれた、エンジニア向けのSNSです. www.makepost.net

Webサービス図鑑 |

webサービスまとめてみた|

・WebFolio

ベンチャー企業のサービスを中心に紹介を行っているサイトです.個人サービスは紹介してもらえるかは不明... websv.info

プチビジネス1ヶ月レポート 12月号

はじめに

今回の1ヶ月レポート対象は、9月15日にリリースしたamazonの家具を寸法と価格から検索できる「家具サイズ検索|Amazon家具を価格と寸法(幅x奥行x高)から検索!」です。

furniture-size-search.herokuapp.com

学生の内にサービス立ち上げ経験を得たくてプチビジネスとして初めた。 作るのは非常に楽しいのですが冷静に分析する機会を作らないとなかなか難しいので、分析を行う。理由とその時何を考えていたかのログをとる意味で書いていくつもりです。 学生の内にサービス立ち上げや運営してみたい人の参考になればいいなー

サービスの目標

 家具が一番売れるのは 3~4 月位だと思うので「 3~4月に1年間の運営費を稼げるサービス 」にしていくことです。具体的には、現在の 1 ヶ月運営費用が 12 $ 位なので 1.5万円 を 3~4 月に回収すること。

注意事項

Google analyticsの詳細なデータの開示が利用規約違反にあたるので四捨五入した値を公開することにします。 Amazon アソシエイトは大丈夫そうなので生の値で公開します。 なので全て約〇〇だと思って見ていただければ幸いです。

12月

行ったこと

データ・ユーザ分析

  • Google Analytics

    • 前月→今月
    • UU:230→280↑
    • PV:790→1,040↑
    • 直帰率:60%→52%↓
    • ページ/セッション:2.5→2.8↑
      UUの増加、直帰率の低下はともにSEO対策によるOrganic Searchの流入増加に起因するものと考えられる。

    • バイス種別

      • desktop:79%→69%↑
      • mobile:19%→28%↑
      • tablet:2%→ー2%ー
        バイルサイトを作ったことでモバイルにおける検索順位が上昇しOrganic Searchでの流入が増加した。またモバイルの直帰率が前月は60%だったが40%まで低下した。ページ/セッションにおいても前月が2.4だったのに対し3.4と大幅に増えている。
    • 集客

      • Direct:170→190↑
      • Organic Search:70→130↑
      • Referral:50→30↓
      • Social:20→20ー
        Organic Searchの増加が2倍とはいかないものの大幅な増加が見られた。ランディングページを1〜28日まで確認した所それぞれのカテゴリページへの流入が増えていた。しかしながらロングテールキーワード対策に作成したページは残念ながら流入には繋がってはいない。引き続き効果的なロングテールキーワードを探っていく。
    • Amazonへの移動した人の集客サマリー

      • Organic Search: 30
      • Direct:18
      • Referral:4
      • Social:3
        Organic Searchから流入してきたユーザが最もAmazonの商品ページに移動している。引き続き検索流入を増やしていくことを目指す。
  • Amazon アソシエイト

    • UU:127→131↑
    • amazon商品ページ移動数:291→476↑
    • 注文数:8→12↑
    • 売上:約39,000円→83,000円↑
    • 利益:約1,170円→2490円↑
    • コンバージョン率:2.75%→2.52%↓
      やっとサーバ代を超える収益があがりサービスの黒字化することができました。コストダウンと収益増加のおかげですね。毎月倍々ゲームで売上が増えているのでこのペースを保ちたい。ひとえに検索流入が増やせるかにかかっている。

失敗と反省

結局ロングテールキーワードの対策が空振り続きだ。どうやったらロングテールキーワードでの検索流入を増やせるのかなぁ...

Heroku PostgreSQLをAWS RDSに変更した話

はじめに

今回は自分の運営するamazonの家具を寸法と価格から検索できる「家具サイズ検索」のDBコスト削減のためにRDSに変更したので備忘録として記事にしておきます。 これまではアドオンのHeroku Postgresを利用しており$9かかっておりRDSに移行することにしました。(RDSはdb.t2.microは100%稼働なら月額$13.03以上)

RDSの設定

下のサイトを参考にインスタンスを作成しました。画像付きで丁寧に解説してくれおり見ながら行えばすぐに終わります。
https://segment.com/docs/warehouses/postgres/

ここで気をつけるのはVPCの設定がデフォルトでなくCreate New VPCを選ぶことだけです。 あとはセキュリティグループでインラインのPostgreを0.0.0.0/0に変更します。

Herokuの設定

今までHeroku Postgres :: Databaseを使っているならバックアップして消しちゃってください。(自分の場合は既存データが不要だったので気にせず消しちゃいました) でないとコンフィグ書き換えのときにエラーが出ます。

heroku addons:destroy heroku-postgresql -a [heroku_app_name]

あとは下を参考に
Amazon RDS | Heroku Dev Center

コンフィグを書き換えるべく以下を実行してください。([user_name]、[passwd]、[host_name]、[port]、[db_name]、 [heroku_app_name]は適切な値に書き換えてください。)

heroku config:add DATABASE_URL="postgres://[user_name]:[passwd]@[host_name]:[port]/[db_name]?sslca=config/amazon-rds-ca-cert.pem" -a [heroku_app_name]

あとはrakeしたら終わりです! おつかれサマー

Google Cloud PlatformでElasticsearchを起動してHerokuから接続する方法

はじめに

今回は自分の運営するamazonの家具を寸法と価格から検索できる「家具サイズ検索」のコスト削減のためにElasticsearchに変更したので備忘録として記事にしておきます。 これまではアドオンのHeroku Bonsai Elasticsearchを利用しており、10万レコードまでで$10かかっておりGCPに移行することにしました。(GCPはf1-microなら月額$4.49以上)

起動方法

今回はGoogle Cloud Platformのこちらのテンプレートを利用します。

f:id:UnselectedKids:20161220195120p:plain

ここで好きなセッティングにしてください。 Herokuから接続するのであればサーバの位置をusに設定しておきます。はじめ設定されているasiaは高いのでレスポンス時間がシビアでないならusをオススメします。

自分は$1ほど高くなりますが、検索スピードを担保するために一応SSDに変更に変更しています。 計測した所一応0.3secあるかないかですが検索時間が早くなりました。 また10Gまでストレージ容量も増やすことができたので10万レコードのリミットもなくなりました。

デプロイが完了すると以下の画面でuser名、パスワード、IPを確認します。

f:id:UnselectedKids:20161220215552p:plain

あとはRailsでsearchkickを使っているのであれば以下のようにheroku configを設定する。

 heroku config:set ELASTICSEARCH_URL='http://[user]:[passwd]@[IP]/elasticsearch/' 

 heroku run rake searchkick:reindex

ちなみにrakeするときが最もCPUを食うみたいで200%つまり2つインスタンスが立ってしまう? なのでbachサイズを小さくするため、app/models/product.rbに以下の設定を足して2インスタンスが立ち上がるの防いでいます。(本当に2インスタンス立ち上がるのかは不明です...)

searchkick batch_size: 100

1ヶ月分(1月1日~1月31日まで)のコスト

参考になるかわかりませんが自分のサービスの1ヶ月運用したコストも公開しておきます。検索数が多くなるとネットワーク料金がかかるはずなので参考程度にしてください。

内容 金額(日本円)
Compute Engine Sustained Usage Discount [ Currency conversion: USD to JPY using rate 117.68 ] -210
Compute Engine Micro instance with burstable CPU running in Americas: 743.967 時間 700
Compute Engine Network Internet Egress from Americas to Americas 41
Compute Engine SSD backed PD Capacity: 10.333 Gibibyte-months 200
合計 731