
Amazon SageMaker Unified StudioでKiro IDEのリモート接続環境を作ってみた
はじめに
Kiro IDE を普段から使っている方で、リモートサーバーに接続したいと思ったことありませんか?
VS Code では Remote SSH 拡張機能でリモート接続が定番ですが、Kiro IDE では信頼できる Remote SSH の拡張機能がないため、リモートサーバーとの接続が悩ましいところです。
そんな制約の中、Amazon SageMaker Unified Studio が Kiro IDE からのリモート接続に対応しているようなので、試してみました。
Amazon SageMaker Unified Studio とは
Amazon SageMaker Unified Studio は、データ・分析・AI/ML 開発を一元管理できる統合開発環境です。
プロジェクト単位でリソースを管理でき、コードエディタやノートブックなどの開発環境(Space)をクラウド上でホストできます。
SageMaker と聞くと機械学習系の難しいやつか〜と身構えるかもしれませんが、今回は単純にリモート環境としてコードエディタを作成するだけなので、難しい操作はありません。
それではやってみましょう。
ドメインを作成する
前提として、今回はIAM Identity Centerが使えない環境のため、IAMベースで認証します。
認証方法として、IAM Identity Centerでの認証も可能なので、もしIAM Identity Centerを利用している場合はIdentity Center based domainsも検討してみてください。
まずSageMaker Unified Studioのドメインを作成します。
SageMakerのコンソール画面より ドメイン > IAMベースのドメインを設定する >「設定」をクリック

今回は特別な要件はないのでそのまま「設定」をクリックして完了します。

スペースを作成する
ドメインが作成されると SageMaker Unified Studio の画面に移動するので「開く」をクリックします。

左メニューのスペースを開きます。
ローカルIDEから接続の部分にKiroのアイコンがあるので期待できますね!

「VS Code用エディタ」をクリックして、スペースの作成画面に進みます。
スペース作成
スペース名と IDE の種類を設定します。
IDE は「Code Editor」を選択します。
次にインスタンスはml.t3.largeを選択します。
もう一回り小さいサイズのインスタンスタイプもありますが、ローカルからリモートアクセスを有効にするにはメモリが8GB必要なため、その条件を満たす最小のml.t3.largeを選択しています。
次にリモートアクセスにチェックを入れて、ローカルのKiroからアクセスできるようにします。

最後に、アイドルタイムアウトについてはデフォルトの1時間を採用します。
ここは適宜時間を入力してください。
リモートサーバーの停止忘れを防げるのでいい機能ですね。

Kiro IDE からリモート接続する
スペースが起動したら Kiro IDE から接続します。
接続手順
スペース一覧に戻ると、作成したスペースが表示されています。
スペースのプルダウンからKiroのアイコンが表示されるのでクリックします。

ローカルの Kiro IDE が起動して、SageMaker のリモート接続画面が開きます。

少し待つと、サインイン方法の選択画面に移ります。
自身の環境に合わせてKiroの認証を行ってください。

認証が完了すると、自動でリモートのスペースに接続されます。
新しいウィンドウが開き、スペース上のファイルがリモートワークスペースとして表示されれば接続完了です。

Kiroからリモートサーバーを起動停止してみる
一度スペースを作ってしまえばKiroからリモートサーバーを起動することもできます。
Kiroの左メニューからAWSアイコンをクリックして、SAGEMAKER UNIFIED STUDIOのメニューに作成したスペースが表示されます。
この時点ではスペースは停止されています。

起動したいスペースをダブルクリックすると、スペース名の右側に(Starting)と表示され、少し待つと先ほどと同じようにリモート接続用の新しいKiroのウィンドウが開きます。

以降の手順は同じです。
停止する場合は、スペースの右側に停止ボタンが表示されるので、クリックすれば停止できます。

毎回リモートサーバーを起動するためにAWSにログインするのは面倒なので、Kiroから直接操作できるのは便利ですね。
最後に
Amazon SageMaker Unified Studio を使って Kiro IDE からリモート接続する環境を作ってみました。
スペース作成時にリモートアクセスを有効化するだけでローカルのKiroから接続できるのはありがたいですね。
また、アイドルタイムアウトで未使用時の課金を自動で抑えられるのもリモートサーバーとして嬉しい機能です。







