Использование AWS Parameter Store для хранения credentials, ключей и другой sensitive данных, которые нежелательно хранить в открытом виде в репозитарии или в образе. В ECS-кластере на основе EC2-инстанса запускаем Task CouchDB-prometheus-exporter, в котором происходит подключение к CouchDB-серверу для снятия статистики и предоставления метрик для мониторинг сервера(Prometheus) В Task definition будем использовать переменные, значения которых будут […]
Записи с меткой ‘aws’
Использование AWS Parameter Store для безопасного хранения credentials для ECS-tasks
Jenkins: Настройка агента на основе Amazon EC2-инстанса
Ранее рассматривалась настройка Jenkins агентов(slave) на основе отдельного Linux-сервера и Docker контейнера В данной статье рассмотрим настройку Jenkins-агента(slave) на основе динамического создания(и удаления) Amazon EC2-инстанса В AWS-консоли В IAM-вкладке 1.Создать группу jenkins,присодинить к этой группе роль AmazonEC2FullAccess 2.Создать пользователя jenkins(тип c Access/Secret key), включить его в группу Jenkins,сохранить Access/Secret ключи 3.В EC2-вкладке Создать пару SSH-ключей […]
Использование AWS CLI для работы с S3
1.Создание S3-бакета
1 |
# aws s3 mb s3://mydemobuckets11 |
1 |
make_bucket: mydemobuckets11 |
2.Просмотр списка бакетов
1 |
# aws s3 ls |
1 2 |
2017-12-22 19:37:56 mydemobucket11 2017-12-22 19:38:02 mydemobucket12 |
3.Просмотр списка всех объектов(файлов) и каталогов(префиксов) в бакете
1 |
# aws s3 ls s3://mydemobucket11 |
1 2 3 |
PRE folder1/ PRE folder2/ 2017-12-22 19:43:38 153 filename.json |
Просмотр списка всех объектов(файлов) и каталогов(префиксов) в конкретном каталоге(префиксе) бакета
1 |
# aws s3 ls s3://mydemobucket11/folder1/ |
1 2 3 |
2017-12-22 19:40:39 0 2017-12-22 19:45:00 6 file1.txt 2017-12-22 19:45:26 6 file2.txt |
Рекурсивный просмотр содержания всего бакета
1 |
# aws s3 ls s3://mydemobucket11 --recursive |
1 2 3 4 5 |
2017-12-22 19:43:38 153 filename.json 2017-12-22 19:40:39 0 folder1/ 2017-12-22 19:45:00 6 folder1/file1.txt 2017-12-22 19:45:26 6 folder1/file2.txt 2017-12-22 19:40:45 0 folder2/ |
Просмотр значения размера, занимаемого бакетом
1 |
# aws s3 ls s3://mydemobucket11 --recursive --human-readable --summarize |
1 2 3 4 5 6 7 8 |
2017-12-22 19:43:38 153 Bytes filename.json 2017-12-22 19:40:39 0 Bytes folder1/ 2017-12-22 19:45:00 6 Bytes folder1/file1.txt 2017-12-22 19:45:26 6 Bytes folder1/file2.txt 2017-12-22 19:40:45 0 Bytes folder2/ Total Objects: 5 Total Size: 165 Bytes |
4.Работа с объектами(файлами) в S3 Команды aws […]
Использование AWS CLI для работы с EC2
1.Работа с SSH-ключами Создание пары SSH-ключей
1 |
# aws ec2 create-key-pair --key-name my_demo_aws_ssh_key --query 'KeyMaterial' --output text > ~/.ssh/demo_aws_ssh_key.pem |
Установка корректных прав на приватный ключ
1 |
# chmod 400 ~/.ssh/demo_aws_ssh_key.pem |
Просмотр доступных ключей
1 |
# aws ec2 describe-key-pairs |
1 2 3 4 5 6 7 8 |
{ "KeyPairs": [ { "KeyName": "my_demo_aws_ssh_key", "KeyFingerprint": "b7:40:79:65:96:3f:0a:b7:6e:47:13:93:c0:50:bd:fa:4e:d1:76:27" } ] } |
Удаление ключа
1 |
# aws ec2 delete-key-pair --key-name my_demo_aws_ssh_key |
http://docs.aws.amazon.com/cli/latest/userguide/cli-ec2-keypairs.html 2.Работа с группами безопасностями Создание группы безопасности
1 |
# aws ec2 create-security-group --group-name my-demo-sg --description "My demo security group" --vpc-id vpc-f0594f97 |
1 2 3 |
{ "GroupId": "sg-dcfaada7" } |
Просмотр информации о группе безопасности
1 |
# aws ec2 describe-security-groups --group-ids sg-dcfaada7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
{ "SecurityGroups": [ { "IpPermissionsEgress": [ { "IpProtocol": "-1", "PrefixListIds": [], "IpRanges": [ { "CidrIp": "0.0.0.0/0" } ], "UserIdGroupPairs": [], "Ipv6Ranges": [] } ], "Description": "My demo security group", "IpPermissions": [], "GroupName": "my-demo-sg", "VpcId": "vpc-f0594f97", "OwnerId": "211718304900", "GroupId": "sg-dcfaada7" } ] } |
Добавление разрешающего правила для входящего TCP-трафика по SSH c IP-адреса 159.224.XXX.YYY (если необходимо разрешить подключение […]
Использование AWS CLI для работы с AMI
Просмотр доступных AMI-образов
1 |
# aws ec2 describe-images --owner self |
1 2 3 |
{ "Images": [] } |
Просмотр существующих инстансов
1 |
# aws ec2 describe-instances | grep -i instanceid |
1 2 |
"InstanceId": "i-0e34c631ab5be3def", "InstanceId": "i-06a91a1f7ee7c2f63", |
Создание образа с инстанса с идентификатором i-0e34c631ab5be3def
1 |
# aws ec2 create-image --instance-id i-0e34c631ab5be3def --name "My demo image" --no-reboot |
1 2 3 |
{ "ImageId": "ami-96de5bef" } |
По умолчанию EC2,с которого создается образ будет выключен и перезагружен перед созданием образа При использовании опции —no-reboot EC2-интанс, с которого создается образ, не выключается, но при этом не гарантируется целостность файловой системы в созданном AMI-образе Просмотр […]
Использование AWS CLI для создания VPC-инфраструктуры(VPC,subnets,Internet Gateway,Nat Gateway, Route tables)
Создание инфраструктуры в пользовательской(недефолтной) VPC , в которой будут две подсети. Публичная – для возможности подключения снаружи к серверам в этой сети(например, web-сервера) и выхода этой публичной сети в Интернет с помощью Internet Gateway, а также связи серверов публичной сети с серверами приватной сети Приватной – для возможности подключения к серверам в этой сети (например, […]
Использование AWS CLI для работы с IAM
AWS CLI — это консольная утилита которая позволяет работать с AWS IAM через командную строку Работа с группами Создание группы
1 |
# aws iam create-group --group-name mygroup |
Просмотр групп
1 |
# aws iam list-groups |
1 2 3 4 5 6 7 8 9 10 11 |
{ "Groups": [ { "Path": "/", "CreateDate": "2017-11-30T15:34:09Z", "GroupId": "AGPAIRLGU6GKO2YDSYAC2", "Arn": "arn:aws:iam::211718304900:group/mygroup", "GroupName": "mygroup" } ] } |
Удаление группы
1 |
# aws iam delete-group --group-name=mygroup |
Переименование группы
1 |
# aws iam update-group --group-name mygroup --new-group-name mygroup2 |
Просмотр политик,которые были назначены группе
1 |
# aws iam list-attached-group-policies --group-name mygroup |
1 2 3 |
{ "AttachedPolicies": [] } |
Присоединение политики к группе Указано в разделе работа с политиками Удаление группы 1.Удалить всех пользователей с […]
Установка и настройка AWS CLI
AWS CLI — интерфейс командной строки AWS для управления сервисами AWS Установка/обновление AWS CLI версии 2.X https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
1 |
# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" |
1 |
# unzip awscliv2.zip |
1 |
# sudo ./aws/install |
1 |
# rm -rf aws awscliv2.zip |
Если нужно обновить версию уже установленную aws
1 |
# sudo ./aws/install --update |
1 |
# ls -al /usr/local/ | grep aws-cli |
1 |
drwxr-xr-x 3 root root 4096 июн 13 15:53 aws-cli |
Если не установлены rx для other, тогда выполняем
1 |
# chmod -R o+rx /usr/local/aws-cli/ |
1 |
# which aws |
1 |
/usr/local/bin/aws |
1 |
# aws --version |
1 |
aws-cli/2.11.27 Python/3.11.3 Linux/5.4.0-150-generic exe/x86_64.ubuntu.20 prompt/off |
Настройка автодоплнения команд aws утилиты версии 2.X
1 |
# which aws_completer |
1 |
/usr/local/bin/aws_completer |
1 |
# ls -al /usr/local/bin/aws_completer |
1 |
lrwxrwxrwx 1 root root 47 июн 13 15:53 /usr/local/bin/aws_completer -> /usr/local/aws-cli/v2/current/bin/aws_completer |
[…]