実行中のアプリケーションをインターネット経由で共有する - AWS Cloud9

AWS Cloud9 は、新しいお客様では利用できなくなりました。 AWS Cloud9 の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

実行中のアプリケーションをインターネット経由で共有する

実行中のアプリケーションをプレビューした後、インターネット経由で他の人が利用できるようにすることができます。

Amazon EC2インスタンスが環境に接続されている場合は、以下の手順に従います。それ以外の場合は、サーバーのドキュメントを参照してください。

ステップ 1: インスタンスの ID と IP アドレスを取得する

このステップでは、環境に接続されている Amazon インスタンスのEC2インスタンス ID とパブリック IP アドレスを書き留めます。着信アプリケーションリクエストを許可するには、後のステップでインスタンス ID が必要になります。次に、パブリック IP アドレスを他のユーザーと共有して、実行中のアプリケーションにアクセスできるようにします。

  1. Amazon EC2インスタンスの ID を取得します。これを取得するには、次のいずれかを実行します。

    • 環境の の AWS Cloud9 IDEターミナルセッションで、次のコマンドを実行して Amazon EC2インスタンスの ID を取得します。

      curl http://169.254.169.254/latest/meta-data/instance-id

      インスタンス ID の形式は i-12a3b456c789d0123 です。このインスタンス ID を書き留めます。

    • 環境IDEのメニューバーで、ユーザーアイコンを選択し、EC2インスタンスの管理 を選択します。

      からインスタンスを管理する選択 AWS Cloud9 IDE

      表示される Amazon EC2コンソールで、インスタンス ID 列に表示されるインスタンス ID を書き留めます。インスタンス ID の形式は i-12a3b456c789d0123 です。

  2. Amazon EC2インスタンスのパブリック IP アドレスを取得します。これを取得するには、次のいずれかを実行します。

    • 環境IDEのメニューバーの「 の共有」を選択します。[Share this environment (この環境を共有)] ダイアログボックスで、[Application (アプリケーション)] ボックスのパブリック IP アドレスを書き留めます。パブリック IP アドレスの形式は 192.0.2.0 です。

    • 環境IDEの のターミナルセッションで、次のコマンドを実行して Amazon EC2インスタンスのパブリック IP アドレスを取得します。

      curl http://169.254.169.254/latest/meta-data/public-ipv4

      パブリック IP アドレスの形式は 192.0.2.0 です。このパブリック IP アドレスをメモします。

    • 環境IDEのメニューバーで、ユーザーアイコンを選択し、EC2インスタンスの管理 を選択します。表示される Amazon EC2コンソールの説明タブで、パブリック IP フィールドのIPv4パブリック IP アドレスを書き留めます。パブリック IP アドレスの形式は 192.0.2.0 です。

    注記

    アプリケーションのパブリック IP アドレスは、アプリケーションのインスタンスが再起動するたびに変わる可能性があります。IP アドレスの変更を防ぐには、Elastic IP アドレスを割り当てます。次に、そのアドレスを実行中のインスタンスに割り当てます。手順については、「Amazon EC2ユーザーガイド」の「Elastic IP アドレスの割り当て」および「Elastic IP アドレスと実行中のインスタンスの関連付け」を参照してください。Elastic IP アドレスを割り当てると、 AWS アカウント に料金が発生する可能性があります。詳細については、「Amazon EC2料金」を参照してください。

ステップ 2: インスタンスのセキュリティグループを設定する

このステップでは、Amazon EC2コンソールで、環境に接続されているインスタンスの Amazon EC2 セキュリティグループを設定します。ポート 8080、8081、または 8082 を介した受信HTTPリクエストを許可するようにセットアップします。

注記

ポート 8080、、8081または HTTP経由で を使用して実行する必要はありません8082。これを行わない場合、実行中のアプリケーションを 内からプレビューすることはできませんIDE。詳細については、「実行中のアプリケーションのプレビュー」を参照してください。別のプロトコルやポートで実行している場合は、このステップで置き換えてください。

セキュリティをさらに強化するには、インスタンスVPCが使用できる のサブネットのネットワークアクセスコントロールリスト (ACL) を設定します。セキュリティグループとネットワーク の詳細についてはACLs、以下を参照してください。

  1. 環境IDEのメニューバーで、ユーザーアイコンを選択し、EC2インスタンスの管理 を選択します。次に、この手順のステップ 3 にスキップします。

  2. EC2 インスタンスの管理またはこの手順の他のステップを選択すると、エラーが返された場合は、 の管理者の認証情報を使用して Amazon EC2コンソールにサインインします AWS アカウント。次に、以下の手順を実行します。これを実行できない場合は、 AWS アカウント 管理者にお問い合わせください。

    1. まだサインインしていない場合は、https://console.aws.amazon.com/ AWS Management Console で にサインインします。

    2. Amazon EC2コンソールを開きます。これを行うには、ナビゲーションバーで、[Services] (サービス) を選択します。次に、 を選択しますEC2

    3. ナビゲーションバーで、環境 AWS リージョン がある を選択します。

    4. EC2 ダッシュボードが表示されたら、インスタンスの実行 を選択します。表示されない場合は、サービスナビゲーションペインで [Instances] (インスタンス) を展開し (まだ展開していない場合)、[Instances] (インスタンス) を選択します。

    5. インスタンスのリストで、前にメモしたインスタンス ID と一致するインスタンス ID のインスタンスを選択します。

  3. インスタンスの [Description] (説明) タブで、[Security groups]] (セキュリティグループ) の横のセキュリティグループリンクを選択します。

  4. セキュリティグループを表示した状態で、[インバウンド] タブを確認します。タイプカスタムルールに設定され、ポート範囲が 8080、8081、または 8082 に設定されているTCPルールがある場合は、キャンセル を選択し、 に進みますステップ 3: インスタンスのサブネットをセットアップする それ以外の場合は、[編集] を選択します。

  5. [インバウンドのルールの編集] ダイアログボックスで、[ルールの追加] をクリックします。

  6. タイプ で、カスタムTCPルール を選択します。

  7. [Port Range] (ポート範囲) に、80808081、または 8082 と入力します。

  8. [ソース] で、[任意の場所] を選択します。

    注記

    [ソース] で [任意の場所] を選択すると、任意の IP アドレスからの着信リクエストを許可することになります。これを特定の IP アドレスに制限するには、[Custom] (カスタム) を選択して IP アドレス範囲を入力します。または、[My IP] (マイ IP) を選択して、自分の IP アドレスからのリクエストのみに制限します。

  9. [Save] を選択します。

ステップ 3: インスタンスのサブネットをセットアップする

Amazon コンソールEC2と Amazon VPCコンソールを使用して、環境に接続されている Amazon EC2インスタンスのサブネットを設定します。次に、ポート 8080、8081、または 8082 経由で受信HTTPリクエストを許可します。

注記

ポート 8080、、8081または HTTPで を実行する必要はありません8082。ただし、そうでない場合は、 内から実行中のアプリケーションをプレビューすることはできませんIDE。詳細については、「実行中のアプリケーションのプレビュー」を参照してください。別のプロトコルやポートで実行している場合は、このステップで置き換えてください。

このステップでは、インスタンスVPCが使用できる Amazon 内のサブネットACLのネットワークを設定する方法について説明します。これは必須ではありませんが、お勧めします。ネットワークを設定すると、セキュリティレイヤーACLが追加されます。ネットワーク の詳細についてはACLs、以下を参照してください。

  1. Amazon EC2コンソールのサービスナビゲーションペインで、まだ展開されていない場合はインスタンスを展開し、インスタンス を選択します。

  2. インスタンスのリストで、前にメモしたインスタンス ID と一致するインスタンス ID のインスタンスを選択します。

  3. インスタンスの [説明] タブで [サブネット ID] の値を書き留めます。サブネット ID の形式は subnet-1fab8aEX です。

  4. Amazon VPCコンソールを開きます。これを行うには、 AWS ナビゲーションバーでサービスを選択し、 を選択しますVPC

    このステップでは、 の管理者の認証情報を使用して Amazon VPCコンソールにサインインすることをお勧めします AWS アカウント。これができない場合は、 AWS アカウント 管理者に確認してください。

  5. VPC ダッシュボードが表示されたら、サブネット を選択します。それ以外の場合は、サービスナビゲーションペインで [サブネット] を選択します。

  6. サブネットのリストで、前にメモしたサブネット ID と一致するサブネット ID のサブネットを選択します。

  7. 概要タブで、ネットワーク の横にあるネットワークACLACLリンクを選択します。

  8. ネットワーク のリストでACLs、ネットワーク を選択しますACL。(ネットワークは 1 つだけです)ACL。

  9. ネットワーク のインバウンドルールタブを確認しますACL。Type が HTTP* (8080)HTTP* (8081)、または HTTP* (8082) に設定されているルールが既に存在する場合は、 に進みますステップ 4: 実行中のアプリケーションの を共有する URL。それ以外の場合は、[編集] を選択します。

  10. 別のルールの追加]を選択します。

  11. [Rule #] (ルール番号) にルール番号 (200 など) を入力します。

  12. タイプ では、カスタムTCPルール を選択します。

  13. [ポート範囲] に「8080」、「8081」、または「8082」と入力します。

  14. [ソース] に、着信リクエストを許可する IP アドレスの範囲を入力します。例えば、任意の IP アドレスからの着信リクエストを許可するには、「0.0.0.0/0」と入力します。

  15. 許可/拒否を に設定してALLOW保存 を選択します。

ステップ 4: 実行中のアプリケーションの を共有する URL

アプリケーションの実行後、アプリケーションの を指定することで、アプリケーションを他のユーザーと共有できますURL。そのためには、先ほどメモしておいたパブリック IP アドレスが必要になります。アプリケーションの完全な を記述するにはURL、アプリケーションのパブリック IP アドレスを正しいプロトコルで起動してください。次に、アプリケーションポートがアプリケーションで使用するプロトコルのデフォルトポートでない場合は、ポート番号情報を追加します。アプリケーション の例を次に示しますURL。ポート 8080 HTTP以上http://192.0.2.0:8080/index.htmlを使用する。

結果のウェブブラウザタブにエラーが表示されるか、何も表示されない場合は、「実行中のアプリケーションを の外部には表示できません IDE」のトラブルシューティングステップに従ってください。

注記

アプリケーションのパブリック IP アドレスは、アプリケーションのインスタンスが再起動するたびに変わる可能性があります。この IP アドレスが変更されないようにするには、Elastic IP アドレスを割り当て、そのアドレスを実行中のインスタンスに割り当てます。手順については、「Amazon EC2ユーザーガイド」の「Elastic IP アドレスの割り当て」および「Elastic IP アドレスと実行中のインスタンスの関連付け」を参照してください。Elastic IP アドレスを割り当てると、 AWS アカウント に料金が発生する可能性があります。詳細については、「Amazon EC2料金」を参照してください。

ポート 8080、、8081または HTTPを使用してアプリケーションを実行する必要はありません8082。ただし、そうでない場合は、 内から実行中のアプリケーションをプレビューすることはできませんIDE。詳細については、「実行中のアプリケーションのプレビュー」を参照してください。

例えば、リクエストされたプロトコルまたはポート経由のトラフィックをブロックVPNする から発信されたリクエストを例にとります。その後、アプリケーションの へのアクセスリクエストが失敗URLする可能性があります。リクエストは、要求されたプロトコルやポート経由のトラフィックを許可する別のネットワークから行う必要があります。詳細については、ネットワーク管理者にお問い合わせください。

のアプリケーションプレビュータブURLで をIDE他のユーザーと共有することはお勧めしません。(これは次の形式URLです: https://12a34567b8cd9012345ef67abcd890e1.vfs.cloud9.us-east-2.amazonaws.com/。 この形式では、 12a34567b8cd9012345ef67abcd890e1は環境に割り当てる ID です AWS Cloud9 。 us-east-2は環境 AWS リージョン の の ID です。) これは、 環境IDEの が開いていて、アプリケーションが同じウェブブラウザで実行されている場合にのみURL機能します。