Lightsail ブラウザーベースの SSH コンソールのエラーを解決する

OS レベルのファイアウォールが SSH ポートアクセスをブロックしている

流れ的にスナップショット取って新規インスタンス作成時に好きなコマンド流してな、という感じ


ブラウザベースの SSH アクセスは、Amazon 内部 IP アドレスを使用して Lightsail インスタンスに接続します。Iptables、UFW などの OS レベルのファイアウォール、または /etc/hosts.deny などのアクセスコントロールファイル (つまり、 cPanel ベースのインスタンスのホストアクセスコントロール) が、一連の IP アドレスのみへの SSH アクセスを許可し、その他はすべて拒否する場合、UPSTREAM_NOT_FOUND [519] または UPSTREAM_ERROR [515] エラーが発生します。ファイアウォールが SSH アクセスを完全にブロックしている場合も、同じ問題が発生します。

この問題を解決するには、次のいずれかを実行します。

  • ターミナルまたは PuTTY アプリケーションを使用したインスタンスへの SSH アクセスが機能する場合は、インスタンスにログインし、ファイアウォールおよび /etc/hosts.deny ファイルから拒否ルールを削除します。
  • cPanel インスタンスがある場合は、WHM コンソールにアクセスしてファイアウォールルールを削除します。
  • ターミナルまたは PuTTY アプリケーションから SSH を使用してインスタンスに接続できない場合は、起動スクリプトを使用してファイアウォールを無効にします。起動スクリプトは、インスタンスの起動時にのみ追加できます。起動スクリプトを使用して OS レベルのファイアウォール、Iptables、および UFW を非アクティブ化するには、次の手順を実行します。

1.    Amazon Lightsail コンソールを開きます。

2.    クラスターの手動スナップショットを作成します。

3.    [スナップショット] タブの [手動スナップショット] で、新しいスナップショットの横にある 3 つのドットを選択します。

4.    [新しいインスタンスを作成] を選択します。

5.    前のインスタンスと同じアベイラビリティーゾーンを選択します。

6.    [起動スクリプトを追加] を選択し、次のスクリプトを追加します。

注意:次の例では、UFW ファイアウォールを非アクティブにし、すべての iptable チェーンまたはファイアウォールルールをフラッシュし、/etc/hosts.deny ファイルの名前を変更して非アクティブにします。

sudo ufw disable
sudo iptables -F
sudo mv /etc/hosts.deny /etc/hosts.deny_backup
sudo touch /etc/hosts.deny
sudo systemctl enable sshd
sudo systemctl restart sshd

7.    新しいインスタンスプランを選択するか、前のインスタンスと同じプランを使用します。

8.    インスタンスの名前を入力し、[インスタンスを作成] を選択します。

新しいインスタンスの実行が開始されたら、10 ~ 15 分待ってから、ブラウザベースの SSH コンソールを使用してインスタンスへの接続を試みます。

注意: 前のインスタンスに静的 IP アドレスがある場合は、それを新しいインスタンスで使用できます。静的 IP アドレスをデタッチし、[Networking] (ネットワーク) タブから新しいインスタンスにアタッチします。詳細については、Static IP addresses in Amazon Lightsail を参照してください。