web-dev-qa-db-ja.com

プライベートVPCサブネットからのインターネットアクセス?

私の脳はこれを理解しようとして少し炒めていますが、たとえば更新を取得するためにプライベートサブネットをインターネットに接続することはできないようです。基本的に私が欲しいのは、これらのサーバーへのWebアクセスだけです。私は他の投稿で見つかった解決策を試しましたが、これをかなり長い間見ていたので、簡単に何かを見逃している可能性があります。

これまでのところ、次の設定を行っています。

  • 私のNATインスタンスでソース/宛先チェックを無効にします
  • パブリックサブネットのルートテーブルを作成し、そのソースをIGWに設定します(これが機能することを確認しました)
  • プライベートサブネットのルートテーブルを作成し、そのソースをNATインスタンスに設定します
  • 80/443およびsshのインバウンドおよびアウトバウンドルールを使用してNATインスタンスのセキュリティグループを作成します
  • インバウンドおよびアウトバウンド80/443およびsshを使用してプライベートインスタンスのセキュリティグループを作成します

SSH経由でNATインスタンスにジャンプしてから、プライベートサーバーにピボットすることができるので、多くのことが機能していることがわかります。内部アドレスにpingを実行してルールを確認しましたが、私が問題を抱え始めたときのローカルネットワーク。

これを絞り込むためにどこを調べればよいですか、何をトラブルシューティングする必要がありますか? NAT私が見落としたインスタンスで実行する必要があるいくつかの構成はありますか?

編集:構成の更新

  • VPC:172.16.0.0./16
  • プライベートサブネット:172.16.1.0/24
  • パブリックサブネット:172.16.0.0/24

プライベートサブネットルーティングテーブル:

パブリックサブネット内のNATインスタンスを指します。インターネットにアクセスできません。パブリックインターネットに面したインターフェイスにEIPが接続されています。

private vpc

パブリックサブネットルーティングテーブル:

パブリックサブネットをIGWにポイントし、インターネットアクセスを確認しました。

enter image description here

考え:

NATプライベートインスタンスからのトラフィックを転送するためにパブリックサブネットに存在するインスタンスで設定または作成する必要があるものがあると思い始めていますが、正確にはわかりません追加する必要があるものを見つけました この投稿 iptablesにマスカレードルールを追加することを説明するものですが、これは私の状況に当てはまることですか?

5
jmreicha

はい、NATホストにマスカレードするiptablesを設定する必要があります。

iptables -A POSTROUTING -t nat -s (private-subnet/cidr) -j MASQUERADE

同じ設定で、他のすべてを正しく実行しました(ソースチェックを無効にし、プライベートサブネットをnatインスタンスのインターフェイスにポイントし、パブリックサブネットをigwにポイントします)。

3
Sirex

同様の問題を抱えてこれを偶然見つけました。ウィザードを使用してNATインスタンスを作成したとすると、上記のマスカレードルールはすでに存在します。これは、「自分でロール」する場合に追加する必要があるものだけです= NATインスタンス。(私は通常これを行うので、これを2倍にして、OpenSWAN L2TP/IPsecリモートユーザーVPNサーバーにすることもできます)。

これらのいずれかを最後に作成してから追加するのを忘れていたのは、NATインスタンス。NATインスタンスは、許可するルールがないと、このようなアウトバウンドトラフィックを受け入れません。インターネットから何が入ってくるかを考えて、そこに到達するだけではありません。わからないそれがあなたの問題である場合、あなたがあなたのNATセキュリティグループに22/80/443を追加することについて言及したように、しかし私は同様の問題を抱えているかもしれない他の人にこれを提案すると思いました。

1
MJC

私はこれを見つけるまで、しばらくこれと戦いました:

次に、NATインスタンスとして実行するように構成されているAMIからインスタンスをパブリックサブネットに起動します。 Amazonは、NATインスタンスとして実行するように設定されたAmazonLinuxAMIを提供しています。これらのAMIには、名前に文字列amzn-AMI-vpc-natが含まれているため、AmazonEC2コンソールで検索できます。

http://docs.aws.Amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html#NATInstance

NATサーバーを独自の標準(Ubuntu)インスタンスとしてセットアップしました。AmazonLinuxAMIを使用してルーティングテーブルを更新すると、サーバーが機能し始めました。

1
James