0
0

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 1 year has passed since last update.

【AWS】VSCode Remote-SSH+EC2な開発環境を安く安全に作る〜4. VSCodeで接続〜

Posted at

前回で作成したスポットインスタンスにローカルのVSCodeからRemote-SSHで接続していきたいと思います。今回実施するのは以下の内容です。

  1. 各種ツールのインストール
  2. AWSCLIの設定
  3. ssh_configの設定
  4. VSCodeで接続

各種ツールのインストール

接続に使用する各ツールをインストールします。接続に使用するOSに合わせてそれぞれインストールしてください。

AWSCLIの設定

AWSCLIを呼び出すためにIAMユーザを作成してアクセスキーを作成およびプロファイルの作成を行います。アクセスキーは漏洩すると不正利用される可能性があるため以下の手順などを参考になるべく安全に利用しましょう。

ssh_configの設定

VSCode Remote-SSHで接続に使うsshの設定ファイルを作成・編集していきます。OSによりますが、ホームディレクトリ/.sshなどに置かれているconfigファイルに以下のようなエントリを追加します。
注意事項は ~/.ssh/configのHostNameに記載するインスタンスIDをスポットインスタンスが起動され直すたびに書き換える必要がある という点です。

Host i-1x2x3ccccc
    ProxyCommand sh -c "aws --profile hogefuga ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
    User $user
    HostName i-1x2x3ccccc #スポットインスタンスのインスタンスIDに書き換える
    IdentityFile ~/.ssh/hoge.pem #前々回に作成した起動テンプレートで指定したキーペア

VSCodeで接続

VSCodeに以下の拡張機能をインストールし、前述の手順で作成したssh設定を使いスポットインスタンスへ接続します。
https://code.visualstudio.com/docs/remote/ssh

利用時の注意点

以上でスポットインスタンスに対してVSCode Remote-SSHを使った開発環境を構築することができましたが注意点として以下があります。

  • スポットインスタンスで作成したデータは、スポットインスタンス中断時にデータ保存用EBSのファイルシステム以外は全て消えてしまう。
  • ssh_configのHostNameはスポットインスタンス中断のたびに新しいインスタンスIDへ書き換えないといけない

2番目はどうしようもないですが、1番目はツール等を事前にAMIにインストールしておいて、それ以外のデータをデータ保存用EBSに保存しておくなどで対処することが可能だと思います。
まだまだ改善できる点はあると思うのでなにか思いついたら追記していきたいと思います。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?