翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
のイベントに応じて EC2 インスタンスでオペレーションを自動的に実行する AWS Health
Amazon EC2 インスタンスのスケジュールされたイベントに応答するアクションを自動化できます。が AWS アカウントにイベント AWS Health を送信すると、 EventBridge ルールは AWS Systems Manager オートメーションドキュメントなどのターゲットを呼び出して、ユーザーに代わってアクションを自動化できます。
例えば、Amazon EC2 インスタンスのリタイアイベントが Amazon Elastic Block Store (Amazon EBS)-backed EC2 インスタンスにスケジュールされている場合、 AWS Health はAWS_EC2_PERSISTENT_INSTANCE_RETIREMENT_SCHEDULED
イベントタイプを AWS Health Dashboard に送信します。ルールでこのイベントタイプが検出されると、インスタンスの停止と開始を自動化できます。この方法では、これらのアクションを手動で実行する必要はありません。
注記
Amazon EC2 インスタンスのアクションを自動化するには、インスタンスを Systems Manager で管理する必要があります。
詳細については、「Amazon EC2 ユーザーガイド」の EventBridge Amazon Word with Word」を参照してください。 EC2
前提条件
ルールを作成する前に、 AWS Identity and Access Management (IAM) ポリシーを作成し、IAM ロールを作成し、ロールの信頼ポリシーを更新する必要があります。
ロール用のカスタマー管理ポリシーを作成するには、次の手順に従います。このポリシーは、ユーザーに代わってアクションを実行するためのロールアクセス許可を付与します。この手順では、JSON コンソールで IAM ポリシーエディタを使用します。
IAM ポリシーを作成するには
にサインイン AWS Management Console し、IAM で https://console.aws.amazon.com/iam/
コンソールを開きます。 -
ナビゲーションペインで、ポリシー を選択します。
-
[ポリシーの作成] を選択します。
-
JSON タブを選択します。
-
次のJSONをコピーし、エディタでデフォルトのJSONを置き換えます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances", "ec2:DescribeInstanceStatus" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "ssm:*" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:*:*:Automation*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::
123456789012
:role/AutomationEVRole
" } ] }-
Resource
パラメータで、Amazon リソースネーム (ARN) に AWS アカウント ID を入力します。 -
ロール名を置き換えることも、デフォルトを使用することもできます。この例では、 を使用します。
AutomationEVRole
.
-
-
[Next: Tags] (次へ: タグ) を選択します。
-
(オプション) キーバリューペアとしてのタグを使用して、メタデータをポリシーに追加することができます。
-
[次へ: レビュー] を選択します。
-
ポリシーの確認ページで、次のような名前を入力します。
AutomationEVRolePolicy
およびオプションの 説明。 -
[Summary] (概要) ページで、ポリシーが許容する許可を確認します。ポリシーが適切であれば、[Create policy] (ポリシーの作成) を選択します。
このポリシーによって、このロールが実行できるアクションが定義されます。詳細については、IAM ユーザーガイドの「Word ポリシーの作成 (コンソール)」を参照してください。 IAM
ポリシーを作成したら、IAM ロールを作成し、そのロールにポリシーをアタッチする必要があります。
AWS サービスのロールを作成するには
にサインイン AWS Management Console し、IAM で https://console.aws.amazon.com/iam/
コンソールを開きます。 -
ナビゲーションペインで [Roles] (ロール) を選択してから、[Create role] (ロールを作成する) を選択します。
-
信頼できるエンティティの種類の選択 で、AWS サービス を選択します。
-
このロールの引き受けを許可するサービスのEC2を選択します。
-
[Next: Permissions] (次へ: アクセス許可) を選択します。
-
作成したポリシー名を次のように入力します。
AutomationEVRolePolicy
、ポリシーの横にあるチェックボックスをオンにします。 -
[Next: Tags] (次へ: タグ) を選択します。
-
(オプション) キーと値のペアとしてタグを使用し、メタデータをロールに追加できます。
-
[次へ: レビュー] を選択します。
-
ロール名 には、 と入力します。
AutomationEVRole
。 この名前は、作成した ARN ポリシーの IAM に表示される名前と同じである必要があります。 -
(オプション) [Role description] (ロールの説明) に、ロールの説明を入力します。
-
ロール情報を確認し、ロールの作成 を選択します。
詳細については、IAM ユーザーガイド」の「 AWS サービスのロールの作成」を参照してください。
最後に、作成したロールの信頼ポリシーを更新できます。 EventBridge コンソールでこのロールを選択できるようにするには、この手順を完了する必要があります。
ロールの信頼ポリシーを更新するには
にサインイン AWS Management Console し、IAM で https://console.aws.amazon.com/iam/
コンソールを開きます。 -
ナビゲーションペインで Roles (ロール) を選択します。
-
AWS アカウントのロールのリストで、作成したロールの名前を選択します。
AutomationEVRole
. -
[Trust relationships] タブを選択し、続いて [Edit trust relationship] を選択します。
-
ポリシードキュメントでは、次のJSONをコピーし、デフォルトのポリシーを削除して、コピーしたJSONをその場所に貼り付けます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ssm.amazonaws.com", "events.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
-
信頼ポリシーの更新 を選択します。
詳細については、IAM ユーザーガイド」の「ロール信頼ポリシーの変更 (コンソール)」を参照してください。
EventBridge のルールを作成する
以下の手順で EventBridge コンソールでルールを作成し、リタイアが予定されている EC2 インスタンスの停止と開始を自動化できるようにします。
Systems Manager 自動アクション用の EventBridge のルールを作成するには
Word で Amazon EventBridge コンソールを開きます。 https://console.aws.amazon.com/events/
-
ナビゲーションペインの イベント で、ルール を選択します。
-
[Create rule] (ルールの作成) ページで、ルールの [Name] (名前) と [Description] (説明) を入力します。
-
[Define pattern] (パターンの定義) で、[Event pattern] (イベントパターン) を選択してから、[Pre-defined pattern by service] (サービスごとに事前定義されたパターン) を選択します。
-
[Service provider (サービスプロバイダー)] で、「AWS」を選択します。
-
[Service name] (サービス名) には [Health] を選択します。
-
[Event type] (イベントタイプ) には [Specific Health events] (特定の Health イベント) を選択します。
-
特定のサービス (複数可) を選択し、EC2 を選択します。
-
特定のイベントタイプのカテゴリ (複数可) を選択し、scheduledChange を選択します。
-
[Specific event types code(s)] (特定のイベントタイプのコード) を選択し、イベントタイプのコードを選択します。
例えば、Amazon EC2 EBS-backed インスタンスの場合は、 を選択します
。Amazon EC2 instance store-backed インスタンスの場合は、 を選択しますAWS_EC2_PERSISTENT_INSTANCE_RETIREMENT_SCHEDULED
。AWS_EC2_INSTANCE_RETIREMENT_SCHEDULED
-
[任意のリソース] を選択します。
[Event pattern] (イベントパターン) は以下の例のようになります。
{ "source": [ "aws.health" ], "detail-type": [ "AWS Health Event" ], "detail": { "service": [ "EC2" ], "eventTypeCategory": [ "scheduledChange" ], "eventTypeCode": [ "AWS_EC2_PERSISTENT_INSTANCE_RETIREMENT_SCHEDULED" ] } }
-
Systems Manager オートメーションドキュメントターゲットを追加します。ターゲットの選択 で、ターゲット で SSM Automation を選択します。
-
[ドキュメント] で、[
AWS-RestartEC2Instance
] を選択します。 -
[Configure automation parameters(s)] (オートメーションパラメータの構成) を展開し、[Input Transformer] (入力トランスフォーマー) を選択します。
-
[Input Path] (入力パス) フィールドに、
を入力します。{"Instances":"$.resources"}
-
2 番目のフィールドに、
を入力します。{"InstanceId": <Instances>}
-
既存のロールを使用を選択し、作成した IAM ロールを選択します。例えば、
AutomationEVRole
.ターゲットは以下の例のようになります。
注記
必要な IAM および Systems Manager のアクセス許可と信頼関係を持つ既存の EC2 ロールがない場合、ロールはリストに表示されません。詳細については、「前提条件」を参照してください。
-
[Create] (作成) を選択します。
アカウントでルールに一致するイベントが発生した場合、 EventBridge は指定したターゲットにイベントを送信します。