AWS Systems Manager Automation - AWS Systems Manager

AWS Systems Manager Automation

オートメーションは、AWS のサービス (Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Relational Database Service (Amazon RDS)、Amazon Redshift、Amazon Simple Storage Service (Amazon S3) など) でのメンテナンス、デプロイ、および修復に関する一般的なタスクを簡素化するための AWS Systems Manager の機能です。オートメーションを開始するには、Systems Manager コンソールを開きます。ナビゲーションペインで [オートメーション] を選択します。

オートメーションは、AWS リソースを大規模にデプロイ、設定、管理のための、自動化されたソリューションを構築するのに役立ちます。オートメーションを使用すると、自動化の同時実行性をきめ細かく制御できます。同時実行のターゲットにするリソースの数や、オートメーションを停止する前に許容可能なエラーの発生数を指定することが可能です。

オートメーションの使用開始時に役立てていただけるよう、AWS では、いくつかの事前定義済みランブックを開発および保守しています。これら定義済みランブックでは、ユースケースに応じてさまざまなタスクを実行できます。あるいは、カスタムのランブックを作成すれば、独自のニーズを満たすこともできます。オートメーションの進行状況とステータスをモニタリングするには、Systems Manager オートメーションコンソールを使用するか、任意のコマンドラインツールを使用します。オートメーションは Amazon EventBridge とも統合されており、大規模なイベント駆動型アーキテクチャを構築するのに役立ちます。

オートメーションには組織にとってどのようなメリットがありますか?

オートメーションには、次のようなメリットがあります。

  • ランブックコンテンツ用のスクリプトサポート

    aws:executeScript アクションを使用することで、Python ならびに PowerShell のカスタム関数を、ランブックから直接実行できます。カスタムのランブックを作成することで、オートメーションで用意されたアクションではサポートされていない各種のタスクを完了できるようになるので、柔軟性が大きく向上します。同時に、ランブックのロジックをより詳細に制御できるようになります。このアクションの使用方法と、既存の自動ソリューションの改善にどのように役立つかについては、「オートメーションランブックのオーサリング」でサンプルを参照してください。

  • 一元的な場所から複数の AWS アカウント および AWS リージョン 内のオートメーションを実行する

    管理者は Systems Manager コンソールから、複数のアカウントとリージョンにわたって、リソースに対してオートメーションを実行できます。

  • 運用のための強化されたセキュリティ

    管理者は一元的な場所から、ランブックへのアクセスを許可したり取り消したりできます。AWS Identity and Access Management (IAM) ポリシーのみを使用することで、組織内でオートメーションを使用できる個々のユーザーまたはグループを指定したり、これらのユーザーがアクセスできるランブックを制御することができます。

  • 一般的な IT タスクを自動化する

    一般的なタスクを自動化することで、運用効率の向上、組織内での標準化の実施、オペレータが起こすエラー数の削減に役立ちます。例えば、AWS CloudFormation テンプレートを使用してデプロイされたリソースを更新するには、AWS-UpdateCloudFormationStackWithApproval ランブックが使用できます。更新には新しいテンプレートが適用されます。更新開始前に 1 人以上のユーザーの承認をリクエストするように自動化を設定できます。

  • 分裂したタスクを一括で安全に実行する

    オートメーションには、同時実行数やエラー数のしきい値を指定することで、フリート全体でオートメーションのデプロイを制御するための、レート制御機能などが含まれています。レート制御機能の操作については、「自動オペレーションを大規模に実行する」を参照してください。

  • 複雑なタスクを合理化する

    オートメーションでは、Golden Amazon Machine Images (AMIs) の作成など、複雑で時間のかかるタスクを合理化するための、事前定義済みランブックが利用できます。例えば、AWS-UpdateLinuxAmi および AWS-UpdateWindowsAmi ランブックを使用して、ソース AMI から Golden AMIs を作成できます。これらのランブックにより、更新が適用される前後にカスタムスクリプトを実行できます。また、特定のソフトウェアパッケージをインストールに含めたり、除外したりもできます。これらのランブックの使用例については、「チュートリアル」を参照してください。

  • 入力での制約を定義する

    オートメーションが特定の入力パラメータについて受け入れる値の範囲を、カスタムランブックで定義し制限することができます。例えば、allowedPattern では、定義した正規表現に一致する値のみを、入力パラメータから受け入れます。入力パラメータに対し allowedValues を指定していると、ランブックで指定した値のみが受け入れられます。

  • オートメーションアクションからの出力を Amazon CloudWatch Logs にログ記録する

    組織の運用上またはセキュリティ上の要件を満たすために、ランブック内で実行されるスクリプトの記録が必要となることがあります。CloudWatch Logs を使用すると、さまざまな AWS のサービス からのログファイルについて、モニタリング、保存、アクセスが行えます。aws:executeScript アクションからの出力を CloudWatch Logs のロググループに送信し、デバッグやトラブルシューティングの目的に使用できます。ログデータは、KMS キーを使用した AWS KMS 暗号化の有無にかかわらずロググループに送信できます。詳細については、「CloudWatch Logs を使用した自動アクション出力のログ記録」を参照してください。

  • Amazon EventBridge との統合

    オートメーションは、Amazon EventBridge ルール内で target 型としてサポートされます。つまり、イベントを使用してランブックをトリガーすることが可能です。詳細については、Amazon EventBridge を使用して Systems Manager イベントをモニタリングするおよびリファレンス: Systems Manager 用の Amazon EventBridge イベントパターンとタイプを参照してください。

  • 組織のベストプラクティスを共有する

    リソース管理、運用タスクその他のベストプラクティスをランブックで定義すると、アカウントとリージョン間でそれを共有できます。

オートメーションはどのようなユーザーに適していますか?

  • 大規模な運用における効率の向上、手動による介入が原因で起きるエラー数の削減、一般的な問題の解決にかかる時間の短縮を希望される、すべての AWS のお客様にご利用いただけます。

  • デプロイおよび設定タスクを自動化しようとするインフラストラクチャの専門家。

  • 一般的な問題の確実な解決、トラブルシューティングの効率向上、および反復処理の削減を希望する管理者。

  • 通常手動で実行しているタスクの自動化を目指すユーザー。

オートメーションとは何ですか?

オートメーションは、ランブックで定義されているすべてのタスクを含んでおり、オートメーションサービスによって実行されます。オートメーションでは、次のコンポーネントを使用して自動化を実行します。

概念 詳細

オートメーションランブック

Systems Manager Automation ランブックでは、オートメーション (Systems Manager がマネージドノードと AWS リソースに対して実行するアクション) を定義します。オートメーションには、いくつかのランブックが事前に定義されており、1 つ以上の Amazon EC2 インスタンスの再起動や、Amazon Machine Image (AMI) の作成といった一般的なタスクを実行する際に使用することができます。独自のランブックを作成することもできます。ランブックは YAML や JSON を使用し、これらにはユーザーが指定するステップおよびパラメータが含まれています。ステップは順番に実行されます。詳細については、「独自のランブックの作成」を参照してください。

ランブックは、AutomationCommandPolicy ドキュメントとは異なり、Session タイプの Systems Manager ドキュメントです。ランブックは、スキーマバージョン 0.3 をサポートしています。Command ドキュメントは、スキーマバージョン 1.2、2.0、または 2.2 を使用します。ポリシードキュメントは、スキーマバージョン 2.0 以降を使用します。

自動化アクション

ランブックで定義されているオートメーションには、1 つ以上のステップが含まれています。各ステップは、特定のオペレーションに関連付けられます。このアクションは、ステップの入力、動作、出力を決定します。ステップは、ランブックの mainSteps セクションで定義されます。オートメーションは、20 種類の異なるアクションタイプをサポートしています。詳細については、「Systems Manager Automation アクションのリファレンス」を参照してください。

オートメーションクォータ

各 AWS アカウント は、100 個のオートメーションを同時に実行できます。これには、子オートメーション (別のオートメーションによって開始されるオートメーション) とレート制御のオートメーションが含まれます。この数を超えるオートメーションを実行しようとすると、Systems Manager からキューに対して追加のオートメーションが行われ、保留中のステータスが表示されます。このクォータは、適応型同時実行を使用して調整できます。詳細については「オートメーションで同時実行のニーズに対する適応を許可する」を参照してください。オートメーションの実行に関する詳細は「Systems Manager Automation を使用した自動オペレーションを実行する」を参照してください。

オートメーションキューのクォータ

同時オートメーションの制限よりも多くのオートメーションを実行しようとすると、後続のオートメーションがキューに追加されます。各 AWS アカウント は、5,000 個のオートメーションをキューに入れることができます。オートメーションが完了 (または終了状態に到達) すると、キューの最初のオートメーションが開始されます。

レート制御のオートメーションクォータ

各 AWS アカウント は、25 個のレート制御のオートメーションを同時に実行できます。同時レート制御のオートメーション制限よりも多くのレート制御のオートメーションを実行しようとすると、Systems Manager は後続のレート制御のオートメーションをキューに追加し、保留中のステータスが表示されます。レート制御のオートメーション実行の詳細については、「自動オペレーションを大規模に実行する」を参照してください。

レート制御のオートメーションキューのクォータ

同時レート制御のオートメーション制限よりも多くのオートメーションを実行しようとすると、後続のオートメーションがキューに追加されます。各 AWS アカウント は、1,000 個のレート制御のオートメーションをキューに入れることができます。オートメーションが完了 (または終了状態に到達) すると、キューの最初のオートメーションが開始されます。