3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

macOS CatalinaでSQL接続をAWS Session Manager経由の踏み台サーバ経由で行う方法

Last updated at Posted at 2020-09-30

この記事

macOSをMojaveからCatalinaに変えたのですが
SequelProのmysql接続が同じ設定なのに失敗しました
ちょっとハマったので備忘として残します

AWS Session Manager

Session Managerとは、ざっくりいうとAWSのIAM認証でインスタンスにログインできるようにする仕組みです
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/what-is-systems-manager.html
NetworkACLやSecurityGroupなどの設定をせずともインスタンスに直接ログインできて便利です
在宅勤務などでIPアドレスを固定できないような場合でもセキュリティが担保できます
Session Managerで踏み台サーバにログインして、そこからDBにアクセスします

SequelPro

MySQLクライアントとして利用します
SequelACEという後継ソフトが出ていますが、そちらではこの方法で接続ができませんでした
(セキュリティを高めるため?にサンドボックスという仕組みを使っていて、それが仇になっていそうです)

その他TablePlusなども試しましたが駄目で、この方法で接続できるのは確認できる範囲ではSequelProだけでした

前提

awscli@2とSessionManagerを公式のやり方で入れました
デフォルトシェルはfishです(bashでも同じ結果になりました)

方法

.ssh/configに接続設定を書き、そのホスト名をSequelProで指定します
このとき、export PATH=$PATH:/usr/local/binが必要です。(Mojaveではなくても動きました)
Session Managerにパスが通ってないらしく、その場所をパスに加えます

Host YOUR_AWESOME_HOST
    HostName        i-0xxxxxxxxxxxxxxx
    Port            22
    IdentityFile    ~/.ssh/YOUR_AWESOME_KEY.pem
    User            ec2-user
    ProxyCommand    sh -c "export PATH=$PATH:/usr/local/bin && /usr/local/bin/aws --region us-west-2 ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p' --profile YOUR_AWESOME_PROFILE"

Screenshot 2020-09-30 16.38.08.png

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?