web-dev-qa-db-ja.com

EC2インスタンス間のSSHは許可されていません

共有AWSアカウントにいくつかのEC2インスタンスを設定していて、それらに互いにアクセスできるようにしたいと考えています。同時に、アカウントの他のインスタンスからのアクセスを禁止したいと思います。

セキュリティグループを作成し、ログイン用の「My IP」からのSSHアクセスを追加しました。これはうまく機能します。

ここで、SSH betweenすべてのインスタンスをSSHにする必要がありますが、すべてが同じセキュリティグループに含まれている場合でもできません。

どうやってやるの?

9
Fer Dah

AWSにいくつかのクラスターをセットアップしていて、ノード間のSSHアクセスが必要ですよね?次の2つのオプションがあります。

  1. 素朴な方法は、各インスタンスのIPをセキュリティグループの受信リストに追加することです。ただし、クラスターに新しいインスタンスを追加するたびにSGを更新する必要があります。 (もしそうなら)。 これを行わないでください。完全を期すためだけに言及しました。

  2. はるかに良いは、セキュリティグループID自体をトラフィックのソース

    SGはインバウンドフィルターであるだけでなく、すべてのアウトバウンドトラフィックにタグを付けることを理解することが重要です。同じまたは他のセキュリティグループ内の元のSG ID。

VPCのdefaultセキュリティグループを確認してください。あなたはおそらくこのようなものを見るでしょう:

self-referencing security group

ルールはセキュリティグループIDitselfを参照することに注意してください。

このルールを使用すると、セキュリティグループのメンバーであるホストから発生するすべてが、グループ内の他のすべてのメンバー/インスタンスによって受け入れられます。

あなたのケースでは、SSH、ICMP(pingが必要な場合)、または必要なその他のポートに制限することができます。

また、Outboundタブを確認し、0.0.0.0/0へのAll tr​​afficのエントリがあることを確認します(ただし、特定のセキュリティニーズがあります)。そうでない場合、インスタンスは発信接続を開始できません。デフォルトではそこにあるはずです。

それが役に立てば幸い:)

11
MLu

インスタンス間のSSHを許可するために使用するセキュリティグループの構成で:

  1. Inboundタブに移動します
    1. クリック編集
    2. クリックルールの追加
    3. Typeの場合[〜#〜] ssh [〜#〜]を選択します
    4. Sourceの場合、セキュリティグループIDを入力します
    5. 保存
  2. Ouboundタブに移動します
    1. クリック編集
    2. クリックルールの追加
    3. Typeの場合[〜#〜] ssh [〜#〜]を選択します
    4. Destinationの場合、セキュリティグループIDを入力します
    5. 保存
4
Jamie Starke

ソースがグループID自体であるSSHを有効にするルールを追加する必要があります。

例えば。セキュリティグループIDがsg-12345678の場合、そのグループにルールを追加できます[〜#〜] ssh [〜#〜] from sg-12345678

また、Outboundタブに0.0.0.0/0のルールがあることを確認します。そうでない場合、sg-12345678へのSSHのルールがなければ、送信トラフィックがブロックされます。デフォルトでは、0.0.0.0/0がそこにあるはずです。

2
I-P-X

割り当てたセキュリティグループにSSHアクセスを許可します。

0
Mike