スロットリングとは?
一定期間で受けられるリクエストの数を設定して、それを超えてきたら受信拒否してエラーを返却すること。
S3にはスロットリング機能があるため、アクセスが集中すると一部の人は拒否されてしまう状態となる。
これは大人気の遊園地が入場制限することで、入場済みの来場者に快適に過ごしてもらうことに似ています。入場前の来場者にとっては好ましくありませんが。。。
画像引用:スロットリングとの付き合い方
S3ではどうやって対策をする?
S3のWebホスティング機能を使ってWebページを公開している場合、アクセス集中してスロットリングが発動してしまう状態は避けたいところ。AWSの場合は「構成力」で回避策を打つことができる。
真っ先に挙げられるのがCloudFrontをS3の前面に「影武者」として配置してあげる方法。これによって、より多くのアクセス数を捌けるようになる。
あとはElastiCacheを活用する方法もあるが、これはDBを参照するような動的サイトでの出番がある方法。CloudFrontと同じこともできるっちゃできるが、ちょい大袈裟だな。
DynamoDB Accelerator(DAX)もDB参照に対する負荷軽減対策だな。