AWS Systems Manager (SSM) Session Managerをインストールしてみる
AWS Systems Manager (SSM) Session Manager とは
クライアントから直接サーバに接続せず、 AWS SSMを介しインスタンス上のSSMエージェントと通信することでサーバ操作を行える技術です。
踏み台サーバを立てる必要やSSH接続許可を必要とせずにAWSのサーバへ接続できます。
クライアントに必要な作業
①AWS CLI及びSession Manager Pluginのインストール
②AWS CLIを利用するためのIAM作成及びアクセスキー作成
③ユーザーアカウントの権限設定:IAMユーザへAmazonSSMFullAccessポリシーのアタッチ
④AWS CLIの設定(aws configure)
サーバに必要な作業
①AWS Systems Manager(SSM)エージェントのインストール
②VPCのDNSホスト名の有効化、インターネットゲートウェイのアタッチ
③EC2インスタンスにパブリックIPアドレスを付与
④EC2インスタンス の権限設定:EC2のIAMロールへポリシーAmazonEC2RoleforSSMをアタッチ
⑤httpsアウトバウンド設定許可
AWS Systems Managerの導入により出来るようになること
・AWS コンソール画面からのブラウザベースのアクセス、及びCLIを使用したシェルアクセスができる。
・IAM のアクセス許可設定を用いてインスタンスのアクセス許可ができる。
・SSH、RDP設定・インバウンドポート開放が不要。(セキュリティグループで通信許可がいらない。)
・Amazon S3 や Amazon CloudWatch Logs へログを残すことができる。SNS 通知も可能。
(クライアント側)AWS CLI及びSession Manager Pluginのインストール
まず、インストーラを取得します。
手順に従いインストールしたら、コマンドラインで確認します。
$ aws --version
aws-cli/2.1.17 Python/3.7.9 Windows/10 exe/AMD64 prompt/off
次にプラグインをインストールします。インストーラをタブルクリックして完了まで進めればOKです。
(クライアント側)AWS CLIを利用するためのIAM作成及びアクセスキー作成
IAMを作成したらアクセスキーを作成します。
csvがダウンロードされていればOKです。
(クライアント側)IAMユーザへAmazonSSMFullAccessポリシーのアタッチ
ポリシー検索欄から「AmazonSSMFullAccess」を探しアタッチします。
IAMユーザやポリシーにアタッチできます。
(クライアント側)AWS CLIの設定(aws configure)
Access KeyとSecret Access Keyで認証を通します。
$ aws configure
AWS Access Key ID [****************I2F2]: ****************
AWS Secret Access Key [****************3Nto]: ****************
Default region name [None]:ap-northeast-1
Default output format [None]:
AWS Systems Manager(SSM)エージェントのインストール
下記の通り、SSM エージェントは、以下の Amazon Machine Images (AMIs) ではデフォルトでインストールされます。
2016 年 11 月以降に公開された Windows Server 2008-2012 R2 AMIs
Windows Server 2013 および 2016
実際にサーバにインストールされていることも分かります。
VPCのDNSホスト名の有効化、インターネットゲートウェイのアタッチ
DNS設定が有効化されているかを確認します。
「DNSホスト名」が無効化されているので、DNSホスト名を有効化します。
設定が有効化されていることを確認します。
次に、インターネットゲートウェイがVPCにアタッチされていることを確認します。
EC2インスタンスにパブリックIPアドレスを付与
EC2インスタンスにパブリックIPアドレスが設定されていることを確認します。
EC2インスタンス の権限設定:EC2のIAMロールへポリシーAmazonEC2RoleforSSMをアタッチ
EC2のIAMロールを開いてSSMの接続に必要な権限をアタッチします。
「ポリシーをアタッチします」を選択します。
AmazonSSMManagedInstanceCoreを選択し、アタッチします。
httpsアウトバウンド設定許可
セキュリティグループの設定でアウトバウンド通信でhttpsが許可されていることを確認します。
インターネットへのアウトバウンド許可ではなく、 VPC エンドポイントを使ってSSMサービスにプライベート通信する方法もあります。
SSM接続してみる
Windows Server2019へSSM接続してみる。
aws ssm start-session --target i-07a73fd9ab4928618 --document-name AWS-StartPortForwardingSession --parameters "portNumber=3389, localPortNumber=13389" --no-verify
セッション開始しました。
パブリックIPアドレスを指定してリモートデスクトップ接続を開始します。
Administrator
*********************
サーバに接続することができました。
AWSコンソールからSSM接続する
接続したいインスタンスの画面で「接続」を選択します。
「セッションマネージャー」タブから接続を押下します。
PowerShellが開きました。
以上になります!
Amazon S3 や Amazon CloudWatch Logs へログ出力確認は別な記事で取り上げてみます。よかったと思っていただけたら是非いいねをお願いいたします(*'ω'*)
この記事が気に入ったらサポートをしてみませんか?