プライベートサブネットへのすべてのトラフィックを許可するセキュリティグループでサーバーを起動すると、サーバーが世界中に開かれている可能性があるという警告が表示されます。
プライベートサブネットの場合、どのようにできますか?
主な違いは、関連するルートテーブル内の0.0.0.0/0のルートです。
プライベートサブネットは、NATインスタンスにルートを設定します。プライベートサブネットインスタンスはプライベートIPのみを必要とし、インターネットトラフィックはパブリックサブネットのNATを通じてルーティングされます。また、0.0.0.0/0へのルートがなく、インターネットにアクセスできない、またはインターネットにアクセスできない真のprivateサブネットにすることもできます。
パブリックサブネットは、インターネットゲートウェイ(igw)を介して0.0.0.0/0をルーティングします。パブリックサブネット内のインスタンスがインターネットと通信するには、パブリックIPが必要です。
警告はプライベートサブネットでも表示されますが、インスタンスにはvpc内でのみアクセスできます。
ドキュメントどおり ここ
PUBLIC SUBNETサブネットのトラフィックがインターネットゲートウェイにルーティングされる場合、サブネットはパブリックサブネットと呼ばれます。 PRIVATE SUBNETサブネットにインターネットゲートウェイへのルートがない場合、サブネットはプライベートサブネットと呼ばれます。
この質問のトピックは、上記の実際の問題とは異なります。このトピックも重要であり、インターネット上で高度に検索されます。このため、他のWebサイトでは、同じトピックについての見方がはるかに高くなっています。ここで明確に定義されている場合、パブリックサブネットとプライベートサブネットの両方がインターネットにアクセスして更新とパッケージをダウンロードできる場合、それらの違いは何ですか?どちらもパブリックにする必要がありますが、これを明確にして、AWSの観点からの回答と、概念的で実用的な観点を追加します。
トピックの回答:
パブリックサブネットとプライベートサブネットは概念の名前であり、実際には別個のエンティティではありません。
尋ねられている実際の問題の答え
警告は正しい技術的に、私はあなたがアウトバウンドではなくインバウンドトラフィックについて話していると仮定しています、なぜならあなたがソフトウェア、パッケージ、アップデートをダウンロードしたいならアウトバウンドにすべてのIPを追加する必要がありますが、これは事実上、時間と時間がかかります。したがって、警告は他のネットワークとプライベートクラスに関するものです
例:受信サブネット0.0.0.0/0のようなプライベートサブネットセキュリティグループにルールを追加する場合、それが利用可能であるとは限りませんパブリックおよび誰かがそのインスタンス/サービス/マシンにリクエストを送信できます。これは実際には、他のプライベートサブネットまたはプライベートネットワークがインスタンスまたはサービスと通信できることを意味します。192.168.xx、172.16.xx、10.0.0.0プライベートクラスなど。ルートで許可されている場合にのみ可能です。これ以外に、その警告を無視して心配する必要はありません。ここでは、インターネットからとインターネットへの違いを理解する必要があります、セキュリティグループルールとヘルプ情報に従って、誰でも誤解される可能性のある警告が表示されます。
混乱
AWS VPCでサブネットを作成するとき、オプションがあります自動割り当てパブリックIPv4これは、それがそうである場合、人々を混乱させる主要な問題ですはいに設定すると、サブネットにタグ付けした名前またはKey-Valueに関係なく、サブネットはパブリックになります。つまり、サブネットの作成時に、プライベートサブネットAのような名前を使用すると、意味がなくなりますそのプライベートサブネットは、ユースケースと構成によって異なります(パブリックIPの自動割り当てオプション)。
パブリックサブネットとプライベートサブネットの違い:
パブリックサブネット内のインスタンスはインターネットからアクセスできます。つまり、インターネットからのトラフィックがパブリックサブネット内のマシン/インスタンス/サービスにヒットする可能性があります。通常、ロードバランサー、Webサーバーなどをパブリックサブネットに保持します。したがって、それらを作成するときに、それらの前にPublicという名前を追加して、他のユーザーと区別できるようにします。有効にしても問題ありません自動割り当てのパブリックIPv4、ただし、パブリックとマークしたパブリックサブネットを選択するたびに、起動時にAuto-assign Public IPv4オプションをオンまたはオンにする必要がありますEC2またはRDS/Serviceのインスタンス。しかし、サブネットレベルでAuto-assign Public IPv4を有効にして適切にパブリックにすると、これが違いを生み出し、Public-を使用する理由になります。プライベートコンセプトなので、パブリックサブネットでサービス/インスタンス/マシンを起動するときはいつでも、インターネットからインターネットにアクセスできます。つまり、インターネット経由でサービス/インスタンスにアクセスし、アップデートとパッケージをダウンロードできます。サービス/インスタンスも同様です。コマンドcurl wgetIP.comを入力するだけで、インターネットに接続するユーザーを確認できます。インスタンス/マシンのパブリックIPが結果に表示されます。
"この属性が有効になっているサブネットでインスタンスを起動すると、インスタンス用に作成されたプライマリネットワークインターフェース(eth0)にパブリックIPアドレスが割り当てられます。パブリックIPアドレスネットワークアドレス変換(NAT)を通じてプライマリプライベートIPアドレスにマップされます。 "..... said、[〜#〜] aws [〜 #〜]。
プライベートサブネットのインスタンスにインターネットからアクセスできません。例えば。データベースサーバー、Redisサーバー、またはこれらの他の種類のサービスをプライベートサブネットに配置でき、インターネットから誰もアクセスできません。パブリックサブネット(Webサーバー、ELBなど)のインスタンス/マシン/サービスを介してのみアクセスできます。これは、パブリックIPを有効にするオプションがなく、また説明としての特定の用途、セキュリティおよびインターネット経由の不要なアクセスのためにプライベートとしてマークしたためです。これは、抜け穴を回避するためのアーキテクチャレベルのセキュリティに適しています。このプライベートサブネットサービス/インスタンスにアクセスするには、セキュリティグループに許可ルールを追加し、ルートテーブルに適切なルートを追加する必要があります。
今問題は、
プライベートサブネットをインターネットに接続できますか?
したがって、答えはdefault no、
プライベートIPまたはパブリックIPのないサブネット、または無効になっているサブネットを介してインターネットにアクセスしたい場合(== --- ==)自動割り当てパブリックIPv4、NATインスタンスまたはNATゲートウェイを作成する必要があります。そのNATゲートウェイにはパブリックIPが必要です。そのため、プライベートIPを持つサービス/インスタンスはインターネットに接続してダウンロードできます。更新、ソフトウェア、パッケージ。プライベートIPはトラフィックをNATゲートウェイにルーティングし、NATゲートウェイはインターネットゲートウェイにルーティングします。次にプライベートサブネットからインターネットへの通信を開始できます。コマンドcurl wgetIP.com、NAT-gatewayはインターネットにアクセスするため、NAT-gatewayのパブリックIPを提供しますあなたとインターネットゲートウェイは、世界への外部通信の経路であり、トラフィックをインバウンドからアウトバウンドに渡すためのネットワークの用語でもあります。出口の建物のメインゲートを理解するだけです。
結論パブリックサブネットのインスタンスはインターネットに直接送信トラフィックを送信できますが、プライベートサブネットのインスタンスは送信できません。代わりに、プライベートサブネットのインスタンスは、パブリックサブネットにあるネットワークアドレス変換(NAT)ゲートウェイを使用してインターネットにアクセスできます。データベースサーバーは、NATゲートウェイを使用してソフトウェア更新のためにインターネットに接続できますが、インターネットはデータベースサーバーへの接続を確立できません。 ".... .said、AWS
リンク:
インターネットアクセス:https://docs.aws.Amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html
VPCとサブネットの基本:https://docs.aws.Amazon.com/vpc/latest/userguide/VPC_Subnets.html =
VPC with Public and Private Subnets(NAT):https://docs.aws.Amazon.com/vpc/latest/userguide/ VPC_Scenario2.html