💻
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
Powered by GitBook
On this page

Was this helpful?

  1. AWS

EC2

Elastic Compute Cloud

On-Demand : Kullandığın kadar öde, taahhütsüz.

Reserved Instance : Önceden anlaşılmış rezerve edilmiş 1 yıl ve 3 yıl taahhütlü.

Spot Instance : Teklif üzerine edinilen cloud sunucular.

Dedicated Host : Kişiye özel sunucu, kaynakları paylaşımsız.

Sunucu oluştururken;

EC2 Storage Tipleri;

Instance Storage (ephemeral)
Elatic Block Storage (EBS)

Instance fiziksel olarak bağlı.

Kalıcı veri deposu, instance'dan bağımsız.

Veriler başka bir yere replike değil.

Block base depolama.

Snapshot desteği yok.

%99 erişim garantisi

SSD ve ya HDD.

Snapshot desteği

Sunucunun bulunduğu fiziksel üzerinde.

Replike

Ortak storage üzerinde.

Diskte iops değeri ne kadar yüksekse okuma-yazma hızı yüksektir. Bu değer saniyede ne kadar verinin okunup, yazılacağı değerini belirtir.

Throughput bir diskte saniyede kaç mb veri geçişine izin verildiğini belirten değerdir.

Misal, IOPS'u bir arabanın 0-100KMH kaç saniyede çıkabildiğini gösteren bir değer olduğunu düşünürsek, throughput ise o arabanın maksimum ne kadar hıza çıkabildiğini gösterir.

AMI - Amazon Machine Image

Daha önceden tanıtılmamış işletim sistemi ve uygulamalarını barındıran sanal makine şablonlarının bulunduğu yer.

Community Ami (Public) : Çeşitli topluluklar ve Amazon tarafından yönetilen AMI

Aws Marketplace (Paid) : Çeşitli kişilerin kendi sunucularında kurduğu yazılım, servislerin, imajını alarak imajını satışa sunduğu kısım.

Private : Kendi sunucularımızı kendimiz yaratıp, kendimiz AMI yarattığımız seçenek.

EC2 Sunucu kurulumu esnasında dikkat edilmesi gereken kısımlar,

Number of instance : Yaptığımız ayarlarla kaç adet sunucu kurulacaksa bunu belirtiyoruz.

Purchasing Option : Spot teklifi vererek, sunucu talep edebiliriz. (opsiyonel)

Auto Assing Public IP : Otomatik olarak sunucuya public bir IP adresi atar.

Capaticy Reservation : Kaynak rezerve edebiliriz.

IAM Role : Burada kural ekleyebiliyoruz. Örneğin EC2 sunucularımızın S3 depolama alanına erişmesini istiyorsak, ilgili kuralı bulup ekleyebiliriz.

Shutdown Behavior : Sanal sunucuya kapama komutu geldiğinde, sunucu için AWS'nin ne yapacağını belirtebiliriz. *Stop : Sunucuyu sadece kapat. *Terminate : Sunucu kapandıktan sonra herşeyi sil.

Enable Termination Protection : Bu seçili olduğu zaman api ve management console üzerinden sunucuyu terminate edemeyiz. Bu koruma kalkana kadar sunucu silinmez.

Monitoring : Normalde AWS 5 dakika da bir sunucuyu izler ve biz istersek bu seçeneği aktif edip, bu süre 1 dakikaya düşer.

Tenancy : Dedike bir host mu, yoksa shared bir host mu kullanacağız bunu seçiyoruz.

Advanced Details

Sanal sunucu ilk defa açıldığında çalışmasını istediğimiz komutları buradan yazabiliriz.

Disk,Security group,tag ekleyebiliriz.

Sanal sunucumuza erişmek için key-pair oluşturmalıyız.

Actions kısmından image seçersek, bir ami yaratabiliriz.

Status Check hypervisor'da sorun olursa bunu status check üzerinde "system status checks" de görebiliriz. Sunucu da bir sorun olursa bunu instance status check üzerinde görebiliriz.

EC2 altında bulunan diğer özellikler;

Elastic Load Balancing : Yük dağıtım servisi, haproxy gibi düşünebiliriz. Aplication Load Balancing : Web sitesi uygulamalarımızın yük dağıtımını yapabiliriz. Network Load Balancing : TCP, ağ isteklerinin yük dağıtımını yapabiliriz.

Autoscaling : Sistem kaynaklarını optimize eder, yeni sunucuları devreye alır. Sistemin ihtiyacı olan kaynağı sağlar. Örneğin sanal sunucuların 5 dakika boyunca %90 CPU kullanımı yapıyorsa, git ve ortama sanal sunucu ekle ve bu sunucular diğer sunucular cpu kaynak kullanımı %30'un altına düşerse, yeni eklenen sanal sunucuyu sil gibi kurallar oluşturabiliriz. Ve tüm süreci otomatize edebiliriz.

Placement Group : EC2 üzerinde 2 sanal sunucu yarattık diyelim, bu sunuculardan biri X fiziksel hostu üzerinde oluşturulurken, diğer ise farklı fiziksel host üzerinde oluşturuluyor. AWS isterseniz sunucuları aynı host üzerinde çalışsın diyorsanız, Sunucuları placement group'a dahil edebilirsiniz. Placement gruba alınacak sunucular instance tipleri aynı olmalı yani m4 x1 ve c5 x1 tipleri kullanılmaz. Hepsi örneğin, m4=m4 olmalı. Tüm sunucuları tek seferde placement gruba alabiliriz. Örnek olarak, placement grubunda bir sunucuyu kapatıp açarsak düşük bir ihtimal hata alabiliriz. Hata alırsak tüm placement grubunda bulunan sunucuları kapat-aç yapmalıyız.

Cluster menüsü altında bulunan sunucular aynı cluster altındaki sunuculardır.

Spread Placement Group : Tüm sunucuları ve ya önemli 2 sunucun var ve fiziksel host üzerinde sorun olduğunda 2 sunucunun da down olmasını istemiyorsan spread grup ile bunu sağlayabiliriz.

EC2 sunuculara dışarıdan erişim kapalıdır. Security group içerisinden bunu değiştirebilir ve izinler yazabiliriz.

Volumes kısmından yeni bir disk eklemek istediğimizde availability zone diski ekleyeceğimiz sunucu ile disk volume'ı aynı az(availability zone) da kullanılmalıdır.

Oluşturduğumuz volume seçip "actions" kısmından "attatch volume" olarak seçebiliriz. Burada instance kısmında bağlayacağımız sunucuyu seçiyoruz. Ve diskimizi sunucuya bağlıyoruz. OS içerisinde diski genişletebiliriz. Ve ya yeni bir volume oluşturabilirsiniz.

Ek olarak diski genişletmek için, "Actions" kısmından modify volume diyerek mevcut volume genişletebiliriz.

AMİ oluşturmak;

Sunucuyu kapatıyoruz, Snapshot menüsünden snapshot oluşturuyoruz. volume ve sunucu adını seçiyoruz. Create diyerek ilerliyoruz. Snapshot datası s3 üzerinde tutulur. Snapshot 'u seçip actions diyoruz create volume diyerek, bir volume yaratıp başka bir sunucuya disk olarak bağlayabiliriz. Create image diyerek, AMI imajı oluşturabiliriz. Copy diyerek farklı bir region'a kopyalayabiliriz.

EC2 Metada

  • EC2 sunucumuz ile ilgili bir çok bilgiyi tutan HTTPs API servisidir. Böylelikle sunucumuzdan API sorgusu atarak, hangi AMI kullandığını öğrenebiliriz vb... sunucu hakkında bir çok konu da bilgi alma şansımız olur.

    • metadata v1 : API any açık. Token yok.

    • metadata v2 : Tokenli api çağrısı.

PreviousS3NextELB

Last updated 3 years ago

Was this helpful?

☁️
🚙