Firebase 호스팅으로 무엇을 할 수 있나요?

Firebase Hosting(이)란 무엇인가요?

Firebase Hosting은 정적 및 동적 콘텐츠는 물론 마이크로서비스를 위한 완전 관리형 호스팅 서비스입니다. 서비스는 SSD 저장소 및 글로벌 CDN(콘텐츠 전송 네트워크)을 기반으로 합니다. Firebase Hosting은 별도의 구성 없이 SSL을 기본적으로 제공하여 콘텐츠를 항상 안전하게 전송합니다.

무엇을 호스팅할 수 있나요?

단일 페이지 웹 앱, 마케팅 웹사이트, 정적 및 동적 애셋 호스팅 가능

단일 페이지 웹 앱 및 정적 웹사이트 서비스를 제공할 때 Firebase Hosting의 고유한 최적화 이점을 활용할 수 있습니다. 정적 애셋(HTML, CSS, 자바스크립트, 글꼴 등)의 전송은 Google의 SSD 백엔드 스토리지와 전 세계의 모든 주요 위치에 에지 위치가 있는 글로벌 CDN에서 지원합니다. 글로벌 CDN에서 동적 콘텐츠를 캐시할 수도 있습니다. Firebase에서 호스팅하는 모든 사이트에도 SSL 인증서가 무료로 제공되므로 콘텐츠가 항상 안전하게 전송됩니다.

마이크로서비스, API, 양식 빌드 후 호스팅 가능

Firebase HostingCloud Functions와 페어링하면 Express.js 프레임워크를 사용하여 마이크로서비스를 빌드할 수 있습니다. Firebase에서 마이크로서비스 및 API를 호스팅할 수 있습니다. 또한 Cloud Firestore와의 긴밀한 통합을 통해 데이터를 실시간으로 업데이트할 수 있는 매우 강력한 양식 및 웹 앱을 만들 수 있습니다.

커스텀 도메인(또는 하위 도메인) 추가

Firebase Hosting을 사용하면 Firebase 하위 도메인이 자동으로 부여되지만 example.com 또는 myrealtimeapp.example.com과 같은 커스텀 도메인에서 콘텐츠를 제공할 수도 있습니다. Firebase Hosting은 각 도메인의 SSL 인증서를 프로비저닝하고 글로벌 CDN을 통해 콘텐츠를 제공합니다.

프로덕션 워크플로 설정

실제 사이트에 배포하기 전 변경사항을 확인하고 테스트해야 합니다. Firebase Hosting에서는 변경사항을 로컬로 확인 및 테스트하고 에뮬레이션된 백엔드 프로젝트 리소스와 상호작용할 수 있습니다. 팀원이 변경사항을 보고 테스트해야 할 경우 Hosting에서 사이트의 공유 가능한 임시 미리보기 URL을 만들 수 있습니다. pull 요청에서 배포할 수 있도록 GitHub 통합도 지원됩니다.

로컬 테스트, 변경사항 미리보기, 배포에 대해 자세히 알아보세요.

모든 사이트를 한곳에 보관

Firebase HostingFirebase 프로젝트 하나에 여러 사이트를 지원합니다. 각 사이트는 고유한 콘텐츠 모음을 호스팅하고 고유한 호스팅 구성을 가지며 하나 이상의 연결된 도메인을 포함할 수 있습니다. 사이트가 모두 같은 Firebase 프로젝트에 있으므로 모든 사이트에서 프로젝트의 다른 Firebase 리소스에 액세스할 수 있습니다.

Firebase 프로젝트에서 여러 사이트를 사용하여 관련 사이트를 한곳에 보관할 수 있습니다(예: 단일 페이지 앱, 블로그, 마케팅 웹사이트).

사이트의 웹 요청 로그 보기, 검색, 필터링

Firebase 프로젝트를 Cloud Logging에 연결하여 각 Hosting 사이트의 웹 요청 로그를 보고 검색, 필터링할 수 있습니다. 이러한 로그는 Firebase에서 자동으로 제공하는 CDN에서 가져오므로 사이트에 대한 모든 요청과 관련 요청 데이터가 로깅됩니다.

Cloud Logging 로그로 수행할 수 있는 작업은 다음과 같습니다.

  • 사이트를 상세하게 파악 — 사용자가 사이트를 방문한 위치와 시기, 사이트의 응답 상태, 최종 사용자 요청의 지연 시간 등을 확인할 수 있습니다.

  • 쿼리를 사용하여 로그를 필터링 — 자동으로 수집된 데이터를 활용하여 각 요청 또는 사이트와 관련된 데이터를 필터링하고 도표로 표시합니다.

  • 로그 기반 측정항목 사용 - 사전 정의된 시스템 측정항목 또는 사용자 정의 측정항목에서 Cloud Monitoring 차트 및 알림 정책을 만듭니다.

  • 다른 Google Cloud 도구로 로그 내보내기 — 보다 강력한 분석 및 상관관계 확인을 위해 다른 도구(예: BigQuery, 데이터 스튜디오)에서 로그 데이터를 사용합니다.

자세한 내용은 Cloud LoggingHosting 통합 페이지를 참조하세요.

Cloud Build로 지속적 배포 자동화

Cloud Build와 연결되어 있는 Firebase Hosting은 정적 및 동적 콘텐츠는 물론 마이크로서비스의 지속적 배포 워크플로를 자동화하기 위한 DevOps 지원 솔루션을 제공합니다.

이러한 도구를 구성한 후 Git 저장소에 코드를 체크인하면 Firebase Hosting에 웹 앱을 배포할 수 있습니다.

Next.js 또는 Angular Universal에서 개발된 풀 스택 웹 앱을 위한 지속적 배포에 관심이 있는 경우 Firebase App Hosting 프리뷰를 확인하세요. App Hosting은 수동 구성 없이 Cloud BuildCloud Run을 사용하여 GitHub 저장소에서 자동 출시를 제공합니다.

모든 요소 맞춤설정하기

  • 오류 페이지 - 웹 앱에서 완벽하게 맞춤설정된 404 페이지를 반환합니다.

  • 재작성 - 엔드포인트별로 어떤 트래픽을 제공하는지 맞춤설정하고 여러 URL로 동일한 콘텐츠를 표시할 수도 있습니다.

  • 현지화된 콘텐츠 - 사용자의 언어 환경설정 및 국가에 따라 맞춤설정된 콘텐츠를 제공합니다.

  • 헤더 - 쿠키에 액세스하고 싶으신가요? 커스텀 헤더를 사용하세요.

  • 캐싱 및 CDN 동작 - 커스텀 헤더를 통해 CDN에서 웹 앱이 캐싱되는 방식을 관리합니다.

웹 앱에 대한 액세스 제한 및 DDoS 공격 대응

Express.js 미들웨어의 강력한 기능을 사용하여 마이크로서비스, API, 다른 HTTPS 엔드포인트 제공에 커스텀 로직을 적용할 수 있습니다. 예를 들어 코드 몇 줄로 많이 사용되는 Node.js 미들웨어를 통합해 IP를 통한 액세스 관리 또는 서비스 거부(DDoS) 공격에 대한 보호 등 추가 보안 레이어를 구축할 수 있습니다.

다양한 웹 기반 IDE에서 Firebase로 배포

Firebase Hosting은 다양한 웹 기반 IDE와 통합되어 있으므로 2개의 웹 기반 IDE인 StackBlitzGlitch 내에서 Firebase Hosting으로 직접 배포할 수 있습니다.

Stackblitz를 사용하여 배포
Stackblitz를 사용하여 Firebase Hosting에 배포
Glitch를 사용하여 배포
Glitch를 사용하여 Firebase Hosting에 배포

이러한 IDE를 사용하면 Firebase 앱을 만드는 시점을 자동으로 감지하고 IDE를 나가지 않고도 버튼 클릭만으로 Firebase Hosting에 배포할 수 있습니다.

다른 Firebase 서비스와 긴밀한 통합 구축

FriendlyChat 웹 Codelab

Firebase HostingCloud Functions, Authentication, Realtime Database, Cloud Firestore, Cloud Messaging을 포함하여 Firebase 서비스와 함께 바로 사용할 수 있습니다. 이러한 상호 보완적인 Firebase 서비스를 사용하여 강력한 마이크로서비스 및 웹 앱을 만들 수 있습니다.

Google의 FriendlyChat 웹 Codelab을 사용하여 Hosting이 이러한 Firebase 서비스와 페어링하는 방법을 알아보세요.

REST API 및 Google의 Node.js 모듈을 사용하여 커스텀 배포 워크플로 만들기

Firebase Hosting은 고급 개발자들이 JavaScript 앱을 통해 배포하는 것과 같은 커스텀 워크플로를 만들 수 있도록 REST API를 지원합니다.

Node.js 앱으로 가져와서 고급 기능을 빌드할 수 있는 Node.js 모듈도 제공합니다.