1. Giriş
Bu kod laboratuvarı, yönlendirme hedefi olarak tam nitelikli alan adı (FQDN) kullanarak Cloud DNS giden yönlendirme bölgelerini ayarlama konusunda size yol gösterecektir. Bu özellik, IP adreslerini yönlendirme bölgenizin yapılandırmasına sabit kodlamak yerine DNS trafiğini bir DNS adından çözümlenen IP adreslerine yönlendirmenize olanak tanır. Bu özellik, özellikle arka uç DNS çözümleyici IP adresleriniz değiştiğinde yararlıdır. FQDN için DNS kaydını güncelleyebilir ve Cloud DNS değişiklikleri otomatik olarak alabilir.
Bu codelab'in sonunda, aşağıdakileri kullanan Cloud DNS yönlendirme bölgelerini yapılandırabileceksiniz:
- A/AAAA kayıtlarıyla özel bir alanla eşleşen bir tam nitelikli alan adı hedefi.
- Bölgesel yakınlık veya trafik dağılımı için Cloud DNS yönlendirme politikaları (coğrafi konum veya ağırlıklı dönen sıra) tarafından desteklenen bir FQDN hedefi.
FQDN yönlendirmeye genel bakış
Cloud DNS yönlendirme, Google Cloud Platform dışında barındırılan özel DNS adlarını (ör. şirket içi veya diğer bulutlar) Google Cloud Platform kaynaklarından çözmenize olanak tanır. Geleneksel olarak bu, hedef IP adreslerinin bir listesine yönlendirmeyi destekler. Tam alan adı yönlendirme, bir yönlendirme bölgesinde yönlendirme hedefi olarak tam alan adı belirtmenize olanak tanıyarak bu özelliği genişletir.
Cloud DNS, bir FQDN belirtildiğinde kaynak ağın çözümleme mantığını kullanan dahili bir arama kullanarak bu FQDN'yi IP adreslerine çözer. Bu, FQDN hedefinin özel bir bölge, DNS yönlendirme politikası (coğrafi konum veya ağırlıklı dönen sıra) ya da hatta internetteki herkese açık bir alan adıyla eşleşebileceği anlamına gelir. Cloud DNS, sorguyu çözülen hedef IP'ye yönlendirir.
Oluşturacağınız uygulama
Yeni bir özel bölgeyle bölgesel FQDN yönlendirme
DNS trafiği için bölgesel yakınlık sağlayan bir kurulum oluşturursunuz. Bu işlem, özel bir DNS bölgesi oluşturmayı ve içinde bir coğrafi konum yönlendirme politikası yapılandırmayı, ardından bir yönlendirme bölgesini bu FQDN hedefine bağlamayı içerir. Bu, belirli bir bölgeden (ör. us-east1) gelen trafiğin ilgili bölgesel DNS sunucusuna yönlendirilmesini sağlar.
Mevcut özel alanla FQDN yönlendirme
Mevcut bir özel DNS bölgesinde A/AAAA kaydı tarafından desteklenen bir FQDN'yi hedefleyen bir yönlendirme bölgesi oluşturmayı öğreneceksiniz. Bu örnekte, sorguların FQDN yönlendirme hedefi kullanılarak çözümlenen statik olarak tanımlanmış IP adreslerine yönlendirilmesi gösterilmektedir.
Neler öğreneceksiniz?
FQDN yönlendirme kavramı
Tam alan adı yönlendirmesinin, giden sorgular için yönlendirme hedefleri olarak yalnızca IP adresleri yerine bir tam alan adı yönlendirme hedefi belirtmenize olanak tanıyarak DNS yönlendirmesini genişlettiğini anlayacaksınız.
FQDN yönlendirmenin avantajları
Cloud DNS, FQDN'nin DNS kaydındaki değişiklikleri otomatik olarak algıladığından bu özellik, arka uç DNS çözümleyici IP adresleri değiştiğinde manuel güncelleme ihtiyacını ortadan kaldırır. Ayrıca, DNS sunucularının paylaşılan bir adın arkasında olmasına veya dinamik olarak ölçeklenmesine izin vererek DNS altyapısının daha esnek bir şekilde ölçeklenmesini sağlar.
Cloud DNS yönlendirme politikalarıyla entegrasyon
Bölgesel yakınlığa ulaşmak, coğrafi olarak farklı dağıtımlar için performansı optimize etmek ve trafiği yapılandırılmış ağırlıklara göre dağıtmak amacıyla FQDN yönlendirmenin Cloud DNS yönlendirme politikalarıyla (coğrafi konum veya ağırlıklı dönen sıra) nasıl birleştirilebileceğini öğreneceksiniz.
Google Cloud KSA komut söz dizimi
FQDN yönlendirme bölgelerini ayarlamak için gcloud dns managed-zones create
komutunu ve ilgili işaretlerini (--forwarding-targets
, --private-forwarding-targets
) öğrenirsiniz.
Ön koşullar
Bu codelab'i tamamlamak için şunlar gerekir:
- Bir Google Hesabı
- Faturalandırmanın etkin olduğu bir Google Cloud projesi
- gcloud komut satırı aracı yüklenmiş ve yapılandırılmış olmalıdır.
- Cloud DNS ve DNS kavramları hakkında temel düzeyde bilgi
2. Hazırlanma
FQDN yönlendirme senaryolarını anlama
Cloud DNS tam alan adı yönlendirmesi, çeşitli kullanım senaryolarını destekler:
- A/AAAA kaydı içeren özel bölge: FQDN, özel bir bölgedeki A/AAAA kaydıyla eşleşirse çözümlenen IP adresleri yönlendirme listesine eklenir ve davranış, doğrudan hedef IP adreslerine yönlendirmeyle aynıdır.
- Coğrafi konum politikası içeren özel bölge: Coğrafi konum politikaları, kaynak coğrafi konumunu belirtmenize ve coğrafyaya göre trafik dağılımını doğrulayarak ilgili yanıtlar sağlamanıza olanak tanır. Bu, bölgesel DNS yönlendirme ve yakınlık için önemlidir.
- Ağırlıklı dönen sıra (WRR) politikası içeren özel bölge: WRR politikaları, bir DNS adı için IP adresi başına farklı ağırlıklar belirtmenize olanak tanır ve trafiğin yapılandırılmış ağırlıklara göre dağıtıldığını doğrular.
- A/AAAA kaydı içeren herkese açık alt bölge: Tam nitelikli alan adı, aynı ağda görünen hiçbir özel adla eşleşmezse Cloud DNS, herkese açık interneti kullanarak bu adı çözmeye çalışır.
FQDN yönlendirme için Google Cloud CLI komutunu anlama
gcloud CLI komutlarını kullanarak FQDN yönlendirme hedefi içeren bir yönlendirme bölgesi oluşturmak için gcloud dns managed-zones create
komutunu kullanırsınız. FQDN hedefini belirtmek için kullanılan anahtar işaretleri --forwarding-targets
veya --private-forwarding-targets
'dur. Standart ve özel yönlendirme yöntemleriyle ilgili ayrıntılar için lütfen belgeye bakın.
--forwarding-targets
: IPv4/IPv6 adreslerinin veya alanın sorguları yönlendireceği hedef ad sunucusunun bir alan adının listesi. Herkese açık görünürlük için yoksayılır. RFC1918 olmayan adresler, internet üzerinden hedefe yönlendirilir. RFC1918 adresleri VPC üzerinden yönlendirilir.--private-forwarding-targets
: IPv4/IPv6 adreslerinin veya alanın sorguları yönlendireceği hedef ad sunucusunun bir alan adının listesi. Herkese açık görünürlük için yoksayılır. Bu parametre için belirtilen tüm adreslere VPC üzerinden ulaşılır.
Örnek söz dizimi:
gcloud dns managed-zones create NAME \
--description=DESCRIPTION \
--dns-name=DNS_SUFFIX \
--networks=VPC_NETWORK_LIST \
--forwarding-targets=DEFAULT_FQDN_TARGET \
--visibility=private
--forwarding-targets
yerine --private-forwarding-targets
belirtebileceğinizi unutmayın.
Google Cloud Platform projenizi ayarlama
gcloud CLI'ye giriş yapın.
gcloud auth login
Proje oluşturun.
gcloud projects create my-codelab-project
Cloud DNS API'yi etkinleştirin. Bu işlemin geçerlilik kazanması birkaç dakika sürebilir.
gcloud services enable dns.googleapis.com
Bu codelab'de, yeni bir projeyle oluşturulan varsayılan VPC ağı kullanılır. Bunun yerine kullanmak üzere yeni bir ağ da oluşturabilirsiniz.
3. Bölgesel FQDN yönlendirmeyi ayarlama (yeni özel bölgeyle)
Bu senaryoda, belirli bir bölgeden gelen trafiğin aynı bölgedeki bir DNS sunucusuna yönlendirilmesini sağlayarak bölgesel DNS yönlendirmesinin nasıl yapılacağı gösterilmektedir.
Özel DNS alt bölgesi oluşturma
Öncelikle, FQDN'nizi ve ilişkili coğrafi konum yönlendirme politikanızı barındıracak özel bir DNS bölgesi (ör. foo.com.) oluşturun. Bu bölge, varsayılan ağınıza görünür olmalıdır.
gcloud dns managed-zones create my-zone \
--description="Private Zone for FQDN outbound DNS forwarding." \
--dns-name=foo.com. \
--networks=default \
--visibility=private
Gizli bölgede coğrafi konum yönlendirme politikası kaydı oluşturma
Ardından, my-zone içinde bir kayıt kümesi (örneğin, geo.foo.com.) oluşturun ve bir coğrafi konum yönlendirme politikası uygulayın. Bu örnekte, asia-east1 ve asia-west1 için IP adresleri yapılandırılmaktadır.
gcloud dns record-sets create geo.foo.com. \
--ttl="30" \
--type="A" \
--zone="my-zone" \
--routing-policy-type="GEO" \
--routing-policy-data="asia-east1=192.168.0.1;us-central1=192.168.0.2"
Not: Coğrafi sınırlama devre dışıysa (varsayılan ve önerilen) ve orijinal bölgedeki bir hedef sağlıklı değilse sorgular en yakın sağlıklı bölgeye yönlendirilir.
FQDN hedefiyle yönlendirme bölgesi oluşturma
Aynı varsayılan ağda görünen bir yönlendirme bölgesi (geo.test.com.) oluşturun ve geo.foo.com.'u (coğrafi konum yönlendirme politikasına sahip FQDN) yönlendirme hedefi olarak ayarlayın.
gcloud dns managed-zones create my-geo-fwd-zone \
--description="Forwarding zone for FQDN outbound DNS forwarding for routing policy." \
--dns-name=geo.test.com. \
--networks=default \
--private-forwarding-targets=geo.foo.com. \
--visibility=private
geo.test.com ile eşleşen tüm DNS sorguları artık sorgunun kaynak bölgesine göre geo.foo.com'un çözümlenmiş IP'sine (ör.192.168.0.1 veya 192.168.0.2) yönlendiriliyor.
4. Tam nitelikli alan adı yönlendirmeyi ayarlama (mevcut özel alanla)
Mevcut bir gizli DNS alt bölgeniz olmalıdır.
Varsayılan ağa görünen my-zone (foo.com.) adlı bir özel DNS alt bölgeniz olduğunu varsayalım.
Bu özel bölgede DNS kaynak kaydı oluşturun
Mevcut my-zone alanınızda a.foo.com için A türü bir kayıt oluşturun.
gcloud dns record-sets create a.foo.com. \
--ttl="30" \
--type="A" \
--zone="my-zone" \
--rrdatas=1.2.3.4
Yönlendirme bölgesi oluşturun ve FQDN hedefini belirtin
Bölgesel FQDN senaryosuna benzer şekilde bir yönlendirme bölgesi oluşturun ve yönlendirme hedefi olarak a.foo.com'u belirtin.
gcloud dns managed-zones create my-a-fwd-zone \
--description="Forwarding zone for FQDN outbound DNS forwarding for A record." \
--dns-name=a.test.com. \
--networks=default \
--private-forwarding-targets=a.foo.com. \
--visibility=private
a.test.com ile eşleşen tüm DNS sorguları, a.foo.com için çözümlenmiş 1.2.3.4 IP adreslerine yönlendirilir.
5. Temizleme
Özel bir bölgenin silinebilmesi için önce özel bölgedeki tüm ResourceRecordSets'lerin (otomatik olarak oluşturulan ve her zaman özel bölgede bulunması gereken NS ve SOA kayıtları hariç) silinmesi gerekir.
Özel bölgede coğrafi konum yönlendirme politikasını silin.
gcloud dns record-sets delete "geo.foo.com." --type="A" --zone="my-zone"
Özel bölgedeki A kaydını silin.
gcloud dns record-sets delete "a.foo.com." --type="A" --zone="my-zone"
Özel bölgeyi silin.
gcloud dns managed-zones delete "my-zone"
Coğrafi konum yönlendirme politikasının yönlendirme bölgesini silin.
gcloud dns managed-zones delete "my-geo-fwd-zone"
A kaydının yönlendirme bölgesini silin.
gcloud dns managed-zones delete "my-a-fwd-zone"
6. Tebrikler
Tebrikler, FQDN giden DNS yönlendirmeyi kullanmayı başarıyla öğrendiniz.