Webinar 4:Server in der Cloud –
die AWS Compute-Dienste
Steffen KrauseTechnical Evangelist
@AWS_Aktuellhttp://www.facebook.com/awsaktuell
Teilen Sie uns mit:Was gut ist, was nicht
Was Sie bei unseren Veranstaltungen
sehen wollen
Was Sie sich von AWS wünschen
Ihr Feedback ist wichtig
1. Was ist Amazon Web Services und wofür kann ich AWS nutzen2. Erste Schritte mit Amazon Web Services – von der Anmeldung bis zur ersten
Instanz3. Amazon Web Services 1*1 – welche Dienste gibt es wofür?
Aufzeichnungen: http://aws.amazon.com/de/recorded-webinar/ 4. Server in der Cloud – die AWS Compute-Dienste
4. April 2013, 16 Uhr5. Daten speichern in der Cloud – die AWS Storage-Dienste
17. April 2013, 16 Uhr6. Datenbanken in der Cloud – SQL und NoSQL
voraussichtlich 7. Mai 2013, 16 UhrAnmeldung unter http://aws.amazon.com/de/about-aws/events/
Die Webinar-Serie
Themen
• Überblick – Struktur, Terminologie• Instanztypen• Storage und andere virtuelle Hardware• Preisoptionen – On Demand, Reserved, Spot• Starten einer Instanz – Keypairs & Security• Bootstrapping• Demo
Compute Storage
AWS Global Infrastructure
Database
App Services
Deployment & Administration
Networking
Vertikale Skalierungab $0.02/h
Elastic Compute Cloud (EC2)Rechenkapazität in der Cloud
Auswahl an CPU, Memory & Festplatten-Optionen
Über 10 Instanztypen verfügbar von Micro bis Cluster Compute
Feature Details
Flexibel Windows oder Linux Distributionen
Skalierbar Viele verschiedene Instanztypen von Micro bis Cluster Compute
Machine Images Konfigurationen können als Machine Images (AMIs) gespeichert und daraus neue Instanzen erstellt werden
Volle Kontrolle Vollständiger root oder Administrator-Zugriff
Sicher Volle Firewall-Kontrolle über Security Groups
Monitoring Metriken über CloudWatch publiziert
Kostengünstig On Demand, Reserved und Spot Instanzen
VM Import/Export Import und Export von VM Images von und nach EC2
Compute
Sicher separiert
Geteilte Umgebung
Elastische Kapazität
Physical Interfaces
Kunde 1
Hypervisor
Kunde 2 Kunde n…
…Virtual Interfaces
Firewall
Kunde 1Security Groups
Kunde 2Security Groups
Kunde nSecurity Groups
AMI
Amazon Machine Image
Instanz
Laufende oder gestoppte Instanz
VPC
EC2
Availability Zone 1 Availability Zone 2
EBS EBS EBS
VPC
EC2
EBS EBS EBS
Region
Term
inologie
S3
EBS Snapshots S3 Buckets
Instanz Einheit der Skalierung
Einheit der Verfügbarkeit
Einheit der Kontrolle
Ihr Stack Instanz Einheit der Skalierung
Einheit der Verfügbarkeit
Einheit der Kontrolle
Instanz
Instanz
Instanz
Instanz
Scal
e O
utEinheit der Skalierung
Einheit der Verfügbarkeit
Einheit der Kontrolle
Instanz
Instanz
Instanz
Instanz
Einheit der Skalierung
Einheit der Verfügbarkeit
Einheit der Kontrolle
Instanz
Instanz
Instanz
Instanz
Einheit der Skalierung
Einheit der Verfügbarkeit
Einheit der Kontrolle
Instanz
Instanz
Instanz
Einheit der Skalierung
Einheit der Verfügbarkeit
Einheit der Kontrolle
Instanz
Instanz
Instanz
Instanz
Einheit der Skalierung
Einheit der Verfügbarkeit
Einheit der Kontrolle
InstanztypenDie richtige Einheit für Ihre Last
Hauptspeicher in Gibibyte (GiB)
CPU gemessen in virtuellen Cores, und EC2 Compute Units
Lokale Storage ist temporär
I/O – sowohl für Netzwerk als auch für Disk Dedizierter Durchsatz zwischen EC2 und
EBS – 500 Mbps bis 1000 Mbps
Anatomie einer Instanz
256
128
64
32
16
8
4
2
1
1 2 4 8 16 32 64 128 256
High I/O 4XL 60.5 GB35 EC2 Compute Units16 virtual cores2*1024 GB SSD-based local Instanz storage
EC2 Compute Units
Mem
ory
(GB)
Small 1.7 GB, 1 EC2 Compute Unit1 virtual core
Micro 613 MB Up to 2 ECUs (for short bursts)
Large 7.5 GB4 EC2 Compute Units 2 virtual cores
Hi-Mem XL 17.1 GB6.5 EC2 Compute Units 2 virtual cores
Hi-Mem 2XL 34.2 GB13 EC2 Compute Units4 virtual cores
Hi-Mem 4XL 68.4 GB26 EC2 Compute Units 8 virtual cores
High-CPU Med 1.7 GB 5 EC2 Compute Units 2 virtual cores
High-CPU XL 7 GB 20 EC2 Compute Units8 virtual cores
Medium 3.7 GB, 2 EC2 Compute Units1 virtual core
M3 XL 15 GB 13 EC2 Compute Units 4 virtual coresEBS storage only
M3 2XL 30 GB 26 EC2 Compute Units 8 virtual coresEBS storage only
Extra Large 15 GB 8 EC2 Compute Units4 virtual cores
10 GB Inter-Instanz
Network
Cluster GPU 4XL 22 GB 33.5 EC2 Compute Units, 2 x NVIDIA Tesla “Fermi” M2050 GPUs
Cluster Compute 4XL 23 GB 33.5 EC2 Compute Units
Cluster Compute 8XL 60.5 GB 88 EC2 Compute Units
High Storage 8XL 117 GB35 EC2 Compute Units, 24 * 2 TB ephemeral drives10 GB Ethernet
Hi-Mem Cluster Compute 8XL 244 GB 88 EC2 Compute Units16 virtual cores240 GB SSD
StandardHigh-CPU
High-MemoryMicro
Cluster ComputeCluster GPU
High I/OHigh Storage
High Cluster Memory
Die meisten Anwendungen, Low-cost, App Server / Web
ServerDatenbanken, Datenbanken
Datenbanken…
Compute + Netzwerk Durchsatz
Scale-Out Compute, Batch Processing
Tests, niedriger Durchsatz, Websites
Parallel Processing
OLAP, Hadoop, File Systems
NoSQL, Beste Random IOPS
In-memory Apps und DBs. Beste $/RAM
EC2 Instanz-Familien
• Was ist wichtiger: $/ECU oder $/Ram?• Ist die Anwendung CPU-, Memory- oder Netzwerk-lastig?• Brauchen Sie Low Latency IOPS? • Brauchen Sie viel Storage und hohen Durchsatz?
• Überblick: http://www.ec2instances.info/
Kriterien für Instanztypauswahl
Elastic Block StoreInstance Storage kontra
Lokale „auf dem Host“ Disk Volumes
Daten-Persistenz abhängig von Instanz-Zustand
Über Netzwerk angebundene, optimierte Block Storage
Daten-Persistenz unabhängig von Instanz-Zustand
Storage
Instance StorageAuch „Ephemeral Storage“
Lokale „auf dem Host“ Disk Volumes
Daten-Persistenz abhängig von Instanz-Zustand
Wenn eine Instanz rebootet (absichtlich oder unabsichtlich), bleiben Instance Store Daten erhalten
Daten auf Instance Store gehen verloren unter den folgenden Umständen:• Fehler auf einer zugrunde liegenden Disk• Stoppen einer Amazon EBS-backed Instanz
• Instance Store Instanzen können nicht gestoppt werden
• Terminieren der Instanz
Instance Storage
Instance StorageAuch „Ephemeral Storage“
Lokale „auf dem Host“ Disk Volumes
Daten-Persistenz abhängig von Instanz-Zustand
• Alle Instanztypen (außer m3 und micro) haben Instance Storage
• Muss beim Anlegen der Instanz hinzugefügt werden
• Größe und maximale Anzahl abhängig von Instanztyp
• High I/O Instanzen haben 2 SSD Volumes• High Storage Instanzen haben 24 HDDs (je 2
TB)
Instance Storage
Elastic Block StoreÜber Netzwerk angebundene,
optimierte Block Storage
Daten-Persistenz unabhängig von Instanz-Zustand
EBSEC2
Workspace
Hypervisor
S3
EBS Snapshot
Netzwerk
Null bis mehrere temporäre Platten(Instanz Storage)
Eine oder mehrere EBS (persistente)
Platten
EBS Snapshots (Backup Images)
Elastic Block Store (EBS)
• 1 GB bis 1 TB Größe• Automatisch innerhalb einer Availability Zone repliziert
– Daher RAID für Verfügbarkeit normalerweise unnötig• Standard-Durchsatz: ca. 100 IOPS• Provisioned IOPS: Bis zu 2000 IOPS• RAID 0 (Striping) durch Betriebssystem für mehr Größe
und/oder Performance• Kein automatisches Backup
– Regelmäßig Snapshots erstellen
Elastic Block Store (EBS)
AMIs
Amazon maintained Community maintained Ihre AMIs
Fertige Linux und Windows Images
Durch Amazon in jeder Region aktuell gehalten
Publiziert durch andere AWS Benutzer
Erstellt und verwaltet durch andere Benutzer
oder Marketplace Partner
AMIs die Sie aus EC2 Instanzen erstellt habenKönnen privat bleiben
oder für andere freigegeben werden
Compute Storage
AWS Global Infrastructure
Database
App Services
Deployment & Administration
Networking
Auto ScalingAutomatische Anpassung der Anzahl der EC2-Instanzen nach
aktuellem Bedarf
Trigger auto-scaling policy
Feature Details
Kontrolle Minimale und maximale Instanz Pool Größe, wann erfolgt Scale Up und Cool Down
Integriert mit CloudWatch
Verwendung von CloudWatch Metriken für die Skalierung
Instanztypen Für On Demand und Spot Instanzen. Kompatibel mit VPC
as-create-auto-scaling-group MyGroup --launch-configuration MyConfig--availability-zones eu-west-1a--min-size 4--max-size 200
Auto Scaling
ManuellSenden eines API Aufrufs oder
Kommandozeilenaufruf zum Erstellen oder Terminieren von Instanzen (+/-)
Nach ZeitplanSkalierung (+/-) basiert auf Datum und
Zeit
Nach PolicySkalierung basiert auf Bedingungen,
basiert auf benutzerdefinierten Bedingungen
Auto-RebalanceInstanzen werden erstellt und
Terminiert um Ausbalancierung zwischen verschiedenen AZs zu erhalten
Auto Scaling Typen
Compute Storage
AWS Global Infrastructure
Database
App Services
Deployment & Administration
Networking
Elastic Load BalancingFür hoch skalierbare Anwendungen
Lastverteilung über EC2 Instanzen in mehreren
Availability Zones
Feature Details
Auto Scaling Automatische Skalierung entsprechend Anfragevolumen
Verfügbar Load Balancing über mehrere Availability Zones
Health Checks Prüft automatisch Gesundheit der Instanzen und fügt sie hinzu oder entfernt sie
Session Stickiness Routet Anfragen an dieselbe Instanz
Secure Sockets Layer Unterstützt SSL Offloading von Web und Application-Server mit flexiblem Krypto-Support
Monitoring Publiziert Metriken an CloudWatch
Compute
Unix/Linux Instanzen starten bei 0,02 USD / Stunde
„Pay as you go“ für Rechenleistung
Niedrige Kosten, flexibel
Keine Verpflichtung, keine initialen Kosten, Bezahlung nur für Nutzung
Anwendungsfälle
Anwendungen mit kurzfristiger, unbekannter oder unvorhersehbarer Last
Anwendungs-Entwicklung und Test
On Demand Instanzen
EC2 Preisoptionen
Unix/Linux Instanzen starten bei 0,02 USD / Stunde
„Pay as you go“ für Rechenleistung
Niedrige Kosten, flexibel
Keine Verpflichtung, keine initialen Kosten, Bezahlung nur für Nutzung
Anwendungsfälle
Anwendungen mit kurzfristiger, unbekannter oder unvorhersehbarer Last
Anwendungs-Entwicklung und Test
On Demand Instanzen
1 oder 3 Jahre Bindung
Initiale Zahlung verringert Kosten pro Stunde deutlich
Niedrige Kosten / Vorhersehbarkeit
Reservierung: Kapazität ist verfügbar wenn sie gebraucht wird
Anwendungsfälle
Dauerhaft genutzte Anwendungen
Vorhersehbare Last
Reservierte Kapazität erforderlich, z.B. Disaster Recovery
Reserved Instanzen
EC2 Preisoptionen
Unix/Linux Instanzen starten bei 0,02 USD / Stunde
„Pay as you go“ für Rechenleistung
Niedrige Kosten, flexibel
Keine Verpflichtung, keine initialen Kosten, Bezahlung nur für Nutzung
Anwendungsfälle
Anwendungen mit kurzfristiger, unbekannter oder unvorhersehbarer Last
Anwendungs-Entwicklung und Test
On Demand Instanzen
1 oder 3 Jahre Bindung
Initiale Zahlung verringert Kosten pro Stunde deutlich
Niedrige Kosten / Vorhersehbarkeit
Reservierung: Kapazität ist verfügbar wenn sie gebraucht wird
Anwendungsfälle
Dauerhaft genutzte Anwendungen
Vorhersehbare Last
Reservierte Kapazität erforderlich, z.B. Disaster Recovery
Reserved Instanzen
EC2 Preisoptionen
> 80% Nutzungszeit Bis 58% günstiger
Anwendungsfälle: Datenbanken, Großes HPC, Dauerbetrieb, Grundlast
Heavy Utilization RI
41-79% NutzungszeitBis 49% günstiger
Anwendungsfälle: Webanwendungen, Viele umfangreiche Rechenläufe, Anwendungen die
meistens laufen
Medium Utilization RI
15-40% NutzungszeitBis 34% günstiger
Anwendungsfälle: Disaster Recovery, Wöchentliches / Monatliches Reporting, Elastic
Map Reduce
Light Utilization RI
Unix/Linux Instanzen starten bei 0,02 USD / Stunde
„Pay as you go“ für Rechenleistung
Niedrige Kosten, flexibel
Keine Verpflichtung, keine initialen Kosten, Bezahlung nur für Nutzung
Anwendungsfälle
Anwendungen mit kurzfristiger, unbekannter oder unvorhersehbarer Last
Anwendungs-Entwicklung und Test
On Demand Instanzen
1 oder 3 Jahre Bindung
Initiale Zahlung verringert Kosten pro Stunde deutlich
Niedrige Kosten / Vorhersehbarkeit
Reservierung: Kapazität ist verfügbar wenn sie gebraucht wird
Anwendungsfälle
Dauerhaft genutzte Anwendungen
Vorhersehbare Last
Reservierte Kapazität erforderlich, z.B. Disaster Recovery
Reserved Instanzen
Angebote für ungenutzte EC2 Kapazität
Spot Preis basiert auf Angebot und Nachfrage, wird automatisch bestimmt
Sehr kostengünstig, große, zeit-unkritische Lasten
Instanzen werden bei Steigen des Spot-Preises wieder terminiert
Anwendungsfälle
Anwendungen mit flexiblen Start- und Endzeiten
Preissensitive Anwendungen
Zeit-unkritische Batchläufe
Spot Instanzen
EC2 Preisoptionen
0
1000
2000
3000
4000
5000
6000
7000
Reserved Instances
On Demand
Spot
Nutzen Sie alle Modelle
Erstellen einer InstanzKommandos, Keypairs & Security Groups
Konso
le
RegionInstanzgröße
AMIKeypair
Security Group
Public Key
Von Amazon in die EC2 Instanz eingebettet
Private Key
Heruntergeladen und bei Ihnen gespeichert
EC2Instanz
Kommunikation gesichert mit Private Key
Keypair
X.509 ZertifikatKeypairs Security Credentials
Authentifizierung für Zugriff auf eine Instanz
Authentifizierung gegen einige APIs
Zugriffsschlüssel-ID und geheimer Zugriffsschlüssel für
Authentifizierung gegen das API
Keypairs & Secrets
Security Group
Instanz
Port 80(HTTP)
Port 22(SSH)
NameBeschreibungProtokollPort-BereichIP Adresse, Bereich oder andere Security Group
Security Groups
Power
shel
l
PS C:> New-EC2Instances -ImageId ami-269dbb63 -KeyName mykey -SecurityGroupId sg-
9cf9e5d9 -InstanceType t1.micro
Instanzen über API
CLI T
ools
ec2-run-instances ami-54cf5c3d--Instanz-count 2--group webservers--key mykey--Instanz-type m1.small
$>
Instanzen über API
Pytho
n Bot
o
>>> import boto.ec2>>> conn = boto.ec2.connect_to_region("us-east-1")>>> conn.run_instances( 'ami-54cf5c3d', key_name='mykey', instance_type='m1.small', security_groups=['webservers'])
Instanzen über API
Tipp IAM Rollen und EC2 Tools
1. Start einer EC2 Linux Instanz
2. Zuweisung einer IAM Rolle beim Start:
3. Installiert alle benötigten Tools und verwaltet API Access Credentials
4. Sofort nutzbare Kommandozeilentools in ein paar Minuten – nur per SSH anmelden und nutzen
5. Instanz terminieren/stoppen nach der Nutzung
{ "Statement": [ { "Effect": "Allow", "NotAction": "iam:*", "Resource": "*" } ]}
Instanzen brauche keine Keypairs
Aber wie konfiguriere ich sie wenn ich mich nicht einloggen kann?
AMI ErstellenDynamische
KonfigurationStarten einer Instanz
Konfigurieren der Instanz
Erstellen eines AMI aus der Instanz
Neue Instanzen aus dem AMI
Erstellen einer Instanz
Nutzung des Metadata Service und Cloud-Init für
Aktionen in der Instanz beim Start
kontra
Bootstrapping
#!/bin/shyum -y install httpd php mysql php-mysqlchkconfig httpd on/etc/init.d/httpd start
Shell Skript in User-Data werden beim Start ausgeführt:
Tipp
DEMOauch auf http://www.youtube.com/
AWSAktuell
Do Don’t
Verwenden Sie IAM Rollen
Konfigurieren Sie wenn möglich vollautomatisch – ohne Keypair
Balance zwischen AMI und dynamischem Bootstrapping
API Zugriffsschlüssel im Code speichern (und dann auf GIT
publizieren) oder in AMIs integrieren (und die dann
freigeben)
Einige does und don’ts
• http://aws.amazon.com/de • Beginnen Sie mit dem Free Tier:
http://aws.amazon.com/de/free/• 25 US$ Startguthaben für Neukunden:
http://aws.amazon.com/de/campaigns/account/• Twitter: @AWS_Aktuell• Facebook: http://www.facebook.com/awsaktuell • Webinare: http://aws.amazon.com/de/about-aws/events/• Slides: http://de.slideshare.net/AWSAktuell/ • Kommen Sie zum AWS Summit am 2. Mai in Berlin
https://aws.amazon.com/de/aws-summit-2013/berlin/
Ressourcen