#はじめに
AWS AutoScaling・・EC2を処理負荷に合わせて、増やしたり減らしたりすることができる便利なサービス
公式サイト
このサービスを利用することで、耐障害性・可用性・コスト効率の向上を実現できます。
サービスを使用するときにはあらかじめ、起動テンプレート(何を)オートスケーリンググループ(どこで)スケーリングポリシー(どんな状態の時に)を設定します。
#具体例
スーパーでのレジ待ちを想像してみましょう。
今は店員さん1人に対して、お客さん1人なので問題なく対応することができます。
しかししばらくすると...
お客さんの人数が3人になってしまい、1人では対応できなくなってしまいました。
そこで、店員さんは急いで他の仕事をしている店員さんをアラームで1番レジと2番レジに呼び出します。(これをルール①とします。)
これで店員さん1人に対して、お客さん1人なので問題なく対応することができます。
そしてお客さんがいなくなってしまったら、追加で来てもらった店員さんには別の仕事に戻ってもらいます。(これをルール②とします。)
この状況をAutoScalingと紐づけると、
起動テンプレート(何を)=店員さん
オートスケーリンググループ(どこで)=1番レジと2番レジ
オートスケーリングポリシー(どのような状態時に)=お客さんが2人以上並んだ時、お客さんがいなくなった時(ルール①、②)
となります。
#ハンズオン①起動テンプレートの作成
今回は既に作成されている停止済のEC2から起動テンプレートを作成したいと思います。
※起動テンプレートと同じような意味で使用される起動設定というものがあります。起動設定はバージョン管理ができないため、管理ができる起動テンプレートの作成をお勧めします。
EC2サービスの「インスタンス」より、「アクション」「イメージとテンプレート」「インスタンスからテンプレートを作成」を選択します。
ソースインスタンスに選択したEC2のインスタンスIDが表示されていることを確認し、項目の設定をしていきます。
※今回インスタンスから作成したため、☆印がついてるものは既に項目が選択されています。誤りがないか確認しながら、設定をしていきます。
・起動テンプレート名:任意のテンプレート名
・テンプレートバージョンの説明:バージョンを管理する時に更新していく値。基本数字でバージョン管理をします。
・EC2AutoScalingで使用できるテンプレートをセットアップする際に役立つガイダンスを提供:チェックを入れる
・Amazon マシンイメージ (AMI):起動するAMIを選択(☆)
・インスタンスタイプ:起動するインスタンスタイプを選択(☆)
・キーペア (ログイン):起動した際に使用するキーペアを選択(☆)
・ネットワーキングプラットフォーム:VPCを選択(☆)
・サブネット:起動するサブネットを選択(☆)
**※注意※**インスタンスから作成した場合は、選択済になっているが、2つのAZにまたがって起動したい場合は、「起動テンプレートに含めないでください」を選択
・ファイアウォール (セキュリティグループ):起動した際に設定するセキュリティグループを選択(☆)
・ストレージ (ボリューム):起動した際に使用するボリュームを選択(☆)
・リソースタグ:新しく起動したインスタンスへのタグを選択(☆)
新しく起動したインスタンスと分かるような名前をつけておくと、良い。
・セキュリティグループ:起動した際に設定するセキュリティグループを選択(☆)
・パブリック IP の自動割り当て:デフォルトでは無効化になっているが、ssh接続をする場合には有効化を選択(☆)
・シャットダウン動作:停止済インスタンスから作成した場合には、「停止済」となっているため、
「起動テンプレートに含めないでください」を選択する。
・停止 - 休止動作:上記同様
「テンプレートの起動」より新しいテンプレートが作成されたことを確認できます。
またこのテンプレートを更新したい場合は、「アクション」より「テンプレートを変更(新しいバージョンを作成)」より更新を行うことができます。
#最後に
次回の記事では、ハンズオン②:オートスケーリンググループの作成を行いたいと思います。
この記事はAWS初学者を導く体系的な動画学習サービス「AWS CloudTech」の課題カリキュラムで作成しました。
https://aws-cloud-tech.com