AWS Cloud9に接続できない(接続エラー)の対処方法

あらた

AWSのCloud9を使いたいのに接続できない。。接続エラーになってしまう。

本記事ではそんな悩みを解決します。みなさんこんにちは、あらたです。

最近、Cloud9のセットアップをしたのですが、Cloud9に接続できずに以下の画面とエラー表示から進まなかったので、こちらの解決方法を共有したいと思います。

This is taking longer than expected. If you think there might be an issue, contact AWS Support.
It might be caused by VPC configuration issues. Please check documentation.
目次

前提条件

前提条件として、AWS Cloud9を以下の設定で導入しました。

前提条件

・デフォルトのVPCではなく、新規に作成したVPCを使用

・SSM利用を有効化してCloud9の導入

→AWS Systems Manager (SSM)を使用するとインバウンドポートを開かずにSSM経由でアクセスできるためこちらを利用しました。

解決方法4パターン

あらた

一つずつ解説していきます!僕は上の2つで解決しました。

Cloud9が起動しているVPCの(カスタム)ルートテーブルにデフォルトルートを追加する

インターネットを介してAWS上にあるCloud9に接続するので、Cloud9を作成したサブネットのルートテーブルにインターネットゲートウェイ向きのデフォルトルート(インターネットへの経路)を設定する必要があります。

VPCやサブネットを作成した際にデフォルトだとインターネットゲートウェイに紐づけたデフォルトルートの設定はされていないので、自身で追加する必要があります。

基本的なことですが、僕はこれを忘れていて接続できませんでした、、、

サブネットの(カスタム)ルートテーブルにネットワークゲートウェイを紐づけてデフォルトルートを追加する方法

では、ルートテーブルにネットワークゲートウェイを紐づける方法を解説します。

①まずはVPCからルートテーブルのタブに遷移します。ここで右上にあるルートテーブルを作成を選択します。

②次にルートテーブルを作成します。この設定はVPCを選択するだけです。

作成が完了すると、ルートテーブルが一つ追加されます↓

ここからは少し補足です。「メインルートテーブル」と「カスタムルートテーブル」の違いが分かる方は飛ばしてください。

VPCを作成したばかりの状態で追加で何もルートテーブルを作成していないと、ルートテーブルには、「メイン」→「はい」と表示されます。

これは、このルートテーブルは「メインルートテーブル」ですよ。ということを示しています。「メインルートテーブル」はVPCを作成した段階で自動で作成されるルートテーブルです。

追加でルートテーブルを作成すると、「メイン」→「いいえ」になります。↓

「メイン」→「いいえ」のルートテーブルは、「カスタムルートテーブル」ですよ。ということを示しています。

「カスタムルートテーブル」は追加で作成したルートテーブルのことで、サブネットに関連付けて使用することができます。

「メインルートテーブル」を変更し、ネットワークゲートウェイを紐づけ、デフォルトルートを追加することもできます。しかし、「メインルートテーブル」はルートテーブルが関連付けられていないサブネットすべてに、自動的に適用されるといった特性を持っています。

つまりメインルートテーブルに追加でデフォルトルートを設定してしまうと、関連付けを行っていないサブネットがプライベートサブネットになってしまいます笑

なので、メインルートテーブルは変更せず、新規にカスタムルートテーブルを作成してルートテーブルをサブネットに関連付ける方がよいみたいです。

ここら辺の話は、以下のブログの記事がわかりやすかったので、参考にしてみてください。

話がそれてしまったので、元に戻します。

③作成したカスタムルートテーブルのルートを編集を選択します

④カスタムルートテーブルにインターネットゲートウェイに紐づけたデフォルトルートを設定します

⑤サブネットの関連付けを選択し自身がCloud9を起動しているサブネットを選択し関連ずけを保存を選択します

⑥サブネットのルートテーブルが更新されているか確認します。

あらた

これで、サブネットからインターネットに向けての通信ができるようになりました!

ただ、僕はこれだけでは、Cloud9に接続できませんでした。そのため、次のサブネットのパブリック IPv4 アドレスを自動割り当てを有効化になっていることを確認するといった項目を対応しました。

サブネットのパブリック IPv4 アドレスを自動割り当てを有効化になっていることを確認する

Cloud9の起動先にパブリックサブネットを指定する場合、起動先のサブネットでパブリックIPv4アドレスの自動割り当てを有効化している必要があります。

新しく自身で作成したVPCでは、デフォルトでは、IPv4のアドレス自動割り当ては有効化されていません。そのため、起動したサーバーにパブリックIPアドレスが付与されず、Cloud9が接続できない状態になったのだと考えます。

サブネットの「パブリックIPv4アドレスの自動割り当て」が有効になっているか確認して、有効化されていなかったらIPv4のアドレス自動割り当てを有効変更しましょう。

以下のCloud9ユーザガイドに記載されていました。

次に、設定の変更方法を解説します。

①サブネットから「アクション」→「サブネットの編集」を選択

②パブリックIPv4アドレスの自動割り当てを有効化を設定する

③パブリックIPv4アドレスの自動割り当てを有効化になっていることを確認する

④作成したCloud9のインスタンスを一度削除し、もう一度Cloud9の環境構築をする

最初に作成したCloud9のインスタンスはパブリックIPアドレスが割り当たっていないため、一度削除した後、もう一度Cloud9の環境構築をします。これで僕はCloud9に接続できるようになりました。

Cloud9のEC2サーバーを停止→再起動する

ネットで調べているとサーバを停止→再起動で接続できるようになったというかたもいるので、再起動もお試しください。

①EC2→インスタンス→インスタンスの停止

Cloud9を別のVPCに起動設定してみる

Cloud9を別のVPCに起動設定してみると、接続することができた人もいるようです。

デフォルトのVPCに変更すると、サブネットのパブリック IPv4 アドレスを自動割り当てを有効化になっていますからね。別のVPCで起動して接続できた方は、IPv4 アドレスを自動割り当てが原因がもしれないです。

まとめ

以上、Cloud9の接続で困った際に設定を変更した箇所でした。

今回の記事で、Cloud9の設定で困っている人の助けになれたのなら幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次