このドキュメントでは、ネットワーク環境内で FCM が正しく機能するために必要なネットワーク構成について説明します。
FCM にメッセージを送信するようにネットワークを構成する
始める前に、システムが FCM サーバーと通信してメッセージを送信し、サブスクリプションを管理していることを確認する必要があります。
FCM メッセージを送信したり、定期購入を管理したりするには、ネットワークが https 経由で次のサーバーと通信する必要があります。
- fcm.googleapis.com(メッセージ送信)
- accounts.google.com(メッセージ送信の認証)
- iid.googleapis.com(トピックの登録とデバイス グループの管理)
このリストは今後変更される可能性があります。これらのエンドポイントに対して IP ベースの許可リストを提供することはできません。
FCM を使用して Android デバイスのネットワークを構成する
このセクションでは、Android デバイスの FCM トラフィックをサポートするようにネットワークを構成する方法について説明します。
FCM ポートとファイアウォール
ほとんどのネットワークでは、デバイスがインターネットの他の部分に接続することを制限していません。通常は、この方法をおすすめします。ただし、一部の組織では、境界セキュリティ プランの一部としてファイアウォールが必要です。
ファイアウォール オプション
オプション | パートナー アドバイザーの役割 | 固有のルール | メモ |
---|---|---|---|
なし(推奨) | - | - | - |
ポートベースのフィルタリング(2 番目の選択肢) | 特定のポートへのトラフィックを制限する | 開く TCP ポート:
|
これは最もシンプルなルールであり、時間の経過とともに変化する可能性が高いものへの依存を防ぎます。 |
ホスト名に基づくフィルタリング | 特定の TLS SNI エントリをファイアウォール経由で通過させるための特別なファイアウォール構成を使用する。これはポートベースのフィルタリングと組み合わせることができます。 | 開くホスト名:
|
すべてのファイアウォール ソフトウェアがこれをサポートしているわけではありませんが、多くのソフトウェアがサポートしています。このリストはかなり安定していますが、変更があった場合でも、Google から積極的にお知らせすることはありません。 |
IP ベースのフィルタリング(強く非推奨) | IP アドレスの非常に大きな静的リストを使用します。 | goog.json にリストされている IP アドレスをすべて許可リストに登録します。このリストは定期的に更新されます。使用しているルールを毎月更新することをおすすめします。ファイアウォールの IP 制限に起因する問題は、多くの場合断続的であり、診断が困難です。 | Google の IP アドレス リストは予告なく頻繁に変更されるため、この大きなリストを入力して頻繁に更新する必要があります。 また、ファイアウォール ルールに IP 許可リストを入力する際に、入力ミスが頻繁に発生します。 この方法は、情報が古くなり、メンテナンスが行われなくなるため、おすすめしません。 また、リストのサイズが一部のルーターで扱いにくくなる可能性があります。 |
ネットワーク アドレス変換またはステートフル パケット インスペクション用のファイアウォール
ネットワーク アドレス変換(NAT)またはステートフル パケット インスペクション(SPI)をネットワークで実装している場合は、ポート 5228 ~ 5230 での接続に 30 分以上のタイムアウトを設定してください。これにより、信頼性の高い接続を提供しつつ、ユーザーのモバイル デバイスの電池消費量を削減できます。
FCM とプロキシ
FCM のプッシュ メッセージをデバイスに配信するプロトコルは、ネットワーク プロキシを介してプロキシ処理できません。そのため、ネットワーク上のデバイスからの FCM 接続が Google のサーバーに直接接続できることを確認する必要があります。
VPN との相互作用とバイパス可能性
Firebase Cloud Messaging は、スマートフォンからサーバーへのプッシュ メッセージ接続が信頼性が高く、可能な限り頻繁に利用できるようにさまざまな手順を踏んでいます。VPN を使用するとこの処理が複雑になります。
VPN は、FCM が信頼性とバッテリー寿命を最大化するために接続を調整するのに必要となる基本的な情報をマスクします。場合によっては、VPN が長時間接続を積極的に切断し、メッセージの欠落や遅延、バッテリーの消耗が原因でユーザー エクスペリエンスが低下することがあります。VPN の構成上可能であれば、信頼性が高くバッテリーに優しいエクスペリエンスを実現するため、暗号化された接続(ベースネットワークの Wi-Fi または LTE 経由)を使用して VPN をバイパスします。FCM でバイパス可能な VPN が使用されるのは、FCM プッシュ通知チャネルに固有の動作です。登録トラフィックなどの他の FCM トラフィックは、VPN がアクティブな場合、VPN を使用します。FCM 接続が VPN をバイパスすると、IP マスキングなどの VPN が提供する追加のメリットが失われます。
VPN によって、バイパスできるかどうかを制御する方法が異なります。手順については、ご利用の VPN のドキュメントをご覧ください。
VPN がバイパス可能に構成されていない場合、Firebase Cloud Messaging はサーバーに接続するために VPN ネットワークを使用してします。これにより、メッセージが遅延する期間が発生する可能性があります。また、Cloud Messaging が VPN 接続経由で接続を維持するために、バッテリーの使用量が増加する可能性があります。