SSH 環境ホスト要件 - AWS Cloud9

新規のお客様への AWS Cloud9 の提供は終了しました。AWS Cloud9 の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら

SSH 環境ホスト要件

AWS Cloud9 を指示して、環境を既存のクラウドコンピューティングインスタンスや独自のサーバーに接続するには、AWS Cloud9SSH 開発環境を作成します。ただし、SSH 環境を作成する前に、代わりに EC2 環境を作成することの利点を検討してみてください。

EC2 環境 を作成すると、AWS Cloud9 によって新しい環境が作成され、Amazon EC2 に対して新しいインスタンスの起動がリクエストされます。その後、新しく起動されたインスタンスが新しい環境に接続されます。EC2 環境の作成には次の利点があります。

  • インスタンスが自動で起動される。EC2 環境を作成すると、同時に AWS Cloud9 によって Amazon EC2 に対して新しいインスタンスの作成がリクエストされます。SSH 環境では、既存のクラウドコンピューティングインスタンス (Amazon EC2 インスタンスなど) または独自のサーバーを自分で指定する必要があります。

  • インスタンスが自動でシャットダウンされる。デフォルトでは、EC2 環境の IDE に接続されたすべてのウェブブラウザインスタンスが閉じられてから 30 分後に、AWS Cloud9 が自動的に EC2 環境をシャットダウンします。(この動作はいつでも変更できます)。これにより、追加料金がAmazon EC2 使用用 AWS アカウント に適用される可能性を減らすことができます。

  • インスタンスが自動でクリーンアップされる。EC2 環境を削除すると、接続されている Amazon EC2 インスタンスも自動的に削除されます。これにより、Amazon EC2 使用のため、AWS アカウント に課金される追加料金の可能性もなくなります。クラウドコンピューティングインスタンスに接続されている SSH 環境 では、インスタンスを自分で削除する必要があります。

  • AWS マネージド一時認証情報。EC2 環境では、呼び出し元の AWS アカウント ですべてのAWS リソースに対して、すべてのAWS アクションを簡単にオンまたはオフにできます (いくつかの制限あり)。環境の Amazon EC2 インスタンス用インスタンスプロファイルを設定したり、AWS エンティティ (IAM ユーザーなど) の AWS アクセス認証情報を永続的に保存したりする必要はありません。

    詳細については、「AWS マネージド一時認証情報」を参照してください。

  • AWS ツールキットと Git パネル。これらのツールは、Amazon EC2 インスタンスで作成された AWS Cloud9 環境でのみ AWS のサービス の操作、ビジュアルソースコントロールの使用ができます。

代わりに EC2 環境を作成したい場合は、「EC2 環境を作成する」を参照してください。それ以外の場合は、SSH 環境の作成に関する情報を読み続けてください。

SSH 環境を作成するタイミングと方法

以下の要件がある場合は、EC2 環境ではなく SSH 環境を作成する必要があります。

要件 手順

AWS クラウド コンピュートインスタンスを使用するのに、AWS アカウント への料金が発生するのは避けたいとします。そこで、AWS の外部にある既存のクラウドコンピューティングインスタンスや独自のサーバーに AWS Cloud9 を接続することにしました。

  1. インスタンスまたはサーバーが、このトピックで後述する要件を満たしていることを確認します。

  2. 用の SSH 環境を作成AWS Cloud9して、インスタンスまたはサーバーをそこに接続します。

環境を作成すると同時に、AWS Cloud9 に新しいインスタンスを起動させるのではなく、AWS アカウント で既存の AWS クラウドコンピューティングインスタンス (Amazon EC2 インスタンスなど) を使用したいと考えています。

  1. インスタンスが、このトピックで後述する要件を満たしていることを確認します。

  2. 用の SSH 環境を作成AWS Cloud9して、インスタンスをそこに接続します。

現在、EC2 環境では AWS Cloud9 がサポートしていない Amazon EC2 インスタンスタイプを使用したいと考えています (R4 など)。

  1. 目的のインスタンスタイプに基づいて Amazon EC2 インスタンスを起動します。または、AWS アカウント 内で目的のインスタンスタイプを実行している既存のインスタンスを識別します。

  2. インスタンスが、このトピックで後述する要件を満たしていることを確認します。

  3. 用の SSH 環境を作成AWS Cloud9して、インスタンスをそこに接続します。

Amazon Linux または Ubuntu サーバー以外の Amazon マシンイメージ (AMI) に基づいた Amazon EC2 インスタンスを使用したいと考えています。

  1. 目的の AMI に基づいて Amazon EC2 インスタンスを起動します。または、AWS アカウント 内で目的の AMI に基づいている既存のインスタンスを識別します。

  2. インスタンスが、このトピックで後述する要件を満たしていることを確認します。

  3. 用の SSH 環境を作成AWS Cloud9して、インスタンスをそこに接続します。

複数の環境を単一の既存のクラウドコンピューティングインスタンスまたは独自のサーバーに接続したいと考えています。

  1. インスタンスまたはサーバーが、このトピックで後述する要件を満たしていることを確認します。

  2. インスタンスまたはサーバーに AWS Cloud9 を接続したい各環境にSSH 環境を作成します。

注記

Amazon EC2 インスタンスを起動すると、Amazon EC2の AWS アカウント に対して料金が発生する場合があります。詳細については、「Amazon EC2 の料金」を参照してください。

SSH ホスト要件

既存のクラウドコンピューティングインスタンスまたは独自のサーバーは、AWS Cloud9 で SSH 環境に接続するために以下の要件を満たしている必要があります。

  • Linux を実行する必要があります (AWS Cloud9 は Windows をサポートしていません)。

  • Arm ベースのアーキテクチャを使用することはできません。(Arm プロセッサを中心に構築されたシステムのサポートは検討中です)。

  • SSH を使用してパブリックインターネット経由で到達可能である必要があります。Virtual Private Cloud (VPC) またはバーチャルプライベートネットワーク (VPN) 経由でのみ到達可能である場合、その VPC または VPN はパブリックインターネットにアクセスできる必要があります。

  • ホストが既存のAWSAmazon Virtual Private Cloud (Amazon VPC) の一部であるクラウドコンピューティングインスタンスである場合、追加の要件があります。詳細については、「Amazon VPC の設定」を参照してください。

  • AWS Cloud9 をインストールするときは、Python3 がインストールされており、デフォルトの Python バージョンおよび pip3として設定されている必要があります。バージョンをチェックするには、既存のインスタンスまたはサーバーのターミナルから、コマンド python --version を実行します。インスタンスまたはサーバーに Python をインストールするには、以下のリソースのいずれかを参照してください。

    注記

    既存の AWS クラウド コンピューティングインスタンスに接続して要件を確認し、これらの要件を満たすには、以下のリソース (1 つ以上) を参照してください。

    独自のサーバーに接続して要件を確認し、これらの要件を満たすには、「SSH コマンドを使用してサーバーに接続」 (macOS/Linux)、または「PuTTY を使用してサーバーに接続」 (Windows) などの語句を使用してインターネットを検索してください。

  • 次のコマンドを実行して、必要なすべてのパッケージをインストールします。

    Amazon Linux の場合:

    sudo yum install -y make glibc-devel gcc gcc-c++

    Ubuntu Server の場合:

    sudo apt install build-essential
  • Node.js がインストールされている必要があります。ホストのオペレーティングシステムでサポートされている最新の Node.js バージョンをインストールすることをお勧めします。

    警告

    AWS Cloud9 でサポートされていない Node.js バージョンを使用している場合、SSH 環境の作成時に AWS Cloud9 のインストールの問題が発生することがあります。

    バージョンをチェックするには、既存のインスタンスのターミナルまたはサーバールから、コマンド node --version を実行します。インスタンスまたはサーバーに Node.js をインストールするには、次のいずれかを参照してください。

  • 既存のインスタンスやサーバーでログイン後に AWS Cloud9 の起動元とするディレクトリパスには、rwxr-xr-x に設定されたアクセス許可が必要です。つまり、[Configure settings] (設定の構成) ページで [User] (ユーザー) に対して環境の作成ウィザードで指定したログイン名に対応する所有者への読み取り/書き込み/実行のアクセス許可、この所有者が所属するグループへの読み取り/実行のアクセス許可、およびその他への読み取り/実行のアクセス許可が必要です。

    例えば、ディレクトリのパスが ~ である場合 (~[Configure settings] (設定の構成) ページで [User] (ユーザー) に指定したログイン名のホームディレクトリを表します)、次のコマンドと続く指示を使用し、インスタンスまたはサーバーで chmod コマンドを実行して、このような許可をディレクトリに設定できます。

    sudo chmod u=rwx,g=rx,o=rx ~
  • 既存のインスタンスまたはサーバーに AWS Cloud9 インストーラをダウンロードして実行します。

  • 必要に応じて、SSH を介した受信トラフィックを、AWS Cloud9 が使用する IP アドレスのみに制限できます。これを行うには、IP 範囲へのインバウンド SSH トラフィックを、「AWS Cloud9 のインバウンド SSH IP アドレスの範囲」で説明されているように設定します。

インスタンスまたはサーバーが上記の要件を満たしていることを確認した後、AWS Cloud9 が接続できるSH 環境を作成します。