이 문서에서는 FCM가 네트워크 환경 내에서 올바르게 작동하는 데 필요한 네트워크 구성을 설명합니다.
FCM에 메시지를 전송하도록 네트워크 구성
시작하기 전에 시스템이 메시지를 보내고 구독을 관리하기 위해 FCM 서버와 통신하는지 확인해야 합니다.
FCM 메시지를 보내거나 구독을 관리하려면 네트워크가 https를 통해 다음 서버와 통신해야 합니다.
- fcm.googleapis.com (메시지 전송)
- accounts.google.com (메시지 전송 인증)
- iid.googleapis.com (주제 구독 및 기기 그룹 관리)
이 목록은 시간이 지남에 따라 변경될 수 있습니다. 이러한 엔드포인트에 대해 IP 기반 허용 목록을 제공할 수 없습니다.
FCM를 사용하여 Android 기기용 네트워크 구성
이 섹션에서는 Android 기기의 FCM 트래픽을 지원하도록 네트워크를 구성하는 방법을 자세히 설명합니다.
FCM 포트 및 방화벽
대부분의 네트워크는 기기가 나머지 인터넷에 연결되는 것을 제한하지 않습니다. 일반적으로 이 방법을 권장합니다. 하지만 일부 조직에서는 경계 보안 계획의 일환으로 방화벽을 요구합니다.
방화벽 옵션
옵션 | 비즈니스 개요 | 특정 규칙 | 참고 |
---|---|---|---|
없음 (선호) | - | - | - |
포트 기반 필터링 (두 번째 선택사항) | 특정 포트로 트래픽 제한 | 열려는 TCP 포트:
|
이는 가장 간단한 규칙이며 시간이 지남에 따라 변경될 가능성이 높은 항목에 대한 종속성을 방지합니다. |
호스트 이름 기반 필터링 | 특정 TLS SNI 항목이 방화벽을 통과하도록 허용 목록에 추가하는 특수 방화벽 구성을 사용합니다. 이는 포트 기반 필터링과 결합될 수 있습니다. | 열릴 호스트 이름:
|
일부 방화벽 소프트웨어는 이를 지원하지 않지만 많은 소프트웨어가 지원합니다. 이 목록은 비교적 안정적이지만 변경되더라도 사전 알림을 보내지는 않습니다. |
IP 기반 필터링 (권장하지 않음) | 매우 큰 고정 IP 주소 목록을 사용합니다. | goog.json에 나와 있는 모든 IP 주소를 허용 목록에 추가합니다. 이 목록은 정기적으로 업데이트되며 규칙을 월 단위로 업데이트하는 것이 좋습니다. 방화벽 IP 제한으로 인해 발생하는 문제는 보통 간헐적이며 진단하기 어렵습니다. | Google에서는 경고 없이 매우 자주 IP 주소 목록을 변경하므로 이 큰 목록을 입력하고 자주 업데이트해야 합니다. 또한 사용자가 방화벽 규칙에 IP 허용 목록을 입력하려고 할 때 오타가 자주 발생합니다. 정보가 항상 최신 상태로 유지되지 않으므로 이 방법을 권장하지 않습니다. 또한 목록의 크기가 일부 라우터에서 관리하기 어려울 수 있습니다. |
네트워크 주소 변환 또는 스테이트풀(Stateful) 패킷 검사 방화벽
네트워크에서 네트워크 주소 변환 (NAT)이나 상태 추적 패킷 검사 (SPI)를 구현하는 경우 포트 5228~5230을 통한 연결에 대해 30분 이상의 제한 시간을 구현하세요. 이렇게 하면 Google에서 사용자 휴대기기의 배터리 소비를 줄이면서 안정적인 연결을 제공할 수 있습니다.
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 연결을 통해 연결을 유지하기 위해 작동하므로 배터리 사용량이 늘어날 수 있습니다.