読者です 読者をやめる 読者になる 読者になる

Unselected Kids 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

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

はじめに

今回の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 アソシエイトは大丈夫そうなので生の値で公開します。 なので全て約〇〇だと思って見ていただければ幸いです。

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テストを行えるように頑張る。 ロングテールキーワードの対策が空振り続きだ。どうやったらロングテールキーワードでの検索流入を増やせるのかなぁ…

利用した新規サービス紹介サイト一覧

はじめに

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

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

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

各サービス紹介

・service safari掲載済み

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

アナルティクス

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

・startapp|掲載済み

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

アナルティクス

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

・applichow|掲載済み

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

アナルティクス

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

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

・ツクログ|申請中

・sercus|申請中

・ツクッタ―

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

Webサービス図鑑 |申請中

https://iritec.jp/web_service/index.html

プチビジネス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の設定

下のサイトを参考にインスタンスを作成しました。画像付きで丁寧に解説してくれおり見ながら行えばすぐに終わります。
Postgres - Segment

ここで気をつけるのは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