Amazon EC2 Systems Manager

Q: Amazon EC2 Systems Manager とは何ですか?

Amazon EC2 Systems Manager は柔軟で使いやすい管理サービスです。このサービスを使用することで、企業は AWS の統一された操作感で、オンプレミスでも AWS でもワークロードを安全に管理し、実行できます。EC2 Systems Manager は、大規模なインスタンスの設定と管理を行えるよう、オートメーションに特に重点を置いて設計されていますが、オートメーションアーティファクトの記述や保守は非常にシンプルです。

Q: EC2 Systems Manager の利用を開始するにはどうすればよいですか?

使用を開始する前に、入門ガイドを参照して、インスタンスが必要な要件を満たしていることを確認するようお勧めします。要件を満たしていることを確認したら、EC2 マネジメントコンソールの左側にあるナビゲーションバーで、または AWS SDK や AWS コマンドラインインターフェイスを使って、EC2 Systems Manager のさまざまな機能にアクセスできます。

Q: EC2 Systems Manager ではどのオペレーティングシステムがサポートされていますか?

EC2 Systems Manager は同一の操作感で WindowsLinux の両プラットフォームを管理できるよう最適化されています。オンプレミスシステムの管理の詳細については、Supported Operating Systems を参照してください。

Q: EC2 Systems Manager ではオンプレミスで動作するインスタンスも管理されますか?

はい。EC2 Systems Manager は、オンプレミスデータセンターで動作するインスタンスの管理をサポートします。詳細については、EC2 Systems Manager Prerequisites を参照してください。

Q: EC2 Systems Manager は、どの AWS リージョンで利用できますか?

EC2 Systems Manager は複数の公開リージョンで利用できます。サポートされるリージョンの完全なリストについては、AWS のリージョンとエンドポイントを参照してください。

Q: Amazon Virtual Private Cloud (VPC) から EC2 Systems Manager API に、パブリック IP を使用せずにプライベートでアクセスできますか?

はい。VPC エンドポイントを作成すると、Amazon Virtual Private Cloud (VPC) から EC2 Systems Manager API にプライベートでアクセスできます。VPC エンドポイントを使うと、VPC と EC2 Systems Manager の間のルーティングが AWS ネットワークによって処理されます。インターネットゲートウェイ、NAT ゲートウェイ、VPN 接続は必要ありません。EC2 Systems Manager で使用される VPC エンドポイントの最新世代では、AWS PrivateLink が使用されています。AWS PrivateLink は、VPC でのプライベート IP と Elastic Network Interface (ENI) を使用することにより、AWS のサービス間でのプライベート接続を実現するテクノロジーです。PrivateLink の詳細については、PrivateLink のドキュメントをご覧ください。

Q: EC2 Systems Manager の料金はいくらですか?

EC2 Systems Manager に対する料金は発生しません。

Run Command

Q: Run Command とは何ですか?

Run Command は EC2 Systems Manager の機能で、EC2 の API、CLI、コンソールから EC2 インスタンスやオンプレミスサーバーに対してリモートでコマンドやスクリプトを実行する、シンプルで安全な方法です。Run Command を使うと、ソフトウェアのインストール、スクリプトの実行、構成の変更といった一般的な管理タスクのコマンドを簡単に実行できます。

Q: Run Command はどのようなユーザー向けですか?

Run Command は、EC2 インスタンスをリモートで、安全かつスケーラブル、また信頼性の高い方法で管理する必要がある、開発者、システム管理者、および他の IT プロフェッショナルのために設計されています。

Q: AWS では事前定義されたコマンドを利用できますか?

はい。よく使用される管理タスクを実行するため事前定義されたコマンドを利用できます。Windows では、PowerShell のコマンドまたはスクリプトの実行、Windows アップデートの設定、MSI アプリケーションのデプロイなどを行えます。Linux では、シェルのコマンドまたはスクリプトの実行、およびインストール済みエージェントのリモートでの更新を行えます。

Q: 自分でコマンドを作成できますか?

はい。Run Command では、ユーザー環境で最もよく使用されるタスクを簡単に実行するためのカスタムコマンドを作成できます。

Q: 他にはどのようなタイプのコマンドやスクリプトを実行できますか?

EC2 インスタンスのコマンドウィンドウに入力できれば、どのようなタイプのコマンドやスクリプトでも実行できます。

Q: 複数の EC2 インスタンスに対して同じコマンドを一度に送信できますか?

はい。コマンド発行時にインスタンスのリストを提供することにより、そのインスタンス群に対して簡単にコマンドを発行できます。

Q: インスタンスに対して実行したコマンドの履歴を取得できますか?

はい。Run Command では、各コマンドの出力が 30 日間保管されます。さらに、ログファイルすべてのコピーを Amazon S3 に保存するよう、または AWS CloudTrail を使用してコマンドの出力をキャプチャするよう Run Command で設定できます。

Q: コマンドを実行できるユーザーを制御できますか?

はい。AWS Identity and Access Management (IAM) のアクセス許可とポリシーを発行することにより、特定のインスタンスでコマンドやドキュメントを操作できるユーザーを制御できます。例えば、ある IAM ユーザーには、PowerShell コマンドの実行を許可するものの、インスタンスのドメインへの結合は許可しないといったことができます。また、別の IAM ユーザーにはサービスの再開といった特定のコマンドの実行権限のみを与えるなど、特定のユーザーに付与するアクセス権限を柔軟に指定できます。

Q: 実行中のコマンドのステータスを確認できますか?

Run Command では、各インスタンスで実行中のコマンドのステータスを確認できます。ステータスはすべて、AWS CLI、AWS SDK、または EC2 マネジメントコンソールから取得できます。

ステートマネージャー

Q: ステートマネージャーとは何ですか?

ステートマネージャーによって、OS とアプリケーションのシステム群全体に一貫した設定の定義と保守を行うプロセスが自動化されます。例えば、ファイアウォールポリシーの設定と適用、マルウェア対策の定義情報を最新に保つことなどに使用できます。ステートマネージャーでは、設定ポリシーの再適用によって、システムが常時、企業のポリシーに準拠した状態に維持されます。

Q: ステートマネージャーを使用する利点は何ですか?

現在のビジネスの流れは、AWS でもオンプレミスのデータセンターでも、アプリケーションを使用した、環境やロケーション全体での自動化 IT へと向かっています。しかし、アプリケーションを動作させるためのインフラストラクチャを一貫した状態に保つことが課題になっています。ステートマネージャーを使用することで、ポリシーを作成して再適用することにより構成の変動を防止し、意図した状態となっているかモニタリングすることができます。

Q: ポリシーはどのように作成しますか?

ポリシーは Systems Manager のドキュメントによって簡単に作成できます。また、アプリケーションのインストールやインスタンスのドメイン参加などに使用できる、事前定義された設定もあります。

Q: 設定できるターゲットはどのようなものですか?

インスタンスまたはタグをターゲットとして柔軟に設定できます。つまり、ウェブサーバーグループのようなインスタンスのグループに対して特定の設定を柔軟に行えます。

パッチマネージャー

Q: パッチマネージャーとは何ですか?

オートメーションに重点を置いた新しいパッチ適用サービスで、お客様は Windows インスタンスを簡単に最新の状態に保つことができるようになります。パッチマネージャーには、メンテナンスウィンドウや動的パッチ承認ポリシーといったベストプラクティスが組み込まれているため、パッチ適用プロセスがスムーズです。 

Q: インスタンスにパッチを適用するタイミングはどのように指定しますか?

メンテナンスウィンドウを使用してパッチ適用のタイミングを定義できます。メンテナンスウィンドウは EC2 の新しい機能で、メンテナンスの実行を許容する時間帯を定義できます。このような期間を設定してインスタンスと関連付けることで、ワークロードの可用性に影響するインスタンスのメンテナンスアクティビティを、適切な時間帯に実行するよう、容易に設定できます。メンテナンスウィンドウによって、独自の Run Command タスクの実行されるスケジュールの設定も簡単になります。

Q: パッチ適用プロセスはどのようにカスタマイズしますか?

パッチマネージャーでは、Run Command を活用してパッチ適用プロセスを完全に自動化できます。パッチマネージャーには構成済みの Run Command ドキュメントが用意されていますが、独自の Run Command Document を作成してパッチ適用プロセスをカスタマイズすることも簡単にできます。例えば、パッチのロールアウトの前に NT サービスを停止できます。

Q: パッチマネージャーでインストールできるパッチの種類はどれですか?

パッチマネージャーでは、インスタンスに基づく Windows と Linux のパッチ適用をサポートしています。現在サポートされているバージョンについては、AWS のドキュメントをご覧ください。

Q: インストールするパッチはどのように選択しますか?

パッチマネージャーでは、パッチベースラインを作成できます。これは、インスタンスに対するデプロイを承認またはブロックしたパッチのセットを定義するものです。パッチベースラインでは、製品別 (Windows Server 2008、Windows Server 2012 など)、カテゴリ別 (Critical Update、Security Update など)、デプロイのために確認するパッチの重大度別にパッチを選択できます。その後、選択された各カテゴリについて、それに含まれるパッチの配信が自動的に承認されるスケジュールを定義できます。ルールに加えて、ホワイトリストやブラックリストを指定し、インストールまたはブロックするパッチをそれぞれ選択することもできます。パッチ適用のとき、その時点より前に承認されたパッチについてのみ、ターゲットとなるインスタンスの評価が実行されます。

Q: インスタンスのコンプライアンスレベルを追跡するにはどうすればよいですか?

パッチマネージャーを使用して、パッチ適用プロセスの詳細な結果を示した、パッチのコンプライアンス情報を表示できます。EC2 のマネジメントコンソールまたは API から、インスタンスごとのコンプライアンスの詳細を簡単に集約できます。さらに、各インスタンスについて情報をより詳細に掘り下げ、インストールされたパッチ、欠けているパッチ、適用外のパッチ、インストールに失敗したパッチを特定できます。

インベントリ

Q: インベントリとは何ですか?

EC2 Systems Manager のインベントリ機能によって、インスタンスのソフトウェアカタログと設定内容をより把握できるようになります。インベントリを設定して、インストールされたアプリケーション、AWS コンポーネントとエージェント、ネットワーク設定、OS の詳細といったさまざまな種類のインスタンス属性を収集することができます。その後、強力なクエリ機能を使用してコンプライアンスの評価や、インスタンス群のうち修復が必要なものの特定が行えます。

Q: インベントリはどのようなユーザー向けですか?

IT 管理者や DevOps プロフェッショナルは、この機能を使用してインスタンス群の設定と構成を把握できます。ユーザーは、パッチを適用されていないインスタンスや、古いバージョンのアプリケーションを実行しているインスタンスをすばやく判断できます。同様に、管理者はライセンス監査を実行してソフトウェアの使用状況を把握できます。結果として、問題のトラブルシューティングやセキュリティ体制の評価を向上させることができます。

Q: インベントリによって収集される情報はカスタマイズできますか?

はい。独自のインベントリタイプを作成して、インベントリのスキーマを効果的に拡張できます。例えば、OS や CIM の追加情報が収集され、オンプレミスサーバーのラック位置と稼働開始日などの項目が記録されるよう、インスタンスを設定できます。

Q: 設定内容の変更を経時的に追跡するにはどうすればよいですか?

AWS Config を使用すれば、Config Rules によって、希望する設定内容に対するインスタンスの適合状況をモニタリングできます。セキュリティの専門家やコンプライアンス監査者は、この機能を使用してインスタンス設定変更の完全な監査証跡を得ることができ、不適合発見時に予防的通知を受け取ることもできます。

オートメーション

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

EC2 Systems Manager のオートメーション機能により、Amazon Machine Images (AMI) の構築と保守のプロセスが簡素化されます。これにより、パッチ適用、アプリケーション更新、AMI へのその他の変更が繰り返し可能なプロセスとなります。

Q: 自動化できるタスクはどれですか?

Systems Manager のオートメーション機能では AMI の保守を大幅に簡素化でき、パッチ適用、エージェント更新、アプリケーションのハードコーディングを、高効率で繰り返し可能な、監査できる方法で実行できます。別の方法として、ワークフローに Run Command と AWS Lambda を使用して、インスタンスや AWS の他のリソースの設定と管理を大規模に編成できます。

パラメータストア

Q: パラメータストアとは何ですか?

パラメータストアを使用すれば、接続文字列や管理者パスワードなど、設定パラメータや機密性を持つ情報の保存、参照、アクセス制御が容易になります。

Q: パラメータストアを使用する利点は何ですか?

パラメータストアを使用すれば、設定情報や機密性を持つ情報の保存と参照をすばやく行えます。データの保存や参照をプレーンテキストの設定ファイルで行うのではなく、その情報をアプリケーションやスクリプトで取得できます。さらに、パラメータにアクセスできるユーザーを制限できるため、特定の情報に適切なユーザーのみがアクセスできるよう設定できます。

Q: 機密性のあるデータはどのように保存されますか?

保存や参照に機密性が求められるデータはすべて、安全な文字列となります。ユーザーがクリアテキストとして参照することを避けたいデータ、または改ざんや悪用の可能性があるデータには、パラメータストアの安全な文字列を使用する必要があります。機密性のあるデータは、自分の AWS Key Management Service (KMS) キーまたは KMS が用意したユーザーアカウントのデフォルトキーを使用して暗号化できます。

Q: パラメータを参照できるサービスはどれですか?

Run Command、ステートマネージャー、オートメーションといった EC2 Systems Manager のサービスでパラメータを簡単に参照できます。

Q: 特定のパラメータを対象とした使用状況の追跡やアクセスコントールは実行できますか?

はい。AWS IAM を使用してユーザーやリソース (インスタンスなど) にパラメータへのアクセス許可をカスタマイズすることで、きめ細かにアクセスを制御できます。これはつまり、どのリソースのどのパラメータに誰がアクセスできるか、すべて制御できるということです。さらに、パラメータ API コールを AWS CloudTrail で追跡し、監査することもできます。

メンテナンスウィンドウ

Q: メンテナンスウィンドウとは何ですか?

メンテナンスウィンドウは EC2 Systems Manager の機能で、中断の原因となるオペレーションの実行を許容する時間帯を指定するものです。このような期間を設定してインスタンスと関連付けることで、ワークロードの可用性に影響するインスタンスのメンテナンスアクティビティを適切な時間帯に実行できます。

Q: メンテナンスウィンドウを使用する利点は何ですか?

メンテナンスウィンドウを使用し、特定のタスクを適切な時間帯に自動的に実行することで、オペレーションやインフラストラクチャの障害による悪影響を大幅に抑制し、ワークロードの可用性と信頼性を向上させることができます。

Q: メンテナンスウィンドウでスケジュールできるのはどのようなタスクですか?

Run Command、Amazon EC2 Systems Manager Automation、AWS Step Functions、AWS Lambda 関数をタスクとして作成し、スケジュールできます。

Q: メンテナンスウィンドウとして、どのようなスケジュールを選択できますか?

メンテナンスウィンドウのスケジュールは、毎月の特定の日や毎週の特定の曜日に設定できます (毎週火曜日 22:00:00 や毎月第 1 日曜日 22:00:00 など)。cron 式または rate 式でスケジュールを指定できます。