Comment héberger un site web statique avec Yandex.Cloud Object Storage

Salut, Habr !

Dans cet article, je vais vous expliquer comment facilement et simplement héberger un site statique à l'aide des technologies de Yandex, à savoir Object Storage.

À la fin, vous aurez un site web hĂ©bergĂ© qui sera accessible via un lien externe.

Cet article sera utile si vous ĂȘtes

  • Un dĂ©veloppeur dĂ©butant qui est en train d'apprendre la programmation ;
  • Un dĂ©veloppeur qui a créé un portfolio et souhaite le rendre accessible au public, afin de le montrer Ă  ses amis et employeurs.

À propos de moi

RĂ©cemment, j'ai dĂ©veloppĂ© un service SaaS, similaire Ă  un marchĂ©, oĂč les gens trouvent des entraĂźneurs sportifs pour des entraĂźnements personnels. J'ai utilisĂ© le stack Amazon Web Services (AWS). Mais plus je me plongeais dans le projet, plus j'apprenais sur les diffĂ©rents processus d'organisation d'une startup.

J'ai rencontré les problÚmes suivants :

  • AWS coĂ»tait trĂšs cher. AprĂšs avoir travaillĂ© 3 ans dans des entreprises de taille Ă©tablie, je suis habituĂ© Ă  des outils tels que Docker, Kubernetes, CI/CD, blue-green deployment, et en tant que dĂ©veloppeur dĂ©butant dans une startup, je voulais implĂ©menter la mĂȘme chose. Au final, je me suis rendu compte qu'AWS coĂ»tait entre 300 et 400 dollars par mois. Le plus coĂ»teux Ă©tait Kubernetes, environ 100 dollars, avec un minimum d'un cluster et une node.
    P.S. Au début, il n'est pas nécessaire de faire cela.
  • Ensuite, en rĂ©flĂ©chissant Ă  l'aspect juridique, j'ai dĂ©couvert la loi 152-FZ, qui Ă©nonçait Ă  peu prĂšs ceci : "Les donnĂ©es personnelles des citoyens russes doivent ĂȘtre stockĂ©es sur le territoire de la Russie", sinon des amendes, ce que je voulais Ă©viter. J'ai dĂ©cidĂ© de m'occuper de ces questions avant que cela ne me tombe dessus :)

Inspiré article par la migration de l'infrastructure d'Amazon Web Services vers Yandex.Cloud, j'ai décidé d'étudier le stack de Yandex plus en détail.

Pour moi, les caractéristiques clés de Yandex.Cloud étaient les suivantes :

J'ai Ă©tudiĂ© d'autres concurrents de ce service, mais Ă  cette Ă©poque, Yandex Ă©tait en tĂȘte.

J'ai parlé de moi, passons aux choses sérieuses.

Étape 0. PrĂ©parez le site

Tout d'abord, nous aurons besoin d'un site que nous souhaitons hĂ©berger sur Internet. Étant dĂ©veloppeur Angular, je vais crĂ©er un simple modĂšle d'application SPA que je vais ensuite hĂ©berger sur Internet.

P.S. Ceux qui maütrisent Angular ou connaissent sa documentation https://angular.io/guide/setup-local, passez à Étape 1.

Nous allons installer Angular-CLI pour créer des sites SPA avec Angular :

npm install -g @angular/cli

Créons une application Angular à l'aide de la commande suivante :

ng new angular-habr-object-storage

Ensuite, nous allons dans le dossier de l'application et la lançons pour vérifier son bon fonctionnement :

cd angular-habr-object-storage
ng serve --open

Comment héberger un site web statique avec Yandex.Cloud Object Storage

L'application a Ă©tĂ© créée, mais elle n'est pas encore prĂȘte Ă  ĂȘtre hĂ©bergĂ©e. Nous allons crĂ©er un petit build (Production) pour Ă©liminer le superflu et ne garder que les fichiers nĂ©cessaires.
Dans Angular, cela peut ĂȘtre fait avec la commande suivante :

ng build --prod

En conséquence de cette commande, un dossier est apparu à la racine de l'application dist avec notre site.

Ça fonctionne. Passons maintenant Ă  l'hĂ©bergement.

Étape 1.

Allons sur le site https://console.cloud.yandex.ru/ et cliquons sur le bouton "Connecter".

Remarque :

  • Pour utiliser le service Yandex, une adresse e-mail Yandex peut ĂȘtre nĂ©cessaire (mais ce n'est pas certain).
  • Pour certaines fonctionnalitĂ©s, il sera nĂ©cessaire de dĂ©poser de l'argent sur le compte dans l'espace personnel (minimum 500 roubles).

AprÚs une inscription et une connexion réussies, nous sommes dans l'espace personnel.

Comment héberger un site web statique avec Yandex.Cloud Object Storage

Ensuite, dans le menu à gauche, il faut trouver le service "Object Storage", que nous allons utiliser pour l'hébergement du site.

En bref sur les termes :

  • Object Storage est un stockage de fichiers compatible avec la technologie similaire d'Amazon AWS S3, qui dispose Ă©galement de son API pour gĂ©rer le stockage Ă  partir du code et qui, comme AWS S3, peut ĂȘtre utilisĂ© pour hĂ©berger un site statique.
  • Dans Object Storage, nous crĂ©ons des "buckets" (bucket / Corbeille), qui sont des stockages sĂ©parĂ©s pour nos fichiers.

Comment héberger un site web statique avec Yandex.Cloud Object Storage

Créons l'un d'eux. Pour cela, dans la console du service, cliquons sur le bouton "Créer un bucket".

Comment héberger un site web statique avec Yandex.Cloud Object Storage

Dans le formulaire de création de bucket, il y a les champs suivants, parcourons-les :

  • Nom du bucket. Pour simplifier, appelons-le comme le projet Angular — angular-habr-object-storage
  • Taille max. Mettons autant que pĂšse notre site, car le site n'est pas stockĂ© gratuitement et pour chaque gigaoctet attribuĂ©, nous devrons payer quelques centimes Ă  Yandex.
  • AccĂšs en lecture aux objets. Mettons "Public", car l'utilisateur doit pouvoir accĂ©der Ă  chaque fichier de notre site statique pour que la mise en page s'affiche correctement, que les scripts fonctionnent, etc.
  • AccĂšs Ă  la liste des objets et accĂšs Ă  la lecture des paramĂštres. Laissons "Restreint". Ceci est nĂ©cessaire pour utiliser le bucket comme stockage interne des fichiers pour les applications.
  • Classe de stockage. Nous laissons "Standard". Cela signifie que notre site sera souvent visitĂ©, et donc les fichiers qui le composent seront frĂ©quemment tĂ©lĂ©chargĂ©s. De plus, ce point influence les performances et le coĂ»t (insĂ©rer le lien).

Nous cliquons sur "Créer un bucket" et le bucket est créé.

Comment héberger un site web statique avec Yandex.Cloud Object Storage

Nous devons maintenant télécharger notre site dans le bucket. Le moyen le plus simple est d'ouvrir un dossier à cÎté de notre site dist et de glisser-déposer directement dans la page. C'est plus pratique que de cliquer sur le bouton "Téléverser des objets", car dans ce cas, les dossiers ne sont pas transférés et il faudra les créer manuellement dans le bon ordre.

Comment héberger un site web statique avec Yandex.Cloud Object Storage

Ainsi, le site est téléchargé dans le stockage, et nous pouvons permettre aux utilisateurs d'accéder au stockage comme s'il s'agissait d'un site.
Pour cela, Ă  gauche dans le menu, cliquez sur l'onglet "Site web".

Comment héberger un site web statique avec Yandex.Cloud Object Storage

Sur la page de configuration du bucket comme site, sélectionnez l'onglet "Hébergement". Ici, nous indiquons la page d'accueil du site, qui est généralement index.html. Si vous avez une application SPA, il se peut que toutes les erreurs soient également traitées sur la page d'accueil, alors nous indiquerons également index.html pour la page d'erreur.

Nous voyons immédiatement par quel lien notre site sera accessible. Cliquons sur enregistrer.

Dans environ cinq minutes, en accédant au lien, nous pouvons voir que notre site est maintenant accessible à tous.

Comment héberger un site web statique avec Yandex.Cloud Object Storage

Merci à tous ceux qui ont lu jusqu'à la fin ! C'est mon premier article, je prévois de décrire d'autres services de Yandex et leur intégration avec les technologies frontend et backend.

Écrivez dans les commentaires Ă  quel point il vous serait intĂ©ressant de connaĂźtre d'autres services de Yandex ou sur l'utilisation d'Angular dans le dĂ©veloppement moderne.

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster