Chmura Amazon AWS

Chmura Amazon AWS

Chmura Amazon – zarządzanie AWS CLI

Chmura Amazon AWS udostępnia wiele sposobów zarządzania wymienionych poniżej:

  • AWS Management Console

Najpopularniejsza i najprostsza konsola graficzna dostępna od razu po zalogowaniu do konta w chmurze Amazon AWS. Początkujący użytkownicy rozpoczynający prace z małą ilością usług korzystają głównie z tej konsoli.

  • Command Line Interface CLI

AWS CLI to interfejs linii komend dla zaawansowanych użytkowników usług AWS. Linia komend AWS CLI używana jest do szybkiego uruchamiania wielu usług, instancji vps EC2, sieci VPC, S3 itp. W konsoli AWS CLI możemy bez problemu zautomatyzować naszą pracę. Przykładowo możemy wykonywać cykliczne snapshoty maszyn wirtualnych VPS w usłudze EC2 i wykorzystać je do szybkiego odzyskania serwera w distater recovery.

  • Software Development Kits SDKs

Chmura Amazon AWS udostępnia możliwość zarządzania swoimi usługami za pomocą API w wielu językach programowania, takich jak np.: Android, Java, PHP, .Net, Python, C++, Node.js, Ruby,

Dzięki temu mamy możliwość napisania wielu scenariuszy uruchomienia usług w Amazon AWS w jednym z ulubionych języków. Przykładowo możemy przygotować program, który po uruchomieniu przygotuje nam środowisku z odpowiednio skonfigurowaną siecią VPC, z uruchomionymi tysiącami maszyn EC2 z obrazów AMI oraz innymi wymaganymi usługami jak chociażby CloudFront, Amazon RDS, Amazon Aurora, Amazon S3, Amazon EBS, Amazon Elastic File System EFS, itp.

W dalszej części tego artykułu, zajmiemy się AWS CLI –  Command Line Interface CLI i na podstawie tej konsoli będziemy podawać kilka przykładów.

Instalacja AWS CLI – w systemie Linux

Pobieramy najnowszą paczkę instalacyjną bezpośrednio ze strony Amazon AWS za pomocą komendy:

# curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
 % Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
100 8507k 100 8507k 0 0 1687k 0 0:00:05 0:00:05 --:--:-- 1990k

Rozpakowujemy archiwum .zip:

# unzip awscli-bundle.zip
Archive:  awscli-bundle.zip
  inflating: awscli-bundle/install
  inflating: awscli-bundle/packages/awscli-1.11.82.tar.gz
  inflating: awscli-bundle/packages/argparse-1.2.1.tar.gz
  inflating: awscli-bundle/packages/six-1.10.0.tar.gz
  inflating: awscli-bundle/packages/ordereddict-1.1.tar.gz
  inflating: awscli-bundle/packages/colorama-0.3.7.zip
  inflating: awscli-bundle/packages/futures-3.1.1.tar.gz
  inflating: awscli-bundle/packages/docutils-0.13.1.tar.gz
  inflating: awscli-bundle/packages/simplejson-3.3.0.tar.gz
  inflating: awscli-bundle/packages/python-dateutil-2.6.0.tar.gz
  inflating: awscli-bundle/packages/PyYAML-3.12.tar.gz
  inflating: awscli-bundle/packages/s3transfer-0.1.10.tar.gz
  inflating: awscli-bundle/packages/virtualenv-15.1.0.tar.gz
  inflating: awscli-bundle/packages/rsa-3.4.2.tar.gz
  inflating: awscli-bundle/packages/jmespath-0.9.2.tar.gz
  inflating: awscli-bundle/packages/pyasn1-0.2.3.tar.gz
  inflating: awscli-bundle/packages/botocore-1.5.45.tar.gz

Uruchamiamy instalacje

# sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
Running cmd: /usr/bin/python virtualenv.py --python /usr/bin/python /usr/local/aws
Running cmd: /usr/local/aws/bin/pip install --no-index --find-links file:///root/awscli-bundle/packages awscli-1.11.82.tar.gz
You can now run: /usr/local/bin/aws --version

Konfiguracja Amazon AWS CLI

Gdy już zainstalujemy konsole, musimy ją odpowiednio skonfigurować podając nasze dane do logowania. Pamiętajcie że nie należy podawać tutaj danych logowania do konta root AWS. W tym celu należało by utworzyć nowe konto z ograniczonym dostępem.

Zakładając że posiadamy już dane dostępowe do konta AWS takie jak Access Key ID i  Secret Access Key możemy przystąpić do konfiguracji AWS CLI

Konfiguracji możemy dokonać poprzez:

  • Wydanie komendy aws configure
# aws configure
AWS Access Key ID [None]:  AK2IAJ73***********
AWS Secret Access Key [None]: p2SGaUEA**************
Default region name [None]: us-east-1
Default output format [None]: json

JSON jest tutaj domyślnym formatem.

  • Modyfikacje pliku ~/.aws/credentials
[profil1]
aws_access_key_id = AE25A****************
aws_secret_access_key = mi2pMz0N*****************
region = us-east-1
[profil2]
aws_access_key_id = A12****************
aws_secret_access_key = mi22z0N*****************
region = us-east-1

Jeśli posiadamy kilka kont z różnymi dostępami w tym pliku możemy stworzyć od razu wiele profili. Następnie aby przełączać się między profilami, wystarczy wykorzystać przełącznik –profile profil1

Utworzenie serwera w chmurze Amazon EC2 na podstawie AMI

W pierwszej kolejności musimy znać identyfikator obrazu AMI. Poniżej podaje przykład zdobycia identyfikatora AMI z AWS Marketplace

#aws ec2 describe-images --owners 'aws-marketplace' --filters 'Name=product-code,Values=aw0evgkw8e5c1q413zgy5pjce' --query 'sort_by(Images, &CreationDate)[-1].[ImageId]' --output 'text' --profile profile1
ami-6d1c2007
Do wykonania tego polecenia potrzebujemy znać kod produktu dla wybranego AMI. W tym przypadku kod produktu odpowiada dystrybucji CenotOS 7.
Uruchomienie 100 takich samych instancji EC2 z poziomu konsoli AWS CLI odbywa się poprzez wykonanie poniższego polecenia:
aws ec2 run-instances --image-id ami-6d1c2007 --count 100 --instance-type c4.xlarge --key-name my_key --security-group-ids sg-4r1423f8 --subnet-id subnet-15tf1243

Administracja serwerami

    Imię i nazwisko*

    Adres email*

    Temat

    Treść wiadomości

    Akceptuje regulamin oraz zgadzam się z polityką prywatności*

    * - pole wymagane