見た目は大人、中身は小僧

好きなことをやって生きていきたい。

Azure VMにAmazon SSM Agentをインストールしてメタデータを取得してみる~インストール編~

前回の続きです。

SSMAgentをインストールしていきます。

4. インストール

OSログイン後、Windows PowerShell ISEを管理者で実行します。

f:id:mine-tips:20200507161711p:plain

Windows PowerShell ISE 管理者実行

実行するコマンドはAWSのドキュメントを確認ください。

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/sysman-install-managed-win.html

実行すると以下のようになります。

f:id:mine-tips:20200507162432p:plain

SSMAgentインストールコマンド-Windows Server 2016

f:id:mine-tips:20200507162710p:plain

SSMAgentインストールコマンド-Windows Server 2019

インストール後は、サービスが起動しているかを確認します。

画像を張るのがめんどくさかったので2019の方は割愛。

f:id:mine-tips:20200507162914p:plain

サービス確認

■ 備考

インストールに失敗した際は、SSMAgentをアンインストールし、下記フォルダを削除した後に再度実行してください。

C:\ProgramData\Amazon
C:\Program Files\Amazon

既知のエラーで、一箇所権限の問題でエラーが出てますがこちらは問題ないので先に進めます。

5. 動作確認

AWSコンソールに戻ります。

登録済インスタンスが「0 -> 2」に変わったことを確認します。

f:id:mine-tips:20200507163626p:plain

アクティベーション確認

 マネージドインスタンスへ移動すると、登録したインスタンスの情報が確認できます。

今回登録した2サーバ分のエントリがこちらになります。

右にスクロールすると、IPアドレスやコンピュータ名が確認できます。

f:id:mine-tips:20200507164040p:plain

インスタンスの登録状況の確認

インスタンスIDをダブルクリックするとSSMAgentから収集された情報がAWSコンソール上で確認できるようになります。

Windows Server 2019にはSQL Serverをインストールしていましたが、SQL Serverのバージョン情報やインストール時刻も分かりますね。

f:id:mine-tips:20200507164553p:plain

インベントリ取得確認

インベントリタイプを変更すればKB適用情報も確認出来たりするので、ぜひ試してみてください!

 

2020/5/8 追記

GCPVMインスタンスでも同様の手順でセットアップできました!

Azure VMにAmazon SSM Agentをインストールしてメタデータを取得してみる~事前準備~

マルチクラウドの需要が増えてきた中、今までAWSを利用していたがAzureも使用したい!GCPも利用したい!と複数のクラウドサービスを利用するケースが増えてきました。

クラウドで提供しているサービスを利用するのもいいですが運用する上で管理がめんどくさくなりませんか?

インスタンスメタデータを確認するに着目した場合、

AWSだと「Systems Manager」Azureだと「Azure Monitor」GCPだと「Cloud Monitoring」があります。・・・これ全部やります??

 

なので今回は、AWSのSystems Managerで管理することを前提で以下を検証してみました。

Systems Managerで、他クラウドサービス(Azure) VMメタデータを収集できるのか!?

 

■ やってみたこと

Azureに用意したVMWindows Server 2016 Datacenter / Windows Server 2019 Datacenter)にAmazon SSM Agentをインストールし、メタデータを取得し値を確認する。 

AWS側のドキュメントを確認し作業を実施しました。

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-managedinstances.html 

 

作業の流れは以下になります。

1. IAMロールの用意

2. SSMエージェントインストールサーバの確認(TLS証明書)

3. Systems Managerにてアクティベーション作成

4. インストール

5.  動作確認

1. IAMロールの用意

今回は用意せず、AWSが用意しているデフォルトロールを使用します。

用意されているロールはこちら「AmazonEC2RunCommandRoleForManagedInstances」

 

2. SSMエージェントインストールサーバの確認(TLS証明書)

インストール対象VMに、下記Transport Layer Security (TLS) 証明書のいずれかがインストールします。

Amazon Root CA 1 <-今回はこちらをインストール

・Starfield Services Root Certificate Authority - G2

・Starfield Class 2 Certificate Authority

 

下記コマンド実行し必要な証明書がインストールされていることを確認します。

[Net.ServicePointManager]::SecurityProtocol  

ちなみに、インストールしなくてもメタデータは取得できますが、上記いずれかの証明書を使用して、他の AWS のサービスへの呼び出しを暗号化するのでインストールしておきましょう。

3. Systems Managerにてアクティベーション作成

ÃSystems Manager -> ハイブリッドアクティベーションの順でクリック

アクティベーションの作成をクリック

f:id:mine-tips:20200507184558p:plain

アクティベーション作成-1

アクティベーションの説明と今回登録する台数を入力します。

IAMロールは前述の通りデフォルトロールを使用するため「システムによって作成されたデフォルトのロール」を選択します。

f:id:mine-tips:20200507184730p:plain

アクティベーション作成-2

アクティベーションの有効期限が未入力の場合の有効期限は1日。最大30日まで指定可

設定値を確認後、[アクティベーションの作成]をクリックします。

f:id:mine-tips:20200507184839p:plain

アクティベーション作成-3

作成後以下の画面に遷移します。

緑枠内に記載の通り、「このコードに再びアクセスすることはできない」ため、必ず

Activation Code , Activation IDの値を保存しておきます。

※ SSMAgentインストール時に必要です!

保存し忘れた方は、アクティベーションを削除し再作成が必要です。

f:id:mine-tips:20200507185005p:plain

アクティベーション作成-4

インストール準備までできたので一旦ここまで

次回、インストール作業とメタデータの取得確認をします。