【AWS】Systems Manager で CloudWatch Events を利用して EC2 インスタンスを自動起動・自動停止する(オートメーション)

今後、多くの企業でシステム運用が大幅に改善させる可能性のあるサービスの 1 つである AWS Systems Manager(SSM)で CloudWatch Events を利用して EC2 インスタンスを自動起動・自動停止する(オートメーション)設定について解説します。

AWS Systems Manager には多くの機能がありますが、システム運用に役立つ 1つ 1つの機能から解説したいと思います。

 

 

 

最初に IAM ロールを作成する

今回は Systems Manager(SSM)のオートメーションの実行をスケジューリングします。

スケジューリングは「CloudWatch」を利用します。

つまり、「CloudWatch」から「SSM」を呼び出すための IAM ロールを作成します。

 

 

AWS 管理コンソールにログインし「サービス」「セキュリティ、ID、およびコンプライアンス」「IAM」をクリックします。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

 

IAM のダッシュボードに移動したら左側ペインより「ロール」をクリックします。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

ロールの管理画面に移動したら「ロールの作成」ボタンをクリックします。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

 

「ロールの作成」画面で「信頼されたエンティティの種類を選択」「AWS サービス」を選択し、「このロールを使用するサービスを選択」「EC2」を選択し、「次のステップ:アクセス権限」ボタンをクリックします。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

 

 

「ポリシーのフィルタ」「SSM」を入力し、下図のように「AmazonSSMAutomationRole」を選択し、「次のステップ:タグ」ボタンをクリックします。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

 

「タグの追加(オプション)」画面で、必要な場合はタグを設定し「次のステップ:確認」ボタンをクリックします。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

「確認」画面で「ロール名」を入力し「ロールの作成」ボタンをクリックします。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

 

 

 

下図のようにロールが作成されていることを確認します。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

更に作成したロールを選択し、下図のように「信頼関係」タグをクリックし「信頼関係の編集」ボタンをクリックします。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

 

 

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

下図のように「信頼されたエンティティ」「ID プロバイダー events.amazonaws.com」が追加されていることを確認します。 

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

 

CloudWatch Events からのオートメーションによるインスタンス実行のスケジューリング設定手順

ロールの準備が出来たら、CloudWatch Events の設定をして Systems Manager の「オートメーション」による EC2 インスタンスを起動するスケジューリングをします。

起動は CloudWatch の CRON 式を利用します。

 

 

AWS 管理コンソールにログインし「サービス」「管理とガバナンス」「CloudWatch」をクリックします。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

CloudWathc のダッシュボードに移動したら、左側ペインより「イベント」をクリックします。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

「Amazon CloudWatch Events」「Get started」ボタンをクリックします。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

 

「ルールの作成」画面でイベントソースを設定します。

「スケジュール」を選択し、「Cron 式」を選択してスケジュールを入力します。画面では例として 5分おきに実行される設定を入れています。

次に「ターゲット」「ターゲットの追加」ボタンをクリックします。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

 

ターゲットに「SSM Automation」を選択します。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

■選択できるターゲット一覧

以下のターゲットを選択できます。

  • Batch job queue
  • CodeBuild poject
  • CodePipeline
  • EC2 CreateSnapshot API 呼び出し
  • EC2 RebootInstances API 呼び出し
  • EC2 StopInstances API 呼び出し
  • EC2 TerminateInstances API 呼び出し
  • ECS タスク
  • Firehose 配信ストリーム
  • Inspector assesment template
  • Kinesis ストリーム
  • Lambda 関数
  • SNS トピック
  • SQS キュー
  • SSM Automation
  • SSM OpsItem
  • SSM Run Command
  • Step Functions ステートマシン
  • 別の AWS アカウントのイベントパス

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

「Document」「AWS-StartEC2Instance」を選択します。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

 

「Configure document version」「Default」を選択し、「Configure automation parameter(s)」「定数」を選択し、「InstanceId」に起動するインスタンス ID を入力し、ロールの選択に関しては「この特定のリソースに対して新しいロールを作成する」を選択し「設定の詳細」ボタンをクリックします。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

 

 

「ルールの詳細を設定する」画面でルールの名前を設定し「ルールの作成」ボタンをクリックします。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

下図のようにエラーが出力されずにルールが作成されることを確認します。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

 

スケジュールの時間が来たら EC2 インスタンスが起動していることを確認します。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

 

下図のようにグラフより実行されていることを確認します。

【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)

 

 

 

 

 

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

AlphaOmega Captcha Medica  –  What Do You See?
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください