AWS Systems Manager セッションマネージャー越しでVS CodeのRemote-SSHを使用する

こんにちは、櫻井です。

 

EC2を使って開発を行う際、ターミナル上でSSH接続を行いVimなどで開発する方法や、VS CodeのRemote-SSHを使う方法などが挙げられます。

 

今回はセキュリティーグループでSSHのポートを開けずに、AWS Systems Manager セッションマネージャー(以下セッションマネージャー)でVS CodeのRemote-SSHを使えるようにすることで、セキュリティーが堅牢なシステムを構築、及びスムーズに開発できる環境を紹介します。

 

セッションマネージャー越しにSSHをするメリットをまとめている記事があるので、気になる方は以下のリンクを参照してください。

セッションマネージャー越しにSSHアクセスすると何が嬉しいのか

 

 

前提

  • WindowsのPCを使っている
  • VS Codeをインストール済み
  • セッションマネージャーを使ってログインできるEC2と環境がある(下記リンクの見出し”AWS CLI 用の Session Manager プラグインをインストールする” までを進めた状態)

SSMセッションマネージャーを使って安全にEC2にログインする

 

手順

 

ローカルPCに公開鍵、及び秘密鍵を作成する

 

すでに公開鍵、及び秘密鍵がある方はこの手順はスキップしてください。

 

コマンドプロンプトを起動し、以下のコマンドで鍵を発行します。

 

“ssh-keygen”で指定したkeyの配置場所にある公開鍵(id_rsa.pub)については後ほど使うのでテキストエディタ等で開いて、文字列を控えておいてください。

 

 

EC2に公開鍵を配置する

 

前提で示した通り、セッションマネージャーで接続できるEC2がある前提で進めます。

 

コマンドプロンプトでaws configure を設定します。詳しくは、公式ドキュメントを参照してください。

 

EC2にログインします。

 

ログインが出来たら、先程控えた公開鍵の文字列を任意のユーザ(今回はec2-userを使います)の”.ssh/authorized_keys”に貼り付けます。

 

これでEC2での作業は終了なので、ログアウトしてください。

 

 

VS CodeのRemote-SSHのインストールと設定

 

VS Codeを起動し、拡張機能からRemote-SSHをインストールします。

 

①拡張機能のアイコンをクリックし、②検索ボックスに”remote”と入力して検索します。③Remote-SSHという拡張機能が出てくるので、インストールをクリックします。

 

 

 

インストールが完了すると、左側のタブにRemote-SSHのアイコンが出現します。①Remote-SSHのアイコンをクリックし、②歯車のアイコンをクリックすると、画面上部にタブが展開されるので、③コンフィグファイルのパスをクリックします。

 

 

 

するとコンフィグファイルが開かれるので、以下のように設定を記述し保存(ctrl + s)します。

 

 

※ProxyCommand内の “%h” はHostNameを指定しており、”%p” はポート番号(デフォルトは22)を指定しています。

 

 

VS CodeのRemote-SSHでセッションマネージャー越しにSSHする

 

ひとつ前のステップでコンフィグの設定をし、保存が終わるとSSH TARGETSに先程設定した任意のホスト名が出現するので、その右側のアイコンをクリックします。

 

 

 

新しいタブが開かれ、セッションマネージャー越しにEC2にSSH接続が開始されます。以下のようになっていれば接続に成功です。

 

 

あとは普段通りのVS Codeの使い方と同様に、EC2内のファイルを編集することや、作成することが出来ます。

 

試しに先程公開鍵を配置した”authorized_keys” の中身をVS CodeのRemote-SSHから参照してみます。

 

①”Open Folder” をクリックすると画面上部に検索ボックスが現れるので、②”authorized_keys”が配置されたフォルダーのパスを入力し、③OKをクリックします。

 

 

すると、”authorized_keys”が配置されたフォルダーがワークツリー内に現れるので、”authorized_keys” をクリックすると、画面右側に、先ほど貼り付けた “id_rsa.pub”内の文字列を参照することが出来ました。

 

 

まとめ

 

これでセッションマネージャー越しにVS Code Remote-SSHで 接続し、開発できるようになりました。

セッションマネージャー越しにVS Code Remote-SSHすることで、安全且つスムーズに開発を進めることができるようになるので、ぜひ利用してみてください。

 

 

一緒に働く仲間を募集中!

ギークフィードではAWSエンジニアを募集しています。

興味がある方はこちらからエントリーをしてぜひ一緒に働きましょう!

AWS・開発エンジニア募集

この記事が気に入ったら
いいね ! しよう

Twitter で
The following two tabs change content below.
櫻井
櫻井
2022年3月にギークフィードに入社。 エンジニア完全未経験からSAP・SAAを三週間で取得することが出来ました。そのためAWSに関することを中心に記事を作成する予定です。 自分が初心者だからこそわかる、エンジニア未経験の方や、エンジニアを始めたばかりの方の躓きポイントをうまく説明できるように頑張ります。

【採用情報】一緒に働く仲間を募集しています

採用情報
ページトップへ