やっと秋らしい天気になってきました!
読書の秋、スポーツの秋といいますが私は断然食欲の秋です
今年は、美味しいものたくさん食べる計画を立てているrisakoです。
今回はAutoScalingとはなんぞやというところから、使い方について簡単に紹介します。
AWS Auto Scalingってなに?
AWSの説明によると、AWS Auto Scalingとはこのようなものらしいです。
AWS Auto Scaling は、安定した予測可能なパフォーマンスを可能な限り低コストで維持するためにアプリケーションをモニタリングし、容量を自動で調整します。AWS Auto Scaling を使用すると、複数のサービスにまたがる複数のリソースのためのアプリケーションスケーリングを数分で簡単に設定できます。
まとめると、指定した容量に達した場合にEC2を自動で増やしたり減らしたりしてくれる機能です。
仕組み
AWS Auto Scalingを使うメリット
- 耐障害性の向上 →EC2インスタンスの異常を検出して停止し、自動で新しいインスタンスを作成してくれるので耐障害性に強いと言えます。
- 可用性の向上 →複数のAZ(Availability Zone)で設定した場合、一つのAZが使用不可になっても違うAZで新しいインスタンスを作成してくれます。
- コスト効率の向上 →指定した数のEC2インスタンスを自動で必要な分だけ作成してくれるので、無駄なEC2を作成しなくていいという点でコスト効率の向上と言えます。通常よりも多いアクセスにも指定した最大数のインスタンスを作成できるため、必要な時に必要な分だけインスタンスを動かせます。
作ってみよう
Auto Scalingグループの起動が使用するパラメータの作成
今回は、起動設定
での、作成方法について紹介します。
EC2コンソールから作成可能します。
- 起動設定作成を選択。
- 今回は、自分のEC2から作成するため、
マイAMI
で自分のEC2を選択する。 - 利用するインスタンスサイズを選択。
- インスタンスの名前・IAMロールの有無(今回は無し)・cloudwatchのモニタリングの有無を入力。
- ストレージの追加・セキュリティグループの設定を行う
- 作成
印象としては、EC2インスタンスを作成する手順とほぼ変わらなかったです
Auto Scaling グループの作成
- 上記と同様にEC2コンソール内から作成する。
- Auto Scalingグループの作成を選択
- 先ほど作成した
起動設定
の名前を選択する。 - AutoScalingグループの作成の各設定を入力する。
- グループのサイズ:起動したいインスタンスの数を設定する。
- ネットワーク;使用したいVPC
- サブネット:インスタンスを起動させるAZを選択
高度な詳細
の通知の送信では、でAuto Scalingが起動・終了・起動失敗・終了失敗
した時に指定したメールアドレスに通知を飛ばしてくれるので、何かあった時に気づくことができる。
EC2コンソールから確認する
autoscaling
の名前でインスタンスが立ち上がっていることが確認できます。
希望するキャバシティの数のインスタンスが立ち上がっていればokです。
インスタンスが立ち上がったのと同時にメールでの通知が来ました。
不具合が生じたときだけ通知を飛ばしてほしいなど通知をカスタマイズできるのもステキです
AutoScalingを使ってみた感想
簡単にEC2インスタンスを増減できることに驚きました。
AWSサービスをしっかり使うようになってから約3ヶ月ですが必要な時に必要な分だけEC2インスタンスを立てることができるのはお客様の要望にも幅広く対応していけそうだと感じました。
この機能はECS(EC2 Container Service)でも使われているので、ECSと共にマスターして行きたいです!
参考
Amazon EC2 AutoScaling ドキュメント https://docs.aws.amazon.com/ja_jp/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html
AWS Auto Scaling
https://aws.amazon.com/jp/autoscaling/
[AWS]Auto Scalingする前に知っておくべき7つのこと
https://miyabi-lab.space/blog/30