Amazon Lightsail インスタンスを AWS Systems Manager に追加したいと思っています。
簡単な説明
Systems Manager は Lightsail インスタンスで直接使用することはできません。
ハイブリッドアクティベーションを使用して Lightsail インスタンスを Systems Manager に追加できます。SSH 接続の問題のトラブルシューティングを行うには、Session Manager を使用して、SSH アクセスなしで Lightsail インスタンスにアクセスします。Session Manager は AWS System Manager の機能です。
解決策
Systems Manager のハイブリッドアクティベーションコードと ID を生成する
- AWS Systems Manager コンソールを開きます。
- ナビゲーションペインの [ノード管理] で、[ハイブリッドアクティベーション] を選択します。
- [アクティベーションを作成する] を選択します。次のパラメータを使用してください。
アクティベーションの説明: 説明を入力します。
インスタンスの上限: 登録するインスタンスの数を入力します。
IAM ロール: AmazonEC2RunCommandRoleForManagedInstances という名前のロールを自動的に作成するために、[必要なアクセス権限を持つシステムデフォルトコマンド実行ロールを作成する] を選択します。
- [アクティベーションを作成する] を選択します。
次のようなメッセージが表示されます。
"You have successfully created a new activation.Your activation code is listed below.Copy this code and keep it in a safe place as you will not be able to access it again.
Activation Code byjELxxxxxxD0jmSP
Activation ID 1d7103ea-xxxxxxxxxxxxxxxx52258ac0b4
You can now install amazon-ssm-agent and manage your instance using Run Command."
重要: 受信したメッセージに記載されているアクティベーションコードとアクティベーション ID を書き留めておきます。
実行中の Lightsail インスタンスを Systems Manager に追加する
ブラウザコンソールまたは SSH クライアントを介してインスタンスに SSH アクセスできる場合は、以下の手順を使用してください。SSH アクセスがない場合は、「起動時に Lightsail インスタンスを Systems Manager に追加する」セクションを参照してください。
実行中の Lightsail インスタンスを Systems Manager に追加するには、以下の手順を実行します。
-
Lightsail インスタンスにログインします。AWS Systems Manager Agent (SSM Agent) をインストールします。
sudo mkdir /tmp/ssm
sudo cd /tmp/ssm
wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_amd64/amazon-ssm-agent.deb
sudo dpkg -i amazon-ssm-agent.deb
sudo systemctl restart amazon-ssm-agent
sudo systemctl enable amazon-ssm-agent
注: これらのコマンドにより、SSM Agent が Debian Lightsail インスタンスにインストールされます。Bitnami を利用した Lightsail インスタンスは Debian OS を使用します。他のオペレーティングシステムをインストールするには、「ハイブリッド Linux ](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-linux.html) ノードに SSM [ エージェントをインストールする方法」を参照してください。
-
次のコマンドを実行して、インスタンスを Systems Manager に登録します。code をアクティベーションコードに、id をアクティベーション ID に置き換えます。region を自分の AWS リージョンに置き換えます。
sudo amazon-ssm-agent -register -y -id '1d7xxxxxxxxxxxx1a52258ac0b4' -code 'byjELGxxxxxxx0jmSP' -region 'ap-south-1'
-
次のコマンドを実行して SSM Agent を再起動します。
sudo systemctl restart amazon-ssm-agent
-
AWS Systems Manager コンソールで、[フリートマネージャー] を選択します。Lightsail インスタンスには、先頭に mi- が付いた ID が表示されます。
-
SSM Agent の ping のステータスで、インスタンスがオンラインであることを確認します。インスタンスがオンラインの場合は、インスタンスを選択します。
-
[インスタンスアクション] を選択し、[セッションの開始] を選択します。
起動時に Lightsail インスタンスを Systems Manager に追加する
SSH 接続の問題が発生した場合は、次の手順を実行してください。
インスタンスの起動時に Lightsail インスタンスを Systems Manager に追加するには、ユーザーデータスクリプトを使用してアクティベーションコードをプッシュします。
-
インスタンスのスナップショットを作成します。
-
スナップショットから新しい Lightsail インスタンスを起動します。
-
インスタンスの起動中に、[起動スクリプトの追加] を選択します。
-
[起動スクリプト] フィールドに次のコードを追加します。sudo amazon-ssm-agent -register コマンドに、アクティベーション ID、アクティベーションコード、AWS リージョンを追加します。
sudo mkdir /tmp/ssm
sudo cd /tmp/ssm
wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_amd64/amazon-ssm-agent.deb
sudo dpkg -i amazon-ssm-agent.deb
sudo systemctl enable amazon-ssm-agent
sudo amazon-ssm-agent -register -y -id '1d7xxxxxxxxxxxx1a52258ac0b4' -code 'byjELGxxxxxxx0jmSP' -region 'ap-south-1'
sudo systemctl restart amazon-ssm-agent
注: これらのコマンドにより、SSM Agent が Debian Lightsail インスタンスにインストールされます。Bitnami を利用した Lightsail インスタンスは Debian OS を使用します。他のオペレーティングシステムをインストールするには、「ハイブリッド Linux ](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-linux.html) ノードに SSM [ エージェントをインストールする方法」を参照してください。
-
実行中の Lightsail インスタンスを Systems Manager に追加する」 の手順を実行して、AWS Systems Manager コンソールからインスタンスにアクセスします。