dogwood008の開発メモ!

最近のマイブームは機械学習, Ruby on Rails。中でも機械学習を使った金融商品の自動取引に興味があります。

踏み台サーバ (Bastion Server)を経由したSSHを、コマンド一発で

要旨

予め下記のように ~/.ssh/config に記入しておくと、 ssh work_server を実行するとそのまま一発で踏み台サーバを経由した先のサーバへSSHで入ることができる。

# ~/.ssh/config

Host work_server
  User ec2-user
  HostName ip-xxx-xxx-xxx-xxx.ec2.internal    # <- Private IP Addr
  Port 22
  ProxyCommand ssh -W %h:%p bastion_server
  IdentityFile /path/to/key.pem

Host bastion_server
  User ec2-user
  HostName ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com   # <- Public IP Addr
  Port 22
  IdentityFile /path/to/key.pem

何故今になって急にブログ執筆を再開し始めたのか

前回が2020年8月22日なので、実に1年と9ヶ月、日数にして638日ぶりである。前回は Google が発売している Andoid搭載スマートフォンPixel 4a でeSIMを使う記事だったのに、今は Pixel 6 Proを使っている。

blog.dogwood008.com

最近他人にプログラムやWeb技術のことを教えることが多くなってきて、知識の伝達の難しさを自分事として感じることが増えたことが、様々な理由のうちの一つである。

他にも理由がある。何かを伝える際、口頭なら一番アジャスタブルにその人に合った内容、濃度で伝えられる一方、別の人に説明する際には1からやり直しになってしまう。これを避けるため、自分が持っている知識をできるだけ細かい単位で吐き出していって、「詳しくはここを読んで」にしてしまえるようにしたいな、と思った事が挙げられる。最初に書籍に知識を残すことを発明した人は、本当に偉大である。

また、全く違う観点の理由もある。完全にIfの話しだが、もし今急に全ての記憶が吹っ飛んだら、どうやって食べて行こうか、ということを考えたことがある。その時に、記事として書き貯めたものがあれば、それを繋げて何かビジネスに繋げられるかもしれない。日々を惰性で過ごすより、少しずつ積み上げて、複利で未来に実を結べば良いな、という考えもある。

正直言って、今回紹介した踏み台サーバは、今となってはあまり使われなくなってきている技術ではないかと思う。イメージからコンテナ化して、Kubernetesに管理させたり、ECS や Heroku のような IaaS に乗っけてサーバレスにWebサービスを運営するのが、よりモダンな開発&運用のフローだと考えている。そういう構成なら、SSHでのサーバの操作はあまり推奨されないか、そもそもサーバが存在せず技術的に不可能である。それでも書いたのは、「頭の中にある情報技術的な知識を、可能な限り明文化して文章に吐き出していく」ことをこのブログの目的に本日決めたからである。

最後になるが、先日とある記事を目にし非常に感銘を受け、この記事を書くに至った。紹介して終わりにする。

blog.hiroppy.me