LoginSignup
49
48

More than 5 years have passed since last update.

[Firebase]運用面における導入のポイント(利用料金、監視、セキュリティ)

Last updated at Posted at 2016-09-01

はじめに

FirebaseはmBaaSにカテゴライズされ、自前でWebサーバーをホスティングせずとも手軽にデータ管理を行うことができるGoogle製のクラウドサービスです。ソケット通信による双方向のリアルタイム参照/更新も魅力の1つとなります。

利用料金

プランは無料、月額固定($25/month)、従量課金の3プランがあります。
https://firebase.google.com/pricing/
利用料金

例)1レコードあたり100Byteとした場合

100Byte = ID(10Byte)+名前(20Byte)+住所(50Byte)+電話番号(10Byte)+ その他(10Byte) 

無料(SPARK) 月額$25(FLAME) 従量課金(BLAZE)
同時接続数 100 無制限 無制限
データ容量 約1,000万件 約2,500万件 約1,000万件
データ転送量 約1億I/O 約2億I/O 約1,000万I/O

※同時接続数の無制限の実態は10,000件まで
※データストレージ(ファイル等)、ホスティングコンテンツ、TestLabは割愛
※制限が超過する前にメールが配信される
※SPARK、FRAMEプランの場合、制限値が超過した場合はAPIのレスポンスにエラーが戻る
(自動的にスケールするわけではないため莫大に請求されることはない)
※以前までは使用量を監視する機能はなかったが2016年7月末にコンソール画面に使用状況タブが用意され可能となった

料金支払い方法

コンソール画面にログイン後に、左下のアップグレードから進むとクレジット登録画面に進みます。
※個人名などの情報は伏せています
料金支払い方法

管理者の権限管理

Firebase用の管理ページから管理者アカウントの追加/削除/ロールの変更などが可能です。
管理者の権限管理

Firebaseの障害情報

Firebase自体は毎週7分程度のダウンタイムがあるようです。※こちらのスライド参照しました
以下のページにて現在のfirebaseのステータス(障害情報)が確認できます。
https://status.firebase.google.com/

障害情報

セキュリティ

データアクセスに関するセキュリティについて、基本的には全体、オブジェクト(DBのテーブル)単位、データ(DBのレコード)単位で指定が可能となります。
※考え方としてはオブジェクトのセキュリティは緩くして、レコード単位で絞っていくイメージです。

管理画面上ではJSON形式で指定します。
セキュリティ

基本的な概念として、firebaseのデータアクセスはアプリ(Webサイト)にログイン認証機能を設けて自分のデータのみ編集可能とし、他者のデータは閲覧のみまたはアクセス不可とするような考え方です。

ユーザー認証の仕組み、ユーザーデータ自体はfirebaseでも用意されております。
(Google、facebook、twitter、自前用、匿名などなど)

ログイン後はuidが割り振られ、先ほどのルールに記載することが可能です。
※以下はサンプルです。$uidとログイン後のuidが一致した場合のみ読み書きできるなど

{
  "rules": {
    "users": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    }
  }
}

管理画面など自前のサーバーから自由にアクセスしたい場合などは工夫が必要がそうです。
サーバーサイドから利用するFirebase

その他(オフラインの挙動)

オフラインの挙動(こちらから抜粋)

スマホやPCから書き込まれたデータはローカルストレージに保存された後、サーバに送信されます。このとき、もしネットワーク障害が発生してもデータはローカルに保存され、ネットワークが復帰次第サーバに送信されて通常のFirebase処理を継続します。
オフライン

49
48
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
49
48