SSH を使用した開発環境への接続 - Amazon CodeCatalyst

SSH を使用した開発環境への接続

SSH を使用して開発環境に接続し、ポート転送、ファイルのアップロードとダウンロード、その他の IDE の使用など、制限なくアクションを実行できます。

注記

IDE タブまたはウィンドウを閉じた後も SSH を長時間使用し続ける場合は、IDE の非アクティブが原因で停止しないように、開発環境のタイムアウトを高く設定してください。

前提条件
  • 次のいずれかの OS が必要です。

    • Windows 10 以降で OpenSSH が有効になっている

    • macOS および Bash バージョン 3 以降

    • yumdpkg、または rpm パッケージマネージャーと Bash バージョン 3 以降の Linux

  • また、AWS CLI バージョン 2.9.4 以降も必要です。

SSH を使用して開発環境に接続するには
  1. https://codecatalyst.aws/ で CodeCatalyst コンソールを開きます。

  2. SSH を使用して開発環境に接続したいプロジェクトに移動します。

  3. ナビゲーションペインで、[コード] を選択します。

  4. [開発環境] を選択します。

  5. SSH を使用して接続する実行中の開発環境を選択します。

  6. [SSH 経由で接続] を選択し、目的のオペレーティングシステムを選択し、以下を実行します。

    • まだ実行していない場合は、指定したターミナルで最初のコマンドを貼り付けて実行します。コマンドはスクリプトをダウンロードし、ローカル環境で次の変更を実行して、SSH を使用して開発環境に接続できるようにします。

      • [AWS CLI 用のセッションマネージャープラグイン] をインストールする

      • SSO ログインを実行できるように、ローカル AWS Config を変更し、CodeCatalyst プロファイルを追加します。詳細については、「CodeCatalyst で AWS CLI をセットアップして使用する」を参照してください。

      • ローカル SSH 設定を変更し、SSH を使用して開発環境に接続するために必要な設定を追加します。

      • SSH クライアントが開発環境に接続するために使用するスクリプトを ~/.aws/codecatalyst-dev-env ディレクトリに追加します。このスクリプトは [CodeCatalyst StartDevEnvironmentSession API] を呼び出し、AWS Systems Manager Session Manager プラグインを使用して、ローカル SSH クライアントがリモート開発環境に安全に接続するために使用する開発環境との AWS Systems Manager セッションを確立します。

    • 2 番目のコマンドを使用して AWS SSO を使用して Amazon CodeCatalyst にサインインします。このコマンドは、~/.aws/codecatalyst-dev-env ディレクトリ内のスクリプトが [CodeCatalyst StartDevEnvironmentSession API] を呼び出すことができるように、認証情報をリクエストして取得します。このコマンドは、認証情報の有効期限が切れるたびに実行する必要があります。モーダル (ssh <destination>) で最後のコマンドを実行すると、認証情報の有効期限が切れているか、このステップで指示されているように SSO ログインを実行していない場合にエラーが発生します。

    • 3 番目のコマンドを使用して SSH を使用して、指定した開発環境に接続します。このコマンドの構造は次のとおりです。

      ssh codecatalyst-dev-env=<space-name>=<project-name>=<dev-environment-id>

      このコマンドを使用して、ポート転送やファイルのアップロードやダウンロードなど、SSH クライアントで許可されるその他のアクションを実行することもできます。

      • ポート転送:

        ssh -L <local-port>:127.0.0.1:<remote-port> codecatalyst-dev-env=<space-name>=<project-name>=<dev-environment-id>
      • 開発環境のホームディレクトリにファイルをアップロードする:

        scp -O </path-to-local-file> codecatalyst-dev-env=<space-name>=<project-name>=<dev-environment-id>:</path-to-remote-file-or-directory>