0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

既存のコンピューティング環境に構築されたCloud9に自動停止機能をつける方法

Last updated at Posted at 2023-09-07

前提

こちらの記事を元に、EC2上にCloud9環境を構築していること

手順

  1. 以下のファイルを作成する

    #!/bin/bash
    
    SSH_CONNECTIONS=$(ps -A x | grep sshd | grep \\[priv\\] | wc -l)
    INSTANCE_ID=$(ec2-metadata -i | grep -oP 'instance-id: \K\S+')
    TIMESTAMP=$(date --utc +%FT%T.%3NZ)
    
    aws cloudwatch put-metric-data --metric-name "SSHConnections" --dimensions InstanceId=$INSTANCE_ID --namespace "EC2" --value $SSH_CONNECTIONS --timestamp $TIMESTAMP
    
  2. cronをインストールして起動時に有効化させる

    $ sudo dnf -y install cronie-noanacron
    $ sudo systemctl enable crond
    $ sudo systemctl restart crond
    $ crontab -e
    */1 * * * * (手順1で作成したファイルのフルパス)
    # ssh-count.sh の権限が775でなかったら、権限を変更してください。
    
  3. 以下の条件でCloudwatch アラームを作成する

    • グラフのメトリクス:先ほどのcronが実行された結果作成されたメトリクス
    • メトリクスー統計:最小
    • メトリクスー期間:1分
    • 条件ー閾値の種類:静的
    • 条件ーアラーム条件:以下(<=)
    • 条件ー閾値:0
    • その他ーアラームを実行するデータポイント:15/15
    • 通知:(不要なので削除する)
    • EC2アクションーアラーム状態のトリガー:アラーム状態
    • EC2アクションーアクション:このインスタンスを停止
    • アラーム名:(任意の名前)

これで15分SSH接続がないと自動的にEC2がシャットダウンされます!!
シャットダウンまでの時間を延ばしたい場合、アラームを実行するデータポイントの設定を変えてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?