AWS Systems Manager Session Managerを用いた接続
  • 26 Dec 2022
  • 1 分で読み終わります
  • ダーク
    ライト

AWS Systems Manager Session Managerを用いた接続

  • ダーク
    ライト

Article Summary

概要

trocco とお客様が用意したサーバー間でAWS Systems Manager Session Managerを経由したSSHトンネルを張ることで、お客様のデータソースに対し、プライベートサブネット内の踏み台サーバーを経由して接続できます。
通常のSSHトンネルを使った接続と比べると、踏み台サーバーをパブリックサブネットに配置する必要が無くなるため、より安全にtroccoをご利用いただけます。

以下にAWS Systems Manager Session Manager(以降、単にSession Managerと表記します)を用いた接続の概略図を示します。

image.png

設定を行うには、Session Managerの接続情報を作成後、データソースの接続情報の設定から利用したいSession Managerの接続情報を選択します。
2022年8月時点でMySQLとPostgreSQLのみ対応しています。その他のデータソースについては、順次対応予定です。
Sesesion Managerについて、詳しくは以下のAWSのドキュメントをご覧ください。
AWS Systems ManagerSession Manager - AWS Systems Manager

前提条件

以下の項目をお客様のAWSアカウント上で実施していただく必要があります。
なお、これらはtroccoでSession Managerを利用するための最小限の設定項目です。
ご所属の組織のポリシーに合わせて修正をお願いいたします。

踏み台サーバーとなるインスタンスの作成

  • インスタンスにはSSM Agentをインストールする必要があります
    インストール手順についてはAWSのドキュメントをご覧ください。
    SSM Agent の使用 - AWS Systems Manager

踏み台サーバーへのSession Manager接続を許可するためのIAMインスタンスプロファイルの設定

踏み台サーバーへのSession Manager接続を許可するためのIAMポリシーの設定

設定方法

ヘッダーにある設定からSSM Session Manager接続情報をクリックしてください。

image.png

作成したSession Managerの接続情報の一覧ページに遷移します。
新しく接続情報を作成する場合は新規作成を押してください。
既存の接続情報を確認、または編集したい場合は対象の接続情報をクリックしてください。

image.png

Session Managerの接続情報の作成ページに遷移します。
必要な項目を入力して、接続情報を作成してください。

image.png

Session Managerを利用したいMySQLの接続情報の作成・編集ページで、AWS Systems Manager Session Manager経由で接続するにチェックを入れてください。
次に、接続に利用したいSession Managerの接続情報を選択してください。
選択肢が表示されていない場合はSSM接続情報を読み込むをクリックしてください。
なお、通常のSSHトンネルを使った接続との併用はできません。

image.png

入力項目

Session Managerの接続情報を作成するために必要な入力項目について説明します。

項目名必須デフォルト値内容
名前Yes-trocco内部で利用する接続情報の名前を入力してください。
メモNo-trocco内部で利用する接続情報のメモを入力してください。
AWSアクセスキーIDYes-Session Managerを利用するためのAWSアクセスキーIDを入力してください。
AWSシークレットアクセスキーYes-Session Managerを利用するためのAWSシークレットアクセスキーを入力してください。
AWSリージョンYesap-northeast-1Session Managerを利用するリージョンを入力してください。
EC2インスタンスIDYes-Session Managerを利用する際に踏み台となるEC2インスタンスのインスタンスIDを入力してください。
インスタンスIDは i- や mi- で始まる文字列です。
SSHポートYes22Session Managerを利用する際に、踏み台となるEC2インスタンスにSSH接続するポートを入力してください。
SSHユーザーYesec2-userSession Managerを利用する際に、踏み台となるEC2インスタンスにSSH接続するユーザー名を入力してください。
SSH秘密鍵Yes-Session Managerを利用して接続する際に、踏み台となるEC2インスタンスに接続するための秘密鍵ファイルを入力してください。
一般に、EC2インスタンス作成時に選択、または作成したキーペアの秘密鍵となります。
SSH秘密鍵のパスフレーズNo-SSH秘密鍵のパスフレーズがあれば入力してください。

補足

Session Managerを経由したSSHトンネルは転送前に張られ、転送完了後に閉じられます。

転送の実行環境は分離されているため、お客様間でSession Managerのセッションや、SSHトンネルが共有されることはありません。

接続に失敗する場合は、お客様の環境からの接続をお試しください。


この記事は役に立ちましたか?