Bu makalede Azure Kubernetes Service (AKS) ve Amazon Elastic Kubernetes Service (Amazon EKS) için ağ modları karşılaştırılıyor. Makalede, AKS kümesinin yönetilen API sunucusuna bağlantı güvenliğinin nasıl artırıldığı ve genel ağ erişimini kısıtlamaya yönelik farklı seçenekler açıklanır.
Not
Bu makale, Amazon EKS'yi bilen profesyonellerin Azure Kubernetes Service'i (AKS) anlamasına yardımcı olan bir dizi makalenin parçasıdır.
Amazon EKS ağ modları
Amazon Virtual Private Cloud (Amazon VPC) ile Amazon Web Services (AWS) kaynaklarını genel ve özel alt ağlardan veya VPC'deki IP adresi aralıklarından oluşan bir sanal ağda başlatabilirsiniz. Genel alt ağ, İnternet'e bağlanması gereken kaynakları, özel alt ağ ise genel İnternet'e bağlı olmayan kaynakları barındırıyor. Amazon EKS hem genel hem de özel alt ağlarda yönetilen düğüm grupları sağlayabilir.
Uç nokta erişim denetimi, API Server uç noktasının genel İnternet'ten mi yoksa VPC üzerinden mi erişilebilir olduğunu yapılandırmanıza olanak tanır. EKS, küme uç noktasına erişimi denetlemenin çeşitli yollarını sağlar. Varsayılan genel uç noktayı, özel uç noktayı veya her iki uç noktayı aynı anda etkinleştirebilirsiniz. Genel uç noktayı etkinleştirdiğinizde, genel uç noktaya bağlanabilen istemci IP adreslerini sınırlamak için Sınıfsız Etki Alanları Arası Yönlendirme (CIDR) kısıtlamaları ekleyebilirsiniz.
Amazon EKS düğümlerinin yönetilen Kubernetes denetim düzlemine nasıl bağlandığı, küme için hangi uç nokta ayarının yapılandırıldığına göre belirlenir. Uç nokta ayarlarını istediğiniz zaman Amazon EKS konsolu veya API aracılığıyla değiştirebilirsiniz. Daha fazla bilgi için bkz . Amazon EKS kümesi uç nokta erişim denetimi.
Yalnızca genel uç nokta
Denetim düzleminin genel uç nokta üzerinden kullanıma alınması, yeni Amazon EKS kümeleri için varsayılan moddur. Küme için yalnızca genel uç nokta etkinleştirildiğinde, Kubernetes API'sinin Amazon VPC'den kaynaklanan istekleri (düzlem iletişimini denetlemek için çalışan düğümü gibi) VPC'den ayrılır ancak Amazon'un ağından ayrılmaz. Düğümlerin denetim düzlemine bağlanması için bir genel IP adresi ve bir İnternet ağ geçidi yolu ya da NAT ağ geçidinin genel IP adresini kullanabilecekleri bir ağ adresi çevirisi (NAT) ağ geçidi yolu kullanmaları gerekir.
Genel ve özel uç noktalar
Hem genel hem de özel uç noktalar etkinleştirildiğinde, VPC'nin içinden Kubernetes API istekleri, VPC'deki Amazon EKS tarafından yönetilen Elastik Ağ Arabirimleri (ENI) aracılığıyla denetim düzlemine iletişim kurar. Küme API sunucusuna İnternet'ten erişilebilir.
Yalnızca özel uç nokta
Yalnızca özel uç nokta etkinleştirildiğinde, veya helm
komutları gibi kubectl
küme API sunucusuna gelen tüm trafiğin kümenin VPC'sinden veya bağlı bir ağdan gelmesi gerekir. API sunucusuna İnternet'ten genel erişim devre dışı bırakılır. AWS Sanal Özel Ağı (AWS VPN) veya AWS DirectConnect ile VPC'ye bağlanarak bu erişim modunu uygulayabilirsiniz. AWS VPN veya DirectConnect olmadan uç noktaya erişimi kısıtlamak için, daha fazla ağ ayarlamadan bağlantıları sınırlamak için genel uç noktaya CIDR kısıtlamaları ekleyebilirsiniz.
Bağlantı seçenekleri hakkında daha fazla bilgi için bkz . Yalnızca Özel API Sunucusuna Erişme.
API sunucusuna AKS ağı erişimi
AKS'de Kubernetes API'sine ağ erişiminin güvenliğini sağlamak için iki seçenek vardır: özel AKS kümesi veya yetkili IP aralıkları.
Özel AKS kümesi
AKS özel kümesi, API sunucusu ile düğüm havuzları arasındaki ağ trafiğinin sanal ağ içinde kalmasını sağlar. Özel aks kümesinde, denetim düzlemi veya API sunucusu yalnızca aynı sanal ağda bulunan bir Azure özel uç noktası aracılığıyla erişilebilen bir iç IP adresine sahiptir. Aynı sanal ağdaki tüm sanal makineler (VM), özel uç nokta üzerinden denetim düzlemiyle özel olarak iletişim kurabilir. Denetim düzlemi veya API sunucusu Azure tarafından yönetilen abonelikte barındırılırken AKS kümesi ve düğüm havuzları müşterinin aboneliğindedir.
Aşağıdaki diyagramda özel küme yapılandırması gösterilmektedir.
Bu mimarinin bir Visio dosyasını indirin.
Özel aks kümesi sağlamak için AKS kaynak sağlayıcısı, özel dns bölgesindeki düğüm kaynak grubu için özel bir tam etki alanı adı (FQDN) oluşturur. İsteğe bağlı olarak AKS, Azure genel DNS bölgesinde karşılık gelen adres (A
) kaydıyla bir genel FQDN de oluşturabilir. Aracı düğümleri, API sunucusuyla A
iletişim için özel uç nokta IP adresini çözümlemek üzere özel DNS bölgesindeki kaydı kullanır.
AKS kaynak sağlayıcısı düğüm kaynak grubunda özel DNS bölgesini oluşturabilir veya özel DNS bölgesini oluşturup kaynak kimliğini sağlama sistemine geçirebilirsiniz. Terraform'u Azure, Bicep, ARM şablonları, Azure CLI, Azure PowerShell modülü veya Azure REST API ile kullanarak kümeyi oluştururken özel küme oluşturabilirsiniz.
Sağlama sırasında veya mevcut kümelerde parametresiyle az aks update komutunu kullanarak API sunucusu için genel FQDN'yi --enable-public-fqdn
etkinleştirebilirsiniz. Genel FQDN'yi etkinleştirirseniz, Azure DevOps şirket içinde barındırılan aracı veya GitHub Actions şirket içinde barındırılan çalıştırıcı gibi sunucuya erişen tüm VM'ler, kümeyi barındıran sanal ağda veya sanal ağ eşlemesi veya siteden siteye VPN aracılığıyla bağlanan bir ağda olmalıdır.
Özel aks kümesi için API sunucusunun genel FQDN'sini devre dışı bırakırsınız. Özel denetim düzlemiyle iletişim kurmak için vm'nin aynı sanal ağda veya özel DNS bölgesine sanal ağ bağlantısı olan eşlenmiş bir sanal ağda olması gerekir. Özel A
DNS bölgesindeki kayıt, API sunucusunun FQDN'sini temel denetim düzlemi ile iletişim kuran özel uç nokta IP adresine çözümler. Daha fazla bilgi için bkz. Özel Azure Kubernetes Service kümesi oluşturma.
Özel küme dağıtım seçenekleri
AKS kaynak sağlayıcısı, özel AKS kümesi dağıtımını özelleştirmek için aşağıdaki parametreleri kullanıma sunar:
authorizedIpRanges
(dize) izin verilen IP aralıklarını CIDR biçiminde belirtir.disableRunCommand
(Boole), küme için komutun devre dışı bırakılıp bırakılmayacağınırun
belirtir.enablePrivateCluster
(Boole), kümenin özel olarak oluşturulup oluşturulmayacağını belirtir.enablePrivateClusterPublicFQDN
(Boole), özel küme için başka bir genel FQDN oluşturulup oluşturulmayacağını belirtir.privateDnsZone
(dize) düğüm kaynak grubunda özel bir DNS bölgesi belirtir. Bir değer belirtmezseniz, kaynak sağlayıcısı bölgeyi oluşturur. Aşağıdaki değerleri belirtebilirsiniz:System
varsayılan değerdir.None
varsayılan olarak genel DNS'ye ayarlı olduğundan AKS özel DNS bölgesi oluşturmaz.<Your own private DNS zone resource ID>
veya biçimindeprivatelink.<region>.azmk8s.io
oluşturduğunuz özel bir DNS bölgesini kullanır<subzone>.privatelink.<region>.azmk8s.io.
Aşağıdaki tabloda, özel AKS kümesi dağıtmaya yönelik DNS yapılandırma seçenekleri gösterilmektedir:
Özel DNS bölge seçenekleri | enablePrivateClusterPublicFQDN: true |
enablePrivateClusterPublicFQDN: false |
---|---|---|
Sistem | Aracı düğümleri ve AKS kümesi sanal ağındaki diğer vm'ler veya özel DNS bölgesine bağlı herhangi bir sanal ağ, özel uç noktanın özel IP adresini çözümlemek için özel DNS bölgesi A kaydını kullanın.Diğer tüm VM'ler API sunucusunun genel FQDN'sini kullanır. |
Aracı düğümleri ve AKS kümesi sanal ağındaki diğer vm'ler veya özel DNS bölgesine bağlı herhangi bir sanal ağ, özel uç noktanın özel IP adresini çözümlemek için özel DNS bölgesi A kaydını kullanın.Kullanılabilir genel API sunucusu FQDN'i yoktur. |
Hiçbiri | Aracı düğümleri de dahil olmak üzere tüm VM'ler, Azure tarafından yönetilen genel DNS bölgesindeki bir A kayıt aracılığıyla sağlanan API sunucusunun genel FQDN'sini kullanır. |
Yanlış yapılandırma. Özel AKS kümesinin, API sunucusunun ad çözümlemesi için en az bir genel veya özel DNS bölgesi gerekir. |
Kendi özel DNS bölgesi kaynak kimliğiniz | Aracı düğümleri ve AKS kümesi sanal ağındaki diğer vm'ler veya özel DNS bölgesine bağlı herhangi bir sanal ağ, özel uç noktanın özel IP adresini çözümlemek için özel DNS bölgesi A kaydını kullanın.Diğer tüm VM'ler API sunucusunun genel FQDN'sini kullanır. |
Aracı düğümleri ve AKS kümesi sanal ağındaki diğer vm'ler veya özel DNS bölgesine bağlı herhangi bir sanal ağ, özel uç noktanın özel IP adresini çözümlemek için özel DNS bölgesi A kaydını kullanın.Kullanılabilir genel API sunucusu FQDN'i yoktur. |
Özel küme bağlantısı ve yönetimi
Özel kümeye ağ bağlantısı kurmak için çeşitli seçenekler vardır.
AKS kümesiyle aynı sanal ağda VM'ler oluşturun.
VM'leri ayrı bir sanal ağda kullanın ve AKS kümesi sanal ağıyla sanal ağ eşlemesi ayarlayın.
Azure ExpressRoute veya VPN bağlantısı kullanın.
Kümeye doğrudan bağlanmadan özel kümede ve
helm
komutlarını çalıştırmakkubectl
için az aks command invoke Azure CLI komutunu kullanın.Azure Özel Uç Nokta bağlantısı kullanın.
Özel AKS kümesini, aynı sanal ağdaki bir yönetim VM'sinden veya eşlenmiş bir sanal ağdaki kubectl komut satırı aracını kullanarak yönetebilirsiniz.
Sıçrama kutusu yönetim VM'sine bağlanmak için Azure Bastion'ı aynı sanal ağda veya eşlenmiş bir sanal ağda kullanabilirsiniz. Azure Bastion, tarayıcınızı ve Azure portalını kullanarak bir VM'ye bağlanmanızı sağlayan tam olarak yönetilen bir hizmet olarak platformdur (PaaS). Azure Bastion, doğrudan Azure portalından Aktarım Katmanı Güvenliği (TLS) üzerinden güvenli ve sorunsuz Uzak Masaüstü Protokolü (RDP) veya Secure Shell (SSH) VM bağlantısı sağlar. VM'ler Azure Bastion aracılığıyla bağlandığında genel IP adresine, aracıya veya özel bir istemci yazılımına ihtiyaç duymaz.
Atlama kutusu VM'sine bağlanmak zorunda kalmadan özel AKS kümenizde veya komutlarını çalıştırmak kubectl
için az aks command invoke komutunu da kullanabilirsiniz.helm
Yetkili IP aralıkları
Küme güvenliğini geliştirmek ve API sunucusuna yönelik saldırıları en aza indirmek için ikinci seçenek, yetkili IP aralıklarını kullanmaktır. Yetkili IP'ler, genel AKS kümesinin denetim düzlemine erişimi bilinen IP adresleri ve CIDR'ler listesiyle kısıtlar. Bu seçeneği kullandığınızda, API sunucusu hala genel kullanıma sunulur, ancak erişim sınırlıdır. Daha fazla bilgi için bkz . Azure Kubernetes Service'te (AKS) yetkili IP adresi aralıklarını kullanarak API sunucusuna güvenli erişim.
Aşağıdaki az aks update
Azure CLI komutu IP aralıklarını yetkiler:
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--api-server-authorized-ip-ranges 73.140.245.0/24
AKS bağlantısıyla ilgili dikkat edilmesi gerekenler
AKS özel kümesi, yetkili IP'lerden daha yüksek güvenlik ve yalıtım sağlar. Ancak, mevcut bir genel AKS kümesini özel bir kümeye dönüştüremezsiniz. Mevcut tüm AKS kümeleri için yetkili IP'leri etkinleştirebilirsiniz.
Özel API sunucusu uç noktasına yetkili IP aralıkları uygulayamazsınız. Yetkili IP'ler yalnızca genel API sunucusuna uygulanır.
Özel kümeler Azure DevOps tarafından barındırılan aracıları desteklemez. Şirket içinde barındırılan aracıları kullanmayı göz önünde bulundurun.
Azure Container Registry'nin özel bir AKS kümesiyle çalışmasını sağlamak için, küme sanal ağındaki kapsayıcı kayıt defteri için özel bir bağlantı ayarlayın. Veya Container Registry sanal ağı ile özel kümenin sanal ağı arasında eşleme ayarlayın.
Azure Özel Bağlantı hizmet sınırlamaları özel kümeler için geçerlidir.
Özel bir kümenin müşteri alt ağındaki özel uç noktayı siler veya değiştirirseniz küme çalışmayı durdurur.
Katkıda Bulunanlar
Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.
Asıl yazarlar:
- Paolo Salvatori | Baş Hizmet Mühendisi
- Martin Gjoshevski | Kıdemli Hizmet Mühendisi
- Laura Nicolas | Kıdemli Yazılım Mühendisi
Diğer katkıda bulunanlar:
- Chad Kittel | Baş Yazılım Mühendisi
- Ed Fiyatı | Üst Düzey İçerik Programı Yöneticisi
- Theano Petersen | Teknik Yazar
Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.
Sonraki adımlar
- Amazon EKS uzmanları için AKS
- Kubernetes kimlik ve erişim yönetimi
- Kubernetes izleme ve günlüğe kaydetme
- Kubernetes kümesi için depolama seçenekleri
- Kubernetes için maliyet yönetimi
- Kubernetes düğüm ve düğüm havuzu yönetimi
- Küme idaresi
İlgili kaynaklar
Aşağıdaki başvurular, güvenli BIR API ile AKS kümelerini dağıtmak için belgelere ve otomasyon örneklerine bağlantılar sağlar:
- Genel DNS Bölgesi ile Özel AKS kümesi oluşturma
- Terraform ve Azure DevOps kullanarak özel bir Azure Kubernetes Service kümesi oluşturma
- Azure NAT Gateway ve Azure Uygulaması lication Gateway ile genel veya özel bir Azure Kubernetes Service kümesi oluşturma
- Özel AKS Kümesi ile Özel Uç Noktaları Kullanma
- Azure Özel Bağlantı giriş
- Azure ağ güvenliği ile Güvenli Ağ Altyapısı'na giriş