---
title: 20220813_AWS-Basics_AWS-SSM-Tunnelを試してみた
tags:  #aws #ssm #cli  
author: [Tetsuya Shibao](https://convert.docswell.com/user/midnight480)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/9J2NY5DWER.jpg?width=480
description: 20220813_AWS-Basics_AWS-SSM-Tunnelを試してみた by Tetsuya Shibao
published: August 13, 22
canonical: https://convert.docswell.com/s/midnight480/K478QK-aws-ssm-session-manager
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/9J2NY5DWER.jpg)

AWS SSM Tunnelを試してみた
2022/08/13 AWS-Basics SSM#2


# Page. 2

![Page Image](https://bcdn.docswell.com/page/DEYPGK29EM.jpg)

お話すること
・ 自己紹介
・ 以前体験したこと
・ 実際にやってみた
・ まとめ


# Page. 3

![Page Image](https://bcdn.docswell.com/page/VJN5GR8D78.jpg)

自己紹介
大分（22年） → 東京（11年） → 福岡（2021.11～）
電力系
通信事業
会社
独立系
SIer
業務アプリ
Java
Oracle
インフラ
UTM
L3/L2 Sw
仮想化基盤
クラウド
CCoE支援
SPP運営
情シス
MS製品
DC巡り
インフラ
クラウド
SaaS管理
情シス
https://midnight480.com/
midnight480
tetsuya.shibao
shibao-tetsuya
好きなAWSサービス
-
Organizations, CloudFormation StackSets, SSO


# Page. 4

![Page Image](https://bcdn.docswell.com/page/YE9YWMK8J3.jpg)

以前体験したこと
・ こんなときあなたはどういう構成を考えますか？
「今、あるプロジェクトでWorkspaces経由で接続、作業してもらっているんですけど、
作業の進捗が遅れていてプライベートサブネットにあるEC2にダイレクトアクセスできませんかね？」
- AWS環境にアクセスすることは可能
- Prd環境、マルチAZかつセキュリティグループも複雑
- ASAPで … 😇


# Page. 5

![Page Image](https://bcdn.docswell.com/page/GE86NLRZ7D.jpg)

以前体験したこと
・ 当時は ELB(CLB)を使ってSSHをフォワードする形で実装しました
22
10022
CLBコストが掛かる
詳細は本筋から外れるのでこちらをご覧ください 👉 https://qiita.com/mid480/items/ef6a5af90f42d42eb66f


# Page. 6

![Page Image](https://bcdn.docswell.com/page/LEL9PLK1JR.jpg)

実際にやってみた
AWS CLIとは
・AWS のサービスを管理するための統合ツールです
ダウンロードおよび設定用の単一のツールのみを使用して、コマンドラインから AWS の複数のサービスを制御し、ス
クリプトを使用してこれらを自動化することができます
Windows - Winget
winget install awscli
Windows - Chocolatey
choco install awscli
https://aws.amazon.com/jp/cli/
macOS - Homebrew
brew install awscli


# Page. 7

![Page Image](https://bcdn.docswell.com/page/4JMZ4M25EW.jpg)

実際にやってみた
AWS SSM ポートフォワーディングを試してみる
・ターミナルソフトでAWS CLIで立ち上げてつなげてみます
- Name：WindowsにRDP(TCP/3389)するためローカルの13389をポートフォワーディング
Windows - Powershell
$instanceId=$(aws ec2 describe-instances --query &quot;Reservations[].Instances[].InstanceId&quot; --filter &quot;Name=tag:Name,Values=Windows&quot; --output text)
Write-output $instanceId
aws ssm start-session --target $instanceId --document-name AWS-StartPortForwardingSession --parameters &quot;portNumber=3389, localPortNumber=13389&quot;
macOS - Terminal
instanceId=$(aws ec2 describe-instances --query &quot;Reservations[].Instances[].InstanceId&quot; --filter &quot;Name=tag:Name,Values=Windows&quot; --output text)
echo $instanceId
aws ssm start-session --target $instanceId --document-name AWS-StartPortForwardingSession --parameters &#039;{&quot;portNumber&quot;:[&quot;3389&quot;], &quot;localPortNumber&quot;:[&quot;13389&quot;]}&#039;


# Page. 8

![Page Image](https://bcdn.docswell.com/page/PJR6WVMZ79.jpg)

実際にやってみた
AWS SSM ポートフォワーディングを試してみる
・ターミナルソフトでAWS CLIで立ち上げてつなげてみます
- Name：LinuxにSSH(TCP/22)するためローカルの10022をポートフォワーディング
Windows - Powershell
$instanceId=$(aws ec2 describe-instances --query &quot;Reservations[].Instances[].InstanceId&quot; --filter &quot;Name=tag:Name,Values=Linux&quot; --output text)
Write-output $instanceId
aws ssm start-session --target $instanceId --document-name AWS-StartPortForwardingSession --parameters &quot;portNumber=22, localPortNumber=10022&quot;
macOS - Terminal
instanceId=$(aws ec2 describe-instances --query &quot;Reservations[].Instances[].InstanceId&quot; --filter &quot;Name=tag:Name,Values=Linux&quot; --output text)
echo $instanceId
aws ssm start-session --target $instanceId --document-name AWS-StartPortForwardingSession --parameters &#039;{&quot;portNumber&quot;:[&quot;22&quot;], &quot;localPortNumber&quot;:[&quot;10022&quot;]}&#039;


# Page. 9

![Page Image](https://bcdn.docswell.com/page/PEXMPZV17X.jpg)

実際にやってみた
AWS SSM ポートフォワーディングを試してみる
・便利な一方でHTTPS経由だと抜け穴となる通信ができてしまいます
- 企業によっては漏洩の観点から外部のRDP/SSHはブロック、管理したいという
ポリシーがあると思うので利用する場合は事前に相談しましょう
13389
3389
10022
22


# Page. 10

![Page Image](https://bcdn.docswell.com/page/3EKGD8QMJD.jpg)

実際にやってみた
AWS SSM ポートフォワーディングを試してみる
・TCPの通信であれば、RDPやSSH以外にもHTTPでも実現可能でした
- ポートフォワードをさらにポートフォワードして混乱する（実際に試して思った）と思うので、
ご利用は計画的に
18080
8080
10022
22
80


# Page. 11

![Page Image](https://bcdn.docswell.com/page/L73NR2P275.jpg)

まとめ
・プライベートなインスタンスに直接アクセスできる機能は便利（利用前の相談が大事）
・今回は試しに接続するためターミナル起動中のみのトンネリングで検証、
実際の現場ではスクリプトファイルで汎用的に利用可能（Workshopのページにもサンプルあり）
・AWS CLIは使えるようになると視野が広がってオススメ（気になる方はJAWS-UG CLI専門支部へ）


# Page. 12

![Page Image](https://bcdn.docswell.com/page/87DWYZL6JG.jpg)



