EC2: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 134: Строка 134:
 
ec2-create-tags --region us-west-2 instance_id --tag Name=site_testing_area --tag Creator=employee1
 
ec2-create-tags --region us-west-2 instance_id --tag Name=site_testing_area --tag Creator=employee1
 
</PRE>
 
</PRE>
  +
=====Пример=====
 
  +
Нахожу свой инстанс:
 
<PRE>
 
<PRE>
  +
ec2-describe-instances --region us-west-2
 
  +
....
  +
RESERVATION r-6dd5865e 371025327760 default
  +
INSTANCE i-d71c11e4 ami-2a31bf1a ec2-50-112-212-246.us-west-2.compute.amazonaws.com ip-10-248-15-79.us-west-2.compute.internal running hcluster 0 t1.micro 2012-11-09T12:22:56+0000 us-west-2a aki-fc37bacc monitoring-disabled 50.50.50.50 10.10.10.10 ebs paravirtual xen sg-c6dc4df6 default false
  +
BLOCKDEVICE /dev/sda1 vol-83dbd1a5 2012-11-09T12:22:59.000Z true
  +
....
  +
</PRE>
  +
<PRE>
  +
ec2-create-tags --region us-west-2 i-d71c11e4 --tag Name=TestNode
 
</PRE>
 
</PRE>
   

Версия 15:38, 9 ноября 2012

Amazon EC2

Введение

Для работы нужно РПМки поставить: (yum, epel от амазона.)

# rpm -qa | grep aws
aws-apitools-ec2-1.6.3.0-1.0.amzn1.noarch
aws-scripts-ses-2012.07.09-1.0.amzn1.noarch
aws-apitools-iam-1.5.0-1.2.amzn1.noarch
aws-apitools-elb-1.0.17.0-1.4.amzn1.noarch
aws-cfn-bootstrap-1.3-6.amzn1.noarch
aws-amitools-ec2-1.4.0.7-1.4.amzn1.noarch
aws-apitools-common-1.1.0-1.7.amzn1.noarch
aws-apitools-as-1.0.61.1-1.0.amzn1.noarch
aws-apitools-rds-1.10.002-1.1.amzn1.noarch
aws-apitools-mon-1.0.13.4-1.0.amzn1.noarch

в ~/.bashrc (у меня под рутом)

export EC2_PRIVATE_KEY=$HOME/keys/nocrypt-ec2-key.pem
export EC2_CERT=$HOME/keys/ec2_cert.pem
export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/

ключи ec2-key - см. ниже (в моем случае они УЖЕ были сгенерированы)


Создание X.509 сертификата для аутентификации в Amazon AWS

  • Идем в http://aws.amazon.com/account/
  • Выбираем вкладку «Security Credentials»
  • Проходим аутентификацию (email и пароль)
  • Под заголовком «Access Credentials» выбираем вкладку «X.509 Certificates»
  • Нажимаем кнопку/ссылку «Create a new Certificate»
  • В открывшемся окне загружаем приватный ключ и сертификат. Обратите внимание что Amazon не хранит секретный ключ, поэтому скачать его надо здесь и сейчас.

Создание пары AWS Access ID и AWS Secret key аутентификации в Amazon AWS

  • Идем в http://aws.amazon.com/account/
  • Выбираем вкладку «Security Credentials»
  • Проходим аутентификацию (email и пароль)
  • Под заголовком «Access Credentials» выбираем вкладку «Access Keys»
  • Нажимаем кнопку/ссылку «Create a new Access Key»
  • В открывшемся окне загружаем access key и secret access key. Обратите внимание что Amazon не хранит секретный ключ, поэтому скачать его надо здесь и сейчас.


Внимание! нужно преобразовать ключ - с оригинальным работают не все утилиты!!!!

openssl pkcs8 -topk8 -in ec2-key.pem -nocrypt > nocrypt-ec2-key.pem

ssh keys

После подключения сертефикатов - начинают работать ec2-утилиты Например:

Просмотр ключей

#ec2-describe-keypairs 
KEYPAIR	key001	xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
KEYPAIR	key002	xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
KEYPAIR	key003	xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
KEYPAIR	key004	xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
KEYPAIR	key005	xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
KEYPAIR	key006	xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx

Регион указывать явно! Ключи работают только в пределах региона!

# ec2-describe-keypairs --region us-west-2 
KEYPAIR	key1	xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
KEYPAIR	key2	xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
KEYPAIR	key3	xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx

Создание ключей

cd ~/.ssh
ec2-add-keypair --region us-west-2 new_key > new_key.pem 
chmod 600  new_key.pem 

Работа с инстансами (VM)

Создать instance

- Amazon Linux, пока я не знаю где смотреть полный список возможных образов - указал как на уже существующем инстансе
ec2-run-instances ami-2a31bf1a --instance-type t1.micro --region us-west-2 --key keyName

RESERVATION	r-6dd5865e	371025327760	default
INSTANCE	i-d71c11e4	ami-2a31bf1a			pending	hcluster	0		t1.micro	2012-11-09T12:22:56+0000	us-west-2a	aki-fc37bacc			monitoring-disabled			ebs					paravirtual	xen		sg-c6dc4df6	default	false	

Обратить внимание: keyName это указатель на существующий ключ, и потому никакого расширения. Во многих источника я встречал keyName.pam - это ошибка

Параметры:

  • ami-2a31bf1a – Идентификатор AMI образа. Определяет какая операционная система будет установлена на EC2 instance.
  • --instance-type t1.micro – Какой величины будет instance. см. Варианты EC2 хостов
  • --region eu-west-1 – регион где будет создан instance.
  • --key test123.pem – Ключ который будет использоваться для доступа по ssh к instance.

список возможных ami id: http://aws.amazon.com/amazon-linux-ami/

Список instances в регионе

ec2-describe-instances --region us-east-1

Удалить instance

ec2-terminate-instances instance_id

instance_id можно посмотреть с помощью команды ec2-describe-instances.

Перезагрузка ec2 instance

ec2-reboot-instances

для ec2 instance идентична мягкой перезагрузке для обычного компьютера. Если попытка мягкой перезагрузки потерпит крах, возможна жесткая перезагрузка. Для instances с EBS 100% безопасно. Полезно если instance завис по каким то причинам.

ec2-reboot-instances --region eu-west-1 instance_id

instance_id можно посмотреть с помощью команды ec2-describe-instances.

Создание/просмотр/удаление tags

С помощью tags можно помечать instance, во избежании обретения кучи безымянных instances загадочного назначения.

Просмотр tags в регионе

ec2-describe-tags --region us-west-2

Создание tags

ec2-create-tags --region eu-west-1 instance_id --tag key[=value] [--tag key[=value]]

instance_id можно посмотреть с помощью команды ec2-describe-instances. удобно создавать tags вроде:

ec2-create-tags --region us-west-2 instance_id --tag Name=site_testing_area --tag Creator=employee1
Пример

Нахожу свой инстанс:

ec2-describe-instances --region us-west-2 
....
RESERVATION	r-6dd5865e	371025327760	default
INSTANCE	i-d71c11e4	ami-2a31bf1a	ec2-50-112-212-246.us-west-2.compute.amazonaws.com	ip-10-248-15-79.us-west-2.compute.internal	running	hcluster	0		t1.micro	2012-11-09T12:22:56+0000	us-west-2a	aki-fc37bacc			monitoring-disabled	50.50.50.50	10.10.10.10			ebs					paravirtual	xen		sg-c6dc4df6	default	false	
BLOCKDEVICE	/dev/sda1	vol-83dbd1a5	2012-11-09T12:22:59.000Z	true		
....
ec2-create-tags --region us-west-2 i-d71c11e4 --tag Name=TestNode

Удаление tags

ec2-delete-tags --region eu-west-1 instance_id --tag clumsytag

Load Balancer

Для управление лоад балансерами используются elb- утилиты

Просмотр балансеров

elb-describe-lbs 
LOAD_BALANCER  lb-test1    test1-1812564742.us-east-1.elb.amazonaws.com          2012-07-06T08:39:01.940Z  internet-facing
LOAD_BALANCER  lb-dev1     dev1-1835033989.us-east-1.elb.amazonaws.com           2012-07-09T12:52:11.290Z  internet-facing
elb-describe-lbs   --region us-west-2 
LOAD_BALANCER  lb-west  lb-west-1263536513.us-west-2.elb.amazonaws.com  2012-11-06T18:51:54.560Z  internet-facing

Ссылки

масштабирование