-1
votes

Comment limiter le nombre de lectures de S3 Seau

J'hôte un site Web statique en S3 avec Cloudfront. Existe-t-il un moyen de définir une limite pour combien de lectures (par exemple par mois) seront autorisées pour mon seau S3 afin de s'assurer que je ne vais pas avoir au-dessus de mon budget alloué?


0 commentaires

3 Réponses :


0
votes

Vous pouvez activer les données de cloudrail lire des événements de lecture pour le godet, créez une règle d'événement CloudWatch pour déclencher une fonction AWS Lambda qui incristent le nombre de lectures par objet dans une table Amazon DynamoDB et restreignez l'accès aux objets une fois qu'un certain nombre de lectures. a été atteint.


2 commentaires

Merci de partager cela. Ce que vous suggérez définitivement de sens, mais j'espérais qu'il y a un moyen moins compliqué de le faire, ce qui est peut-être aussi un peu plus intelligent pour allouer les lectures plus équitablement. Par exemple, si beaucoup d'appels proviennent d'un service semblable à un bot, ce serait formidable si les lectures pouvaient être allouées plus équitablement envers les utilisateurs par rapport à un premier arrivé au premier arrivé.


Vous pouvez mettre un AWS WAF avec une règle basée sur un taux devant la distribution de CloudFront pour empêcher le trafic de clients dépassant une certaine quantité de demandes dans une durée donnée. docs.aws.amazon. COM / WAF / Dernier / Developerguide / ...



1
votes

Si vous craignez d'aller sur un budget, je recommanderais Création d'une alarme de facturation pour surveiller vos charges AWS estimées .

AWS est conçu pour les organisations de grande envergure qui SOIN sur la fourniture d'un service fiable aux clients que de rester dans un budget particulier. Par exemple, si leur budget alloué était complètement consommé, ils ne voudraient pas cesser de fournir des services à leurs clients. Ils pourraient toutefois vouloir modifier leur infrastructure pour réduire les coûts à l'avenir, tels que la modification du Classe de prix pour une distribution de Cloudfront ou en utilisant AWS WAF pour empêcher de consommer des robots de consommer trop de trafic.

Votre site Web statique sera plutôt faible coût. Le facteur le plus important sera probablement Transfert de données plutôt que des charges pour les demandes. Changer la classe de prix devrait aider avec cela. Cependant, le seul moyen russe d'arrêter d'accumuler des charges de transfert de données est d'arrêter de servir le contenu.


0 commentaires

0
votes

Qu'est-ce que vous demandez est une question très typique dans AWS. Malheureusement, avec une échelle proche infinie, vient près d'Infinite Dépens.

Bien que vous puissiez mettre un appareil WAF, cela est réellement destiné à la sécurité plutôt que de restrictions à l'échelle. D'une perspective de coûts, je serais plus inquiet pour les accusations de bande passante que je ne serais en mesure de coûter les demandes S3.

Plus une fois que vous avez mis des choses comme Cloudfront ou Lambda, il devient difficile de limiter tout cela.

La meilleure façon de limiter est de mettre des alertes de facturation sur votre compte - et vous pouvez leur niveau, vous obtenez donc une alerte de 10 $, 20 $, 100 $, jusqu'à ce que vous soyez mal à l'aise. Puis désactivez manuellement le site Web - ou configurez une fonction Lambda pour le désactiver pour vous.


0 commentaires