AWSのインスタンスタイプはXeonからNitroに変更する作業は
AWS Systems Managerを活用して自動化ドキュメント仕組みを作成しましたので、
普段数クリック数分で終わるものと想定しました。
さっさと終わったら本日の仕事終了して休みの計画作成したい(祝日は外出気分転換と決まっている、、)
インスタンスが古すぎるのせいかと思いますが、
色々想定外事象発生することとトラブルシューティングとして記録します。
事象としましては、 件名の通りManagedInstanceにならなかった。
以下は解決できるまでの道のり、、長いので、時間がない方は最後にスクロールして見て頂ければと思います。
-
SSMAgentは2.X
ー> 最新のSSMAgentを入れました。サービスとして再起動したが、NG -
PROXYのせい
ー> 何も設定されないことを確認
え、念のため、手順を再度チェックします。 -
Roleの設定/SG/Route/NACL問題ないか
ー>問題ありません。
※https://aws.amazon.com/jp/premiumsupport/knowledge-center/systems-manager-ec2-instance-not-appear/ -
普段SSM活用しているので、AWSが用意した診断プログラムを利用して診断したら
ー>AWSSupport-TroubleshootManagedInstanceの結果は全部成功
※よくある話ですが、ショック! -
SSMの実フォルダに色々ログを確認したら、以下内容発見
[HandleAwsError @ awserr.go.48] [instanceID=i-xxxxxx] [MessagingDeliveryService] error when calling AWS APIs. error details - GetMessages Error: RequestError: send request failed
caused by: Post https://ec2messages.ap-northeast-1.amazonaws.com/: x509: certificate signed by unknown authority
ー> X509?証明書? あまりよく見られないエラーですね。 (と言いつつ、実際昔々1回発生しましたようですけど、思い出せなくて、、(/ω\))
ー> 証明書インストール:certutil -addstore -f "ROOT" AmazonRootCA1.crt
https://www.amazontrust.com/repository/ -
Restart-Service AmazonSSMAgentを実施して、数秒程度でManagedInstanceとして認識できました、
やったー!
これからやっと想定作業を実施できました。
SSMのおかけで、一台ずつマニュアル作業ではなく、
数台サーバ纏めてSSM自動化ドキュメントを一気に動き出して、
Nitro含むドライバ更新はわずか数分で全部終わりますね。
パッチ適用なども1000台以上Windowsに適用するなど色々取り込んできましたが、
該当ようなトラブル発生する場合もサーバにログインすることがなく、
いくつドキュメントを動かせば解決することを目指したいと思います。
AWSさん、頑張りましょう~
まとめ (時間がない方へ)
今回は証明書エラーでAWSコマンド実施できないことが原因でしたので、
以下で解決。
①certutil -addstore -f "ROOT" AmazonRootCA1.crt
②Restart-Service AmazonSSMAgent