Si vous n'avez pas besoin de traitement HTML côté serveur, vous n'aurez peut-être même pas besoin d'un «vrai» serveur Web comme NGINX – les sites Web statiques peuvent être hébergés et servis à partir de compartiments GCP Cloud Storage, une alternative hautes performances et évolutive à l'hébergement Web traditionnel. .
Qu'est-ce qu'un site Web «statique»?
Malgré son apparence, "Statique" ne signifie pas que votre site Web n'est pas autorisé à avoir du contenu JavaScript ou dynamique. Vous êtes toujours libre de servir des applications Web JavaScript, même des applications entièrement dynamiques créées avec des cadres comme React.
Statique signifie simplement que le contenu que vous servez ne change pas en réponse aux demandes. Le meilleur exemple de contenu dynamique est un langage de traitement côté serveur comme PHP, souvent utilisé avec des frameworks comme WordPress pour récupérer des articles d'une base de données en réponse aux demandes des utilisateurs. Dans ce cas, le contenu HTML est modifié et personnalisé avant d'être envoyé à l'utilisateur.
Avec le contenu statique, vous ne diffusez que des fichiers HTML, CSS et JavaScript ainsi que toutes les images requises pour le site. L'avantage est que vous n'avez pas réellement besoin d'un serveur Web complet pour diffuser ce contenu. Parce qu'il ne s'agit que de fichiers, vous pouvez les servir directement à partir de compartiments de stockage cloud.
Google Cloud Platform, comme AWS, offre une fonctionnalité pour cela, vous permettant de configurer un compartiment de stockage cloud avec un point de terminaison Web, afin que vous puissiez l'utiliser comme serveur Web pour le contenu statique. Il n'y a aucune instance, mise à l'échelle automatique ou configuration NGINX à craindre, et le compartiment évoluera pour répondre à toute demande que vous lui enverrez.
Au niveau des prix, vous êtes tout simplement payer les frais de Cloud Storage pour le stockage ainsi que la bande passante, comme tout autre service GCP. Vous devrez également payer les coûts de l'équilibreur de charge, qui est utilisé pour fournir le contenu et fournir une assistance HTTPS. Ce n'est pas gratuit et coûte une heure, plus les données d'entrée traitées, vous envisagez donc un minimum absolu d'environ 20 $ par mois. Si vous cherchez à héberger un site simple pour libre, vous feriez peut-être mieux d’utiliser la plate-forme d’hébergement de Firebase, qui offre un niveau gratuit généreux.
Bien sûr, si vous cherchez à exécuter quelque chose comme WordPress, vous aurez besoin d'un vrai serveur, et si vous construisez une application qui a besoin d'une base de données, vous aurez également besoin d'un serveur de base de données et d'un serveur API. Mais vous en aurez besoin de toute façon, et si vous pouvez remplacer NGINX par un compartiment Cloud Storage, cela peut vous éviter des maux de tête.
Configuration du stockage cloud et du cloud CDN
Rendez-vous au Console de stockage cloud pour créer un seau.
Choisissez un niveau de stockage standard multi-régions et un contrôle d'accès uniforme, puis créez le compartiment.
Le compartiment est privé par défaut. Vous pouvez activer l'accès public à partir de l'onglet autorisations, en ajoutant un nouveau membre, en sélectionnant «allUsers» et en lui attribuant le rôle de visionneuse d'objets de stockage. Vous recevrez un avertissement vous rappelant que cela autorise l'accès public.
Une fois cela fait, vous pouvez copier manuellement les fichiers de votre site Web ou utiliser gsutil rsync
pour synchroniser un répertoire entier.
gsutil rsync -R public gs: // bucketname
Votre site devrait maintenant être accessible au public, bien que sous un sous-répertoire de storage.googleapis.com
. Si vous souhaitez configurer un domaine personnalisé avec HTTPS, vous aurez besoin d'un équilibreur de charge en face.
Rendez-vous au Console de mise en réseau GCP, et cliquez sur «Load Balancing». Créez-en un nouveau et sélectionnez «HTTPS Load Balancing» comme configuration.
Définissez-le comme accessible sur Internet et sous «Configuration du backend», ajoutez un nouveau compartiment backend.
Cela vous permet simplement de définir le nom du compartiment et d'activer Cloud CDN pour ce compartiment si vous le souhaitez, ce qui mettra le contenu en cache plus près des utilisateurs.
Ensuite, vous pouvez définir les règles de routage. Vous irez probablement bien en acheminant tout vers le même compartiment, mais si vous souhaitez stocker des images ou d'autres médias dans un compartiment séparé, vous pouvez le faire.
Pour la configuration frontale, définissez le protocole sur HTTPS et remplacez l'adresse IP éphémère par une adresse statique, que vous devrez peut-être fournir dans la boîte de dialogue qui s'affiche.
Vous aurez bien sûr besoin d'un certificat SSL pour utiliser votre domaine sur HTTPS. Vous pouvez en fournir un gratuitement à Google ou télécharger le vôtre; vous devrez associer votre domaine, mais une fois que vous l'avez fait, vous pourrez le sélectionner dans cette liste déroulante.
Cliquez sur «Revoir et finaliser» et l'équilibreur de charge sera créé. Vous devrez configurer votre DNS pour pointer vers l'adresse IP statique que vous avez attribuée à l'équilibreur de charge.