SSM セッションマネージャーのポートフォワーディングを使用し、自宅からアクセスしてメンテナンス可能?
【テレワーク(リモートワーク)】 ~自宅からアクセスするAWS保守メンテナンス方法まとめ~で、テレワーク(リモートワーク)をしながら、自宅からアクセスするAWSメンテナンス方法はできるのか?ということをご紹介しました。
今回はその記事の続きになり、SSM セッションマネージャーのポートフォワーディングを使用したAWSメンテナンスアクセスをご紹介します。
実際に構築する手順をご紹介!
まずAWS CLIを使用してローカルPCとAWS上の目的のサーバにSSM Session Managerの機能を使い、通信を暗号化するトンネルを作成します。その後、目的のサーバに接続します。
構築のポイント
- ユーザ管理と認証はIAMを使用します。
- AWSマネージメントサービスなので、セキュリティに問題はありません。安心してご使用いただけます。
- 接続はAWS CLIを使いRDPなどをポートフォワーディングします。
- EC2にSSMの権限を付与したロールの付与が必須です。
- AWSよりサポートを提供してもらえるので、サポート面に安心があります。
- 料金は、インターネット接続を禁止している場合は、エンドポイント料金分費用がかかる。
AWSのマネジメントコンソールの詳しい料金体系
- ※ インターネット接続ができない場合のみ必要
- ※ 東京リージョン(2020/09時点)の利用を前提として試算
VPN エンドポイント料金 | 1時間に付き$0.014、処理データ1 GBあたり$ 0.01 |
---|
下記エンドポイントが必要になります。
com.amazonaws.region.ssm
com.amazonaws.region.ec2messages
com.amazonaws.region.ec2
com.amazonaws.region.ssmmessages
構築手順
AWS System Manager Sessions Manager を使用した新しい機能ガイド を参考に構築していきます。
1. SSMセッションマネージャの使用準備
- ①
「SSM セッションマネージャーを使ったマネジメントコンソールからのメンテナンスアクセス」の3の手順まで実施
※起動するインスタンスはWindowsインスタンスを起動
2. AWS CLIとSystem Manager CLI 拡張機能をインストール
- ①
以下Windows64bit OSバージョンで実施し、AWS CLI version 2をダウンロードしインストールする
AWS CLI version 2ダウンロード画面を開き、保存する。実行をクリックする。
- ②
Nextをクリック
- ③
「I accept the terms in the License Agreement」をチェック⇒nextをクリック
- ④
Nextをクリック
- ⑤
Installをクリック
- ⑥
Finishをクリック
- ⑦
System Manager CLI 拡張機能をダウンロードしてインストール
System Manager CLI 拡張機能ダウンロード画面を開き、インストール。実行をクリックする。
- ⑧
「agreet to the License terms and conditions」をチェック⇒Installをクリック
- ⑨
Closeをクリック
3.アクセスキーの作成
System Manager アクセスキーの管理 (コンソール)ガイドを参考に作成を行います。
- ①
アクセスキーを作成したいIMAユーザをクリック
- ②
認証情報をクリック⇒アクセスキーの作成をクリック
- ③
CSVでダウンロード⇒シークレットアクセスキーを保存
4. AWS CLIでポートフォワーディング
- ①
PowerShellを起動⇒「aws configure」を実行⇒AWS CLIの設定を実施⇒アクセスキー、シークレットアクセスキー、デフォルトリージョンを入力
PS > aws configure
AWS Access Key ID[]: 【アクセスキー】
AWS Secret Access Key []:【シークレットアクセスキー】
Default region name []: ap-northeast-1
Default output format []:
- ②
下記コマンドを入力し、ポートフォワーディングを実行⇒portNumberに転送先のポート番号、localPortNumberにローカルのポート番号を指定
PS > aws configure
PS > aws ssm start-session --target 【インスタンスID】 --document-name AWS-StartPortForwardingSession --parameters "portNumber=3389,localPortNumber=33890"
5. RDPで接続
- ①
localhost:33890で接続する
まとめ
SSM セッションマネージャーのポートフォワーディングを使用したメンテナンスアクセスを構築してみました。
portNumberに22を指定すればSSHでも使用が可能です。構築やCLIを使う点で難しいですが、SSHやRDPを安全にかつオンプレミスを使う感覚と同じ感覚で使用できて非常に便利だと思います。
導入のご検討や、お困りごとがある際は、気軽に当社お問合せサイトにお問合せください。お客様の環境に最適な方法を提案いたします。