Güncelleme: Aralık 2015'in sonlarında AWS , VPC için Yönetilen NAT Ağ Geçidi adlı yeni bir özelliği duyurdu . Bu isteğe bağlı hizmet, özel bir alt ağdaki VPC örneklerinin İnternet'e erişmesi için alternatif bir mekanizma sağlar. Önceden ortak çözüm, VPC içindeki genel bir alt ağda bulunan ve ağ adresi çevirisi sağlayan bir "NAT örneği" olarak çalışan bir EC2 örneğiydi ( teknik olarak, diğer özel alt ağlardaki örnekler için bağlantı noktası adresi çevirisi), bu makinelerin NAT örneğinin genel IP adresini giden İnternet erişimi için kullanmasına izin verir.
Yeni yönetilen NAT hizmeti, aşağıdaki bilgilerin uygulanabilirliğini temelden değiştirmez, ancak bu seçenek aşağıdaki içerikte ele alınmamaktadır. Bir NAT örneği yine de açıklandığı gibi kullanılabilir veya bunun yerine Yönetilen NAT Ağ Geçidi hizmeti sağlanabilir. Her ikisi de VPC'deki özel / genel alt ağ paradigması ile ilgili olduğundan, NAT Ağ Geçidi ve bunun bir NAT örneğiyle nasıl karşılaştırıldığı hakkında daha fazla bilgiyi entegre eden bu cevabın genişletilmiş bir sürümü çıkacaktır.
Not Internet Ağ Geçidi ve NAT Geçidi iki farklı özellikleridir. İnternet erişimi olan tüm VPC yapılandırmalarının bir İnternet Ağ Geçidi sanal nesnesi olacaktır.
Amazon VPC'de "özel" ve "genel" alt ağlar arasındaki farkı anlamak için, genel olarak IP yönlendirmesinin ve ağ adresi çevirisinin (NAT) nasıl çalıştığını ve VPC'de özel olarak nasıl uygulandığını anlamak gerekir.
VPC'deki genel ve özel alt ağ arasındaki temel fark, VPC yönlendirme tablolarında bu alt ağın varsayılan yolunun ne olduğu ile tanımlanır.
Bu yapılandırma, sırayla, söz konusu alt ağdaki örneklerde genel IP adreslerinin kullanılıp kullanılmamasının geçerliliğini belirler.
Her alt ağın tam olarak bir varsayılan yolu vardır ve bu, iki şeyden yalnızca biri olabilir:
- "genel" bir alt ağ olması durumunda VPC'nin "İnternet Ağ Geçidi" nesnesi veya
- bir NAT aygıtı - yani, bir "özel" alt ağ durumunda "NAT örneği" rolünü gerçekleştiren bir NAT Ağ Geçidi veya bir EC2 örneği.
İnternet Ağ Geçidi, genel IP adresleri olmayan örnekler için herhangi bir ağ adresi çevirisi yapmaz, bu nedenle genel IP adresi olmayan bir örnek , yazılım güncellemelerini indirmek veya S3 1 ve SQS gibi diğer AWS kaynaklarına erişmek gibi işlemler için İnternet'e dışarıya bağlanamaz. - VPC alt ağındaki varsayılan yol İnternet Ağ Geçidi nesnesiyse. Eğer bir "kamu" alt ağda bir örneği olup olmadığını Yani, o zaman ihtiyaç sunucuları genellikle yapmanız gereken şeylerin önemli sayıda yapmak için bir genel IP adresi.
Yalnızca özel bir IP adresi olan örnekler için, İnternet'e giden erişimin alternatif bir yolu vardır. Burası Ağ Adresi Çevirisi² ve bir NAT örneğinin devreye girdiği yerdir.
Özel alt ağda varsayılan rota olduğu için özel bir alt ağda makineleri internete değil VPC "internet gateway" nesne - bir NAT örneği olarak yapılandırılmış bir EC2 örneğidir.
NAT örneği, genel bir IP'ye ve belirli bir yapılandırmaya sahip genel bir alt ağdaki bir örnektir. Bunu yapmak için önceden oluşturulmuş AMI'ler vardır veya kendinizinkini oluşturabilirsiniz.
Özel adresli makineler trafiği dışarıya gönderdiğinde, trafik VPC tarafından NAT örneğine gönderilir ve bu paket üzerindeki kaynak IP adresini (özel makinenin özel IP adresi) kendi genel IP adresiyle değiştirir, trafiği gönderir İnternete gönderilir, yanıt paketlerini kabul eder ve bunları kaynak makinenin özel adresine geri iletir. (Ayrıca kaynak bağlantı noktasını yeniden yazabilir ve her durumda eşlemeleri hatırlayarak yanıt paketlerini hangi dahili makinenin alması gerektiğini bilir). Bir NAT örneği, özel olarak yapılandırılmadığı sürece, "beklenmedik" gelen trafiğin özel örneklere ulaşmasına izin vermez.
Bu nedenle, harici İnternet kaynağına özel bir alt ağdan erişilirken, trafik NAT örneğinden geçer ve hedefe NAT örneğinin genel IP adresinden kaynaklanmış gibi görünür ... bu nedenle yanıt trafiği NAT örneğine geri döner. Güvenlik grupları durum bilgisine sahip olduğundan, ne NAT örneğine atanan güvenlik grubunun ne de özel örneğe atanan güvenlik grubunun bu yanıt trafiğine "izin verecek" şekilde yapılandırılmasına gerek yoktur. Yanıt trafiğinin dahili olarak oluşturulan oturumlarla ilişkilendirildiğini fark ederler, bu nedenle otomatik olarak izin verilir. Güvenlik grubu izin verecek şekilde yapılandırılmadıkça, beklenmeyen trafik elbette reddedilir.
Varsayılan ağ geçidinizin aynı alt ağınızda olduğu geleneksel IP yönlendirmesinin aksine, VPC'de çalışma şekli farklıdır: Herhangi bir özel alt ağ için NAT örneği her zaman farklı bir alt ağdadır ve diğer alt ağ her zaman genel bir alt ağdır, çünkü NAT örneğinin genel bir harici IP'ye sahip olması gerekir ve varsayılan ağ geçidinin VPC "İnternet Ağ Geçidi" nesnesi olması gerekir.
Benzer şekilde ... bir örneği özel bir alt ağda genel IP ile dağıtamazsınız. Çalışmaz, çünkü özel bir alt ağdaki varsayılan yol (tanım gereği) bir NAT örneğidir (trafikte NAT gerçekleştirir) ve İnternet Ağ Geçidi nesnesi değildir (ki bu değildir). İnternetten gelen trafik, örneğin genel IP'sini vuracaktı, ancak yanıtlar NAT örneğinden dışarıya doğru yönlendirmeye çalışacak ve bu da trafiği azaltacaktır (çünkü farkında olmadığı bağlantılara verilen yanıtlardan oluşacaktır, bu nedenle geçersiz sayılır) veya kendi genel IP adresini kullanmak için yanıt trafiğini yeniden yazar; bu, harici kaynak iletişim kurmaya çalıştığı IP adresinden farklı bir IP adresinden gelen yanıtları kabul etmeyeceği için çalışmaz. .
Öyleyse, özünde, "özel" ve "genel" sıfatlar gerçekte İnternet'ten erişilebilirlik veya erişilemezlikle ilgili değildir. Bunlar, söz konusu alt ağdaki örneklere atanacak adres türleriyle ilgilidir; bu, bu IP adreslerini İnternet etkileşimleri için çevirme veya çevirmekten kaçınma ihtiyacı nedeniyle önemlidir.
VPC, tüm VPC alt ağlarından diğer tüm VPC alt ağlarına örtük yollara sahip olduğundan, varsayılan yol dahili VPC trafiğinde bir rol oynamaz. Özel IP adreslerine sahip örnekler, hedef adres başka bir özel adres olduğu sürece, VPC'deki diğer özel IP adreslerine "kendi özel IP adreslerinden" "bağlanır, genel IP adreslerinden" değil (eğer varsa) "bağlanır. VPC içinde.
Özel IP adreslerine sahip örnekleriniz hiçbir koşulda hiçbir zaman giden İnternet trafiği oluşturmaya ihtiyaç duymazsa, teknik olarak "genel" bir alt ağda konuşlandırılabilir ve yine de İnternet'ten erişilemez ... ancak böyle bir yapılandırma altında, S3 1 veya SQS gibi diğer AWS altyapı hizmetleriyle bağlantıları içeren İnternet'e giden trafiği başlatmaları imkansızdır .
1. S3 ile ilgili olarak, özellikle, İnternet erişiminin her zaman gerekli olduğunu söylemek, VPC'nin yetenekleri büyümeye ve gelişmeye devam ettikçe, kapsam açısından büyük olasılıkla zaman içinde büyüyecek ve diğer AWS hizmetlerine yayılacak bir aşırı basitleştirmedir. VPC Uç Noktası adı verilen nispeten yeni bir kavram varyalnızca özel IP adresleri olanlar dahil örneklerinizin "İnternet" e dokunmadan ve NAT örneği veya NAT ağ geçidi kullanmadan VPC içindeki seçili alt ağlardan S3'e doğrudan erişmesine olanak tanır, ancak bu ek yapılandırma gerektirir ve yalnızca VPC'nizle aynı AWS bölgesindeki paketlere erişmek için kullanılabilir. Varsayılan olarak, S3 - bu yazı itibariyle, VPC uç noktaları oluşturma yeteneğini açığa çıkaran tek hizmettir - yalnızca İnternet üzerinden VPC içinden erişilebilir. Bir VPC uç noktası oluşturduğunuzda, bu bir önek listesi oluşturur (pl-xxxxxxxx
) söz konusu AWS hizmetine bağlı trafiği sanal "VPC Uç Noktası" nesnesi aracılığıyla doğrudan hizmete göndermek için VPC yönlendirme tablolarınızda kullanabileceğiniz. Önek listesi, bir hedef IP adresi veya blok yerine giden güvenlik gruplarında kullanılabildiğinden ve bir S3 VPC uç noktası ek politika ifadelerine tabi olabileceğinden, belirli bir örnek için giden erişimi S3'e kısıtlama sorununu da çözer. , istendiği gibi içeriden kova erişimini kısıtlama.
2. Belgelerde belirtildiği gibi, burada aslında tartışılan şey bağlantı noktası ve ağ adresi çevirisidir. Teknik olarak biraz kesin olmasa da, birleşik işleme "NAT" olarak atıfta bulunmak yaygındır. Bu, birçoğumuzun aslında "TLS" yi kastettiğimizde "SSL" deme eğilimine benziyor. Neden bahsettiğimizi biliyoruz, ancak onu tanımlamak için en doğru kelimeyi kullanmıyoruz. "Not Bir NAT cihazının asıl rolü hem adres çevirisi hem de bağlantı noktası adresi çevirisi (PAT) olmasına rağmen, bu dokümantasyonda NAT terimini yaygın BT uygulamalarını takip etmek için kullanıyoruz."