AWS Cloud9 統合開発環境 (IDE) でAmazon Lightsail インスタンスを操作する - AWS Cloud9

AWS Cloud9 統合開発環境 (IDE) でAmazon Lightsail インスタンスを操作する

AWS Cloud9 IDE を使用して、WordPress、LAMP (Linux、Apache、MySQL、PHP)、Node.js、Nginx、Drupal、Joomla、および Linux ディストリビューション (Amazon Linux、Ubuntu、Debian、FreeBSD、openSUSE など) のような一般的なアプリケーションやフレームワークを使って、事前設定された Amazon Lightsail インスタンス上でコードを操作できます。

Lightsail は、シンプルな仮想プライベートサーバー (VPS) ソリューションを必要とするデベロッパー、スモールビジネス、学生、その他のユーザーが AWS の利用を開始するためにとることができる最も簡単な方法です。Lightsail では、コンピューティング、ストレージ、およびネットワーキングの容量および機能がデベロッパーに提供され、それによってウェブサイトやウェブアプリケーションをクラウドにデプロイおよび管理できます。Lightsail には、プロジェクトをすばやく開始するためのすべてが揃っています。仮想マシン、SSD ベースのストレージ、データ転送、DNS 管理、静的 IP が 1 か月単位の予測可能な低料金で提供されます。詳細については、「Amazon Lightsail の機能」を参照してください。

このトピックでは、AWS Cloud9 と互換性のある Linux ベースの Lightsail インスタンスを作成し、設定します。次に、AWS Cloud9 SSH 開発環境を作成して、 Lightsail インスタンスに接続します。

注記

この手順を完了すると、AWS アカウントに料金が発生する可能性があります。Lightsail などのサービスに対して発生する可能性がある料金も含まれます。詳細については、「Amazon Lightsail 料金表」を参照してください。

AWS Cloud9 IDE、ソース管理、構築、デプロイ、仮想サーバー、サーバーレスリソースなどのツールチェーンを含む、さらに進んだアドバンストソリューションを作成して設定するには、このトピックの残りをスキップし、代わりに「AWS CodeStar プロジェクトを操作する」を参照してください。

AWS Cloud9 IDE を使用して、サンプルコードを含まない、 または Amazon Linux または Ubuntu Server を実行している Amazon EC2 インスタンスを操作するには、このトピックの残りをスキップし、代わりに「開始方法: ベーシックチュートリアル」を参照してください。

ステップ 1: Linux ベースの Lightsail インスタンスを作成する

このステップでは、Lightsail コンソールを使用して、Linux ベースのディストリビューションでアプリケーションを実行する Amazon EC2 インスタンスを作成します。このインスタンスには自動的に次のものが含まれます。

  • パブリック IP アドレスとプライベート IP アドレス (静的パブリック IP を後で作成することができます)。

  • ポート 22 を介した SSH、ポート 80 を介した HTTP、ポート 443 を介した HTTPS を使用して、インスタンスにアクセスします (この設定は変更できます)。

  • ブロックストレージディスク (後で追加のディスクをアタッチできます)。

  • 組み込みのシステムレポート

Lightsail コンソールを使用すると、インスタンスを後でバックアップ、再起動、停止、または削除することができます。

  1. Lightsail コンソール (https://lightsail.aws.amazon.com) を開いてサインインします。

    AWS アカウントの IAM 管理者ユーザーの認証情報を使用してサインインすることをお勧めします。IAM 管理者ユーザーとしてサインインできない場合は、AWS アカウントの管理者にチェックしてください。

  2. プロンプトが表示されたら、コンソールで使用する言語を選択して、[保存]を選択します。

  3. プロンプトが表示されたら、[では、始めましょう]を選択します。

  4. インスタンス]タブが既に選択されているホームページで、[インスタンスの作成]を選択します。

    
                  Lightsail コンソールでインスタンスの作成ボタンを選択する
  5. インスタンスロケーションの場合、ロケーションが、インスタンスを作成したいと思っており、AWS Cloud9 が使用可能な AWS リージョンと一致することを確認します。詳細については、Amazon Web Services の全般的なリファレンスAWS Cloud9 を参照してください。AWS リージョン、アベイラビリティーゾーン、または両方を変更するには、[AWS リージョンとアベイラビリティーゾーンの変更]を選択して、画面の指示に従います。

  6. インスタンスイメージの選択]に対しては、[プラットフォームの選択]には Linux/Unix をすでに選択しており、[Select a blueprint (設計図の選択)]には[アプリ + OS]がすでに選択されている状態で、設計図を選択します。

    
                  Lightsail コンソールでインスタンスプラットフォームと設計図を選択する
    注記

    アプリケーションを持たないインスタンスを作成する場合は、[アプリ + OS]の代わりに[OS のみ]を選択してから、ディストリビューションを選択します。

    使用可能なオプションについては、[Lightsail]ウェブサイトの「Amazon Lightsail インスタンスイメージの選択」を参照してください。

  7. インスタンスプランの選択]で、プランを選択するか、選択済みのデフォルトプランのままにします。

  8. インスタンスの名前の指定]に、インスタンスの名前を入力するか、推奨のデフォルト名のままにします。

  9. インスタンス数として、作成するインスタンスの数を入力するか、デフォルトの 1 インスタンス ([x 1]) のままにします。

  10. Create]を選択します。

ステップ 2: AWS Cloud9 で使用するインスタンスを設定する

このステップでは、実行中のインスタンスに接続してから、AWS Cloud9 が後でそれを使用できるように設定します。

注記

以下の手順では、前のステップで[アプリ + OS]を選択したものとします。代わりに[OS のみ]と、[Ubuntu]以外のディストリビューションを選択した場合は、以下の手順を適切に読み替える必要があります。

  1. 前のステップから Lightsail コンソールを開いたまま、[インスタンス]タブ上で、そのインスタンスのカードで、インスタンス名を選択します。

    
                  Lightsail コンソールでインスタンスの詳細の表示を選択する
  2. 接続]タブ上で、独自の SSH クライアントを使用して接続するため、[パブリック IP]と[ユーザー名]の値を書き留めます。後に必要になります。

    
                  Lightsail コンソールに表示されるインスタンスのパブリックアドレスとユーザー名
  3. SSH を使用して接続]を選択します。

  4. インスタンスに最新のシステム更新があることを確認してください。これを行うには、表示されたターミナルセッションで、コマンド sudo apt update を実行します。

  5. Python がインストール済みであるかどうかをチェックし、インストール済みである場合は、バージョンが 2.7 であることを確認します。バージョンを確認するには、コマンド python --version を実行し、表示されるバージョン番号を書き留めます。バージョン番号が表示されないか、バージョンが 2.7 でない場合は、コマンド sudo apt install -y python-minimal を実行してインスタンスに Python 2.7 をインストールします。

  6. Node.js がインストールされているかどうかを確認し、存在する場合はバージョンが 0.6.16 以降であることを確認します。バージョンを確認するには、コマンド node --version を実行し、表示されるバージョン番号を書き留めます。バージョン番号が表示されない場合、またはバージョンが 0.6.16 以降でない場合は、Node Version Manager (nvm) を使用してインスタンスに Node.js をインストールすることをお勧めします。

    これを行うには、以下のコマンドを一度に 1 つずつ以下の順序で実行します。インスタンスを更新するには、インスタンスに Node Version Manager (nvm) をインストールし、インスタンスで nvm をアクティブにしてから、最新バージョンの Node.js をインスタンスにインストールします。

    sudo apt update curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash . ~/.bashrc nvm install node
  7. コマンド which node を実行し、表示される値を書き留めます。後で必要になります。

    注記

    コマンド which node の出力が /usr/sbin/node である場合、AWS Cloud9 は、このパスで Node.js を見つけることができません。代わりに、この手順の前のステップで説明したように、nvm を使用して Node.js をインストールします。コマンド which node をもう一度実行し、表示される新しい値を書き留めます。

  8. インスタンスに AWS Cloud9 インストーラをダウンロードして実行します。

ステップ 3: A AWS Cloud9 SSH 開発環境を作成し接続する

このステップでは、AWS Cloud9 コンソールとインスタンスのターミナルを使用して SSH 環境を作成し、環境を実行中のインスタンスに接続します。

  1. 前のステップで開いたままのターミナルセッションで、次のようにして AWS Cloud9 コンソールにサインインします。

    • AWS アカウントを使用する唯一のユーザーであるか、単一の AWS アカウント内の IAM ユーザーである場合は、https://console.aws.amazon.com/cloud9/ にアクセスしてください。

    • 組織で AWS Single Sign-On (SSO) を使用している場合は、サインインの指示についてご自分の AWS アカウント管理者にお問い合わせください。

    • AWS Educate Starter アカウントを使用するのであれば、個々の学生サインアップ 内でステップ 2: AWS Cloud9コンソールにサインアップを参照してください。

    • 教室内の学生である場合は、サインインの手順についてインストラクターにお問い合わせください。

    注記

    このステップでは、2 つの異なる AWS のサービスを同時に使用します。 管理者ユーザーとして Lightsail コンソールにサインインしたものの、別のエンティティに新しい SSH 環境を所有させたい場合は、別のウェブブラウザを開き、そのエンティティとして AWS Cloud9 コンソールにサインインすることを提案します。

  2. AWS Cloud9 コンソールで、インスタンスを作成したものと一致する AWS リージョンを選択します。

    
                  AWS コンソールの AWS Cloud9 リージョンセレクター
  3. ウェルカムページが表示されたら、新しい AWS Cloud9 環境)のため、[環境の作成]を選択します。それ以外の場合は、[Create environment (環境の作成)]を選択します。

    
                  ウェルカムページが表示されら、[Next step (次のステップ)]ボタンを選択する

    または:

    
                  ウェルカムページが表示されない場合は、[Create environment (環境の作成)]ボタンを選択する
  4. Name environment (環境に名前を付ける)]ページで、[Name (名前)]に対して、環境の名前を入力します。

  5. 環境の説明を追加するには、[Description (説明)]ボックスに入力します。

  6. Next step (次のステップ)]を選択します。

  7. Configure settings (設定の構成)]ページの[Environment type (環境タイプ)]で、[Connect and run in remote server (SSH) (リモートサーバーに接続して実行する (SSH))]を選択します。

  8. User (ユーザー)]に[User name (ユーザー名)]の値を入力します。

  9. Host (ホスト)]に[Public IP(パブリック IP)]の値を入力します。

  10. Port (ポート)]は、デフォルト値の[22]のままにしておきます。

  11. Advanced settings (詳細設定)]を展開します。

  12. Environment path (環境パス)]に、ログイン後に AWS Cloud9 が起動するパスを入力します。これは ~/ (ユーザーのホームディレクトリのルート) です。

  13. Node.js binary path (Node.js バイナリパス)]に、前に書き留めたコマンド which node の値を入力します。

  14. SSH jump host (SSH ジャンプホスト)]は空白のままにします。

  15. ユーザーのシステムクリップボードに、この 環境を AWS Cloud9 作成するパブリック SSH キーを保存します。これを行うには、[Copy key to clipboard (キーをクリップボードにコピーする)]を選択します。

    注記

    コピーしたパブリック SSH キーの値を確認するには、[View public SSH key (パブリック SSH キーの表示)]を展開します。

  16. インスタンスにコピーしたパブリック SSH キーの値を保存します。これを行うには、すでにインスタンスにインストールされている一般的なテキストエディタ vi を使用します。

    1. インスタンスのターミナルセッションで、コマンド vi ~/.ssh/authorized_keys を実行します。

    2. 表示される vi エディタで、ファイルの最後に移動し、挿入モードに切り替えます。これを行うには G を押してから A を押します。(vi エディターの下部に表示されている[-- INSERT --])。

    3. Enter を 2 回押して、ファイルの末尾に 2 つの改行を追加します。

    4. コピーしたばかりのパブリック SSH キー値を含むシステムクリップボードの内容をターミナルセッションのクリップボードに貼り付けます。これを行うには、ターミナルセッションウィンドウの一番下にあるクリップボードボタンをクリックし、システムクリップボードの内容をボックスに貼り付けます。

      
                        Lightsail ターミナルセッションのクリップボードを開く
    5. ターミナルセッションのクリップボードの内容を vi エディタに貼り付けます。これを行うには、vi エディター内の挿入ポイントで Ctrl + Shift + V を押します。

    6. ファイルを保存します。これを行うには、Esc を押してコマンドモードを入力します。(vi エディターの下部から[-- INSERT --]が消えます)。:wq (ファイルを write て、vi エディタを quit する) を入力して、Enter を押します。

  17. AWS Cloud9 コンソールに戻り、[Next step (次のステップ)]を選択します。

  18. Review choices (選択内容を確認する)]ページで、[Create environment (環境の作成)]を選択します。AWS Cloud9 が環境を作成して環境用 AWS Cloud9 IDE が表示されるのを待ちます。これには数分間かかる場合があります。

AWS Cloud9 が環境を作成すると、その環境の AWS Cloud9 IDE が表示されます。

少なくとも 5 分後 AWS Cloud9 に IDE が表示されない場合は、ウェブブラウザ、 AWS アクセス許可、インスタンス、または関連する仮想プライベートクラウド (VPC) に問題がある可能性があります。環境の修正については、トラブルシューティングの「環境を開くことができない」を参照してください。

ステップ 4: AWS Cloud9 IDE を使用してインスタンスのコードを変更する

新しい環境に IDE が表示されたので、Lightsailターミナルセッションの代わりに IDE のターミナルセッションを使用できます。IDE は、色テーマ、ショートカットキーバインディング、プログラミング言語固有の構文の色付けとコードの書式設定など、さまざまなプログラミング言語とランタイムデバッガをサポートする豊富なコード編集エクスペリエンスを提供します。

IDE の使用方法を学ぶためには、「AWS Cloud9 IDE のツアー」を参照してください。

インスタンス上のコードを変更する方法については、以下のリソースをお勧めします。