💻
Cheet Sheets
  • 🦁Başlarken
  • 🟧DevOps Pre-Requisite
    • ❤️Why Linux? | Linux Basics #1
    • 💛Vi Editor | Linux Basics #2
    • 💙Basics Commands | Linux Basics #3
    • 🧡Package Managers | Linux Basics #4
    • 💚Services | Linux Basics #5
    • 💛Networking Basics
    • 🤎DNS Basics
    • 🩶Applications Basics
    • 🟨Java introduction
    • 🟩NodeJS Introduction
    • 🟦Python Introduction
    • 🟪GIT Introduction
    • 🟧Apache Web Server Introduction
    • ⬛Apache Tomcat
    • 🟫Python Flask
    • 🟥Node.js Express App
    • 🟨Databases
    • 🟩MySQL
    • 🟪MongoDB
    • 🟨SSL & TLS
    • 🟦YAML & JSON - JSON Path
    • ⬛Labs Resources
  • 🍎Kubernetes
    • 🍏Kubernetes: Nedir ?
    • 🍒Bileşenler
    • 🍵Kubectl ve Versiyon
    • ❤️Pod
    • 🏷️Label ve Selector
    • 🔎Annotation
    • 📲Namespaces
    • 📦Deployments
    • 🔁ReplicaSet
    • 🔙Rollout & Rollback
    • 🌐Networking - 1
    • 🌏Service
    • 🛠️Liveness Probe & Readiness Probe
    • 🥐Resource Limits
    • 💰Environment Variables
    • 📃Ephemeral Volumes
    • 🔑Secrets
    • 🌂ConfigMap
    • 🖥️Node Affinity
    • 🔌Pod Affinity
    • ✍️Taint and Toleration
    • 🔦DaemonSet
    • 🧀PV/PVC
    • 🌜Storage Class
    • 🗿StatefulSet
    • 🕹️Job & Cronjob
    • 🔐Authentication
    • 📏Role-based access control (RBAC)
    • 🈷️Service Account
    • 📈Ingress
    • 📂ImagePullPolicy & ImageSecret
    • 📖Static Pods
    • 🌐Network Policy
    • 🫐Helm Nedir?
    • 📽️Prometheus Stack - Monitoring
    • 💼EFK Stack - Monitoring
    • 🥳CRD & Operator
  • 🧑‍⚕️GIT & GITHUB
    • 👉Girizgah
    • 🌴Branch
    • 🤝Merge
    • 🤔Conflict - Rebase
    • 🇸🇴Alias
    • 🛑Gitignore
    • 🥢Diff
    • ◀️Checkout
    • 🔦Stash
    • 👉Other
  • ☁️AWS
    • 🪣S3
    • 🚙EC2
    • ⚖️ELB
    • 🤝Auto Scaling
    • 🗄️EFS
    • 🔐VPC
    • 🎆CloudFront
    • ❤️Route53
    • 🦈RDS
    • 🏢ElastiCache
    • 🔭CloudWatch
    • 👀CloudTrail
    • 📃CloudFormation
    • 🔕SNS
    • 📬SQS
    • 🎇SWF
    • 📧SES
    • 📦Kinesis
    • 📐AWSConfig
    • 👩‍🏭OpsWork
    • 🚀Lambda - Api Gateway
    • 📌ECS - EKS
    • 🔑KMS
    • 📂Directory Service
    • 🏐Snowball
    • 💾Storage Gateway
    • 💽Volume Gateway
    • 📼Tape Gateway
    • 🏠Organizations
    • 🔙Backup-Transfer-CloudShell
    • 🆔IAM
    • 📀DataSync
    • 🗃️FSx
    • 🎒Aurora Serverless
    • 🌐Global Accelerator
    • 💪HPC
    • 🎰Outposts
    • 🗼Others
  • 👨‍🔬Ansible
    • 👉Girizhah
    • 📔YAML
    • ⚙️Komponentler
    • 🎒Inventory
    • 🏑ad-hoc
    • ▶️Playbook
  • 👨‍⚕️PROMETHEUS
    • 📈Terminoloji
    • 🦯Ubuntu 20.04 Prometheus Kurulum
    • 🗒️prometheus.yml dosyasına ilk bakış:
    • 🧭promQL up query
    • 📇Exporters
    • 🔦promQL Data Types
    • 🦯Selectors & Matchers
    • 🔢Binary Operators
    • 💀ignoring and on
    • ✍️Aggregation Operators
    • 🧠Functions
    • 🖊️Alıştırma
    • 💻Client Libraries
    • 🐍Examining the data of our Python application
    • 🐐Examining the data of our GO application
    • ⏺️Recording Rules
    • 💡rate functions
    • ⏰Alerting
    • ⌚Alert Routing
    • ⏰Slack integration with Prometheus
    • 🤯PagerDuty integration with Prometheus
    • ◼️BlackBox exporter
    • 📍Push Gateway
    • 🪒Service Discovery
    • 🧊kube cadvisor with external prometheus
    • 👉aws with prometheus
    • ☁️CloudWatch Exporter
    • 👨‍🚒mysql exporter
    • 🛃Custom exporter with Python
    • ⚙️Prometheus with HTTP API
    • 🤖Prometheus Federation For Kubernetes
    • 📺Grafana
    • ⁉️Prometheus: Ne zaman kullanılmalı? Ne zaman kullanılmamalıdır?
  • 🍪Sheets
    • 🛳️Docker Sheets
    • 🐐Kube Sheets
  • 🔢12 Factor APP
    • 🏗️Introduction
    • 1️⃣Codebase
    • 2️⃣Dependencies
    • 3️⃣Concurrency
    • 4️⃣Processes
    • 5️⃣Backing Services
    • 6️⃣Config
    • 7️⃣Build, release, run
    • 8️⃣Port binding
    • 9️⃣Disposability
    • 🔟Dev/prod parity
    • 🕚Logs
    • 🕛Admin processes
  • ☁️Azure 104
    • 👨‍👨‍👧‍👧Azure Active Directory ( Entra ID )
    • 💰Subscriptions
    • 🌎Virtual Network (VNET)
    • 💻Virtual Machines
    • 🧑‍🌾Load Balancing
    • 🥍Network Advanced
    • 🪡Automating Deployment and Configuration
    • 💂Securing Storage
    • 📓Administering Azure Blobs and Azure Files
    • 🔧Managing Storage
    • 🎁App Service
    • 🛳️Azure Container
    • 🥇Backup And Recovery
    • 🪐Network Watcher
    • ⏰Resource Monitoring And Alerts
  • ⛅AZURE 305
    • 🆔identity and access management
    • 💼Desing Azure AD (Entra ID)
    • 👨‍💼Desing for Azure B2B
    • 🛃Desing for Azure B2C
    • 💳Design for MFA and Conditional Access
    • ⛑️Design for Identity Protection
    • 🚶Access Reviews
    • 🚦Managed identity Demostration
    • 🔐Key Vault Demostration
    • 👑Governance hierarchy
    • 💠Design for Management Groups
    • 🔑Desing for Subscriptions
    • 🍇Desing for resource groups
    • 📟Design for resource tags
    • 🚷Azure Policy & RBAC
    • 🫐Desing For Blueprints
    • 🪡Desing for Virtual Networks
    • 🛫Design for on-premises connectivity to Azure
    • 🔽Design for network connectivity
    • 📦Design for application delivery
    • 🥞Design for network security and application protection
    • 📕Choose a compute solution
    • 🌊Design for virtual machines
    • 🔋Azure Batch Demostration
    • 🛰️Design for Azure App Service
    • ⛲Design for Azure Container Instances
    • 🎢Design for Azure Kubernetes Service
    • 📠Azure Functions Demostration
    • 💪Azure Logic Apps Demostration
    • 🧑‍💼Design for data storage
    • 🎞️Design for Azure storage accounts
    • 🌟Choose the storage replication
    • 📹Azure blob storage - Lifecycle & immutable demo
    • 🥌Azure Files Demostration
    • 🕸️Design Azure disks
    • 🦼Design for storage security
    • 🔮Azure Table Storage And Cosmos DB Demostration
    • 🟧Azure SQL Solutions
    • 🎡Azure SQL Database - Purchasing models
    • 🕯️Database availability
    • 📜Data security strategy
    • 🧮Azure SQL Edge
    • 🚲Azure Data Factory
    • 🔅Azure Data Lake Storage
    • 🧘‍♂️Azure Databricks
    • 🎒Azure Synapse Analytics
    • 🅰️Azure Stream Analytics
    • 📼Data flow strategy
    • 🍥Cloud Adoption Framework
    • ☣️Azure Migration Framework
    • 🦿Assessing workloads
    • 🪡Migration tools
    • 🤖Azure Database migration
    • 👥Storage migration
    • 👜Azure Backup
    • ⏲️Azure Blob Backup and Recovery
    • 💈Azure files backup and recovery
    • 🎞️Azure VM backup and recovery
    • 🧺Azure SQL backup and recovery
    • ⏰Azure Site Recovery
    • 📩Differentiate event and message
    • ✈️Azure messaging solutions
    • 🚜Event Hub
    • 🥍Application optimization solution
    • 🎁Application lifecycle
    • 📺Azure Monitor
    • 🅱️Log Analytics
    • 👥Azure workbooks and Insights
    • 🚌Azure Data Explorer
  • Github Actions
    • Github Actions Nedir?
    • Workflow & Schedule Triggers
    • Single and Multiple Events
    • Manuel Events
    • Webhook Events
    • Conditional Keywords For Steps
    • Expressions - 1
    • Expressions - 2
    • Runners
    • Workflow Commands
    • Workflow Context
    • Dependent Jobs
    • Encrypted Secrets
    • Configuration Variables
    • Default & Custom Env Varb
    • Set Env Varb with Workflow Commands
    • Github Token Secret
    • Add Script to workflow
    • Push Package #1
    • Push Package #2 Docker
    • Service Containers
    • Routing workflow to runner
    • CodeQL Step
    • Caching Package and Dependency Files
    • Remove workflow Artifact
    • Workflow Status Badge
    • Env Protection
    • Job Matrix Configuration
    • Disable & Delete Workflows
    • Actions type for Action
    • Inputs and Outputs for actions
    • Action Versions
    • Files and Directories for Actions
    • Exit Codes
    • Reusable Workflow & Reuse Templates for Actions and Workflows
    • Configure Self Hosted Runners for Enterprise
  • Loki
    • What is Loki?
    • Architecture of Loki
    • Install Loki For Ubuntu
    • Install Promtail For Ubuntu
    • Querying Logs
    • Loki in Kubernetes
    • Deploying Loki in Kubernetes
    • Connecting to Grafana
    • Viewing Kubernetes logs
    • Promtail Customize & Pipeline
  • Ansible
    • Ansible Introduction
    • Introduction to Ansible Configuration Files
    • Ansible Inventory
    • Inventory Formats
    • Ansible Variables
    • Variable Types
    • Registering Variables and Variable Precedence
    • Variable Scoping
    • Magic Variables
    • Ansible Facts
    • Ansible Playbooks
    • Verifying Playbooks
    • Ansible lint
    • Ansible Conditionals
    • Ansible Conditionals based on facts, variables, re-use
    • Ansible Loops
    • Ansible Modules
    • Introduction to Ansible Plugins
    • Modules and Plugins Index
    • Introduction to Handlers
    • Ansible Roles
    • Ansible Collections
    • Introduction to Templating
    • Jinja2 Templates for Dynamic Configs
  • 🅰️Ansible Advanced
    • Playbook run options
    • Facts
    • Configuration files
Powered by GitBook
On this page

Was this helpful?

  1. AWS

Route53

AWS tarafından sunulan, yönetilebilen DNS hizmeti. Aynı zaman da domain register edebiliyoruz.

Tüm AWS servisleri ile entegre durumdadır. Api desteğine sahip, uygulamalarımız otomatik olarak ihtiyacı olan kayıtları oluşturabilir.

Route policy ve healthcheck servisi arayıcılığıyla load balancing işlemi yapabiliyoruz. Gelen istekler coğrafi olarak yönlendirilebilir. Healthcheck servise gelen istek'de sorun varsa failover senaryoları kurabiliriz.

Route53 de iki çeşit zone mevcuttur;

Public Zone,

  • Tüm dünyadan erişim yapılabilir.

  • Alan adının gerçekten var olması gerekmektedir.

  • Böyleye tüm dünyadan domainimizin IP adresini öğrenmek isteyenlere bu zone cevap verecektir.

Private Zone,

  • Lokalde sadece VPC üzerinden erişim yapılır.

  • Alan adı gerekmez, herhangi bir isimlendirme seçilebilir.

  • VPC de kaynakların IP adresleri yerine, isimlerle haberleşme imkanı verir.

Private zone oluşturmak için;

  • Hosted zone

  • Create hosted zone

  • onur.local > Kullanacağımız lokal domainimizi yazıyoruz.

  • Type, Private

  • Hangi VPC için bu zone oluşturulacaksa seçmeliyiz.

Böylelikle VPC içerisinde bulunan sunucular private kayıtları çözerler.

Private zone sadece seçtiğimiz VPC içerisinde bulunan sunucular erişebilecekler.

SOA : Domain için temel kayıtları barındırır.

NS : DNS sunucuların listesidir. Domainimiz burada yazan NS'ler tarafından yönetilecektir.

TTL : Kayıtlar kaç saniye, kaç dakika boyunca tekrar istemcilere iletildiğini belirtiyoruz. Örneğin 60 dakika TTL süresi olan bir kayıt değiştirilmişse bile 60 dakika sonra kullanıcılar bunu yeni kayda göre işleyebileceklerdir.

Alias : Alias kaydı ile bir kaydı, AWS servislerine / kaynaklarına bağlayabiliyoruz.

Health Check Yaratmak,

  • Create Health check

  • Name, misal irlweb1-abdweb1

  • What to Monitor : Endpoint

  • IP address : IP adresi giriyoruz. Misal irlweb1 IP adresini. ve abdweb1 IP adresini.

  • Port : 80

  • Next : Böylelikle irlanda ve ABD de de bulunan sunucumuz için healthcheck yarattık.

Public Zone Eklemek,

  • websitesi - domain.com

  • Create record set

  • name : domain.com

  • Type : A - IPv4

  • Value : 1.2.3.4 - 5.6.7.8 > Birden çok IP eklenebilir.

Route Policy : DNS üzerinde basit bir load balancing yapabiliriz. Weighted : Gelen istekleri böler.

Örnek olarak, domain.com için farklı IPlere sahip 2 kayıt yaratalım, Kayıtları oluştururken weight kısmını birini 10 diğerine 90 yazalım. Böylelikle 10 isteğin 9'u 90 yazdığımız host'a gidecek. 1 istek istek ise 10 yazdığımız host'a gidecek. (Değerler %liktir)

Letancy : Route53 dns sorgusu atan kişi, hangi lokasyona daha kısa sürede eriştiğine karar verip, ona göre uygun sunucuya yönlendirdiği routing şeklidir.

Letancy yapılandırma,

  • Create record set

  • Name : domain.com

  • value : 1.1.1.1 > avrupada ki sunucumuzun IP adresi.

  • Routing policy : latency

  • Region : Sunucu hangi region da bunu seçiyoruz. Çoğu durumda bunu otomatik seçer.

  • Set ID : webserverEU

  • Create

ABD için,

  • Name : domain.com

  • Value : 2.2.2.2 > ABDde de bulunan sunucunun IP adresi.

  • Routing Policy : Latency

  • Set ID : webserverUS

  • Region : us-east-1 > kaydını eklediğimiz sunucunun region'nunu belirtiyoruz.

Örnek olarak, bir kullanıcı Belçika'dan istek yaparsa Route53 bu isteği Avrupa da bulunan sunucumuza iletecek.

Geolocation Oluşturmak,

Geolocation : Örneğin ABD den, istek gönderen kişi bu sunucuya.. Avrupa'dan istek gönderen kişi şu sunucuya gitsin diyebiliyoruz.

1.Kayıt

  • Create record set

  • Name : domainx.com

  • Value : 1.1.1.1 > Avrupa da bulunan sunucumuzun IP adresi.

  • Routing Policy : Geolocation

  • Location : Europe, Eklediğimiz kayıt hangi ülkede ki ve kıtadaki kullanıcılara etki edecekse bunu belirtiyoruz.

  • SET ID : webserverEU

2. Kayıt

  • Name : domainx.com

  • Value : 2.2.2.2 > ABD'de de bulunan sunucunun IP adresi.

  • Routing Policy : geolocation

  • Location : North America

  • SET ID : webserverUS

3.Kayıt

  • Name : domainx.com

  • Value : 1.2.3.5 > İrlanda da bulunan sunucunun IP adresi.

  • Routing Policy : Geolocation

  • Location : Default

  • SET ID : webserverEU2

  1. kayıt da kullanıcılar Avrupa'dan istek atarsa 1.1.1.1 'e gidecek.

  2. kayıt da kullanıcılar Amerika 'dan istek gelirse, 2.2.2.2'ye gidecek.

  3. kayıt da diğer tüm bölgelerden gelen istekleri 1.2.3.5'e gidecek.

Failover, birden fazla IP girerek eğer 1. sunucuya erişilemezse 2.IP adresine yönlendir diyebiliriz. Burada ilk yarattığımız Health check'ler işe yarıyor.

Failover oluşturma,

  • Name : domaina.com

  • Value : 1.1.1.1 > İrlanda da bulunan sunucunun IP adresini yazıyoruz.

  • Routing Policy : Failover

  • Failover Record Type : Bu kayıt primary kayıt mı olacak? secondary kayıt mı olacak? Bunu yazıyoruz.

  • SET ID : domaina-primary

  • Associate With health check : Yes > Primary sunucuyu seçiyoruz. Burada isteklerde bu sunucuyu kontrol et sunucuda problem yoksa, ilk IP yani bu IP adresine istekleri ilet. Eğer problem varsa, secondary sunucuya yönlendir.

2.Kayıt

  • Name : domaina.com

  • Value : 2.2.2.2 > Secondary sunucu IP adresi

  • Routing Policy : Failover

  • Failover Record Type : Secondary > Bu kayıt secondary sunucuya ait.

  • SET ID : domaina-secondary

  • Associate with health check : yes > Secondary sunucuyu seç.

  • Create

Failover oluşturmuş olduk.

Trafik Policy Oluşturmak,

  • Policy name : deneme

  • Version desc : boş bırakabiliriz.

  • Ardından hangi tip dns kaydı yaratmak istediğimizi seçiyoruz.

  • A kaydı

  • Connect to : A kaydını nereye bağlamak istiyoruz.

  • Geolocation seçiyoruz. Location : Europe . Avrupa'dan gelenleri connect to 1.1.1.1 'e yönlendir. Location : North America connect to 2.2.2.2 'ye yönlendir.

Ve ya,

  • Location : Europe

  • Connect to : weight

  • 10 weight : connect to : 1.1.1.1 endpoint

  • 90 weight : connect to : 2.2.2.2 endpoint

  • Location : North America

  • Connect to : New Endpoint

  • Endpoint type : value 2.2.2.2

PreviousCloudFrontNextRDS

Last updated 3 years ago

Was this helpful?

☁️
❤️
Location-aware Git remote URL with AWS Route53 | GitLab
DNS Geolocation Tutorial with AWS Route53 - ICTShore.comICTShore.com
Logo
Logo