見出し画像

AWS Systems Manager (SSM) Session Managerをインストールしてみる

AWS Systems Manager (SSM) Session Manager とは

クライアントから直接サーバに接続せず、 AWS SSMを介しインスタンス上のSSMエージェントと通信することでサーバ操作を行える技術です。
踏み台サーバを立てる必要やSSH接続許可を必要とせずにAWSのサーバへ接続できます。

画像1

クライアントに必要な作業

①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のインストール

まず、インストーラを取得します。

画像2

手順に従いインストールしたら、コマンドラインで確認します。

$ aws --version
aws-cli/2.1.17 Python/3.7.9 Windows/10 exe/AMD64 prompt/off

次にプラグインをインストールします。インストーラをタブルクリックして完了まで進めればOKです。

(クライアント側)AWS CLIを利用するためのIAM作成及びアクセスキー作成

IAMを作成したらアクセスキーを作成します。

画像3

csvがダウンロードされていればOKです。​

(クライアント側)IAMユーザへAmazonSSMFullAccessポリシーのアタッチ

ポリシー検索欄から「AmazonSSMFullAccess」を探しアタッチします。

画像4

IAMユーザやポリシーにアタッチできます。

画像5

(クライアント側)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

画像16

実際にサーバにインストールされていることも分かります。

画像24

VPCのDNSホスト名の有効化、インターネットゲートウェイのアタッチ

DNS設定が有効化されているかを確認します。

画像7

「DNSホスト名」が無効化されているので、DNSホスト名を有効化します。

画像6

設定が有効化されていることを確認します。

画像8

次に、インターネットゲートウェイがVPCにアタッチされていることを確認します。

画像9

EC2インスタンスにパブリックIPアドレスを付与

EC2インスタンスにパブリックIPアドレスが設定されていることを確認します。

画像10

EC2インスタンス の権限設定:EC2のIAMロールへポリシーAmazonEC2RoleforSSMをアタッチ

EC2のIAMロールを開いてSSMの接続に必要な権限をアタッチします。

画像11


「ポリシーをアタッチします」を選択します。

画像13

AmazonSSMManagedInstanceCoreを選択し、アタッチします。

画像14

httpsアウトバウンド設定許可

セキュリティグループの設定でアウトバウンド通信でhttpsが許可されていることを確認します。

画像15

インターネットへのアウトバウンド許可ではなく、 VPC エンドポイントを使ってSSMサービスにプライベート通信する方法もあります。

SSM接続してみる

Windows Server2019へSSM接続してみる。

aws ssm start-session --target i-07a73fd9ab4928618 --document-name AWS-StartPortForwardingSession --parameters "portNumber=3389, localPortNumber=13389" --no-verify

セッション開始しました。

画像17

パブリックIPアドレスを指定してリモートデスクトップ接続を開始します。

画像18

画像20

Administrator
*********************

サーバに接続することができました。

画像20

AWSコンソールからSSM接続する

接続したいインスタンスの画面で「接続」を選択します。

画像21

「セッションマネージャー」タブから接続を押下します。

画像22

PowerShellが開きました。

画像23

以上になります!

Amazon S3 や Amazon CloudWatch Logs へログ出力確認は別な記事で取り上げてみます。よかったと思っていただけたら是非いいねをお願いいたします(*'ω'*)


この記事が気に入ったらサポートをしてみませんか?