aws

14 commands

14 shown

Кто я / какой аккаунт Проверить активный аккаунт, ARN и роль перед выполнением опасных команд aws sts get-caller-identity --query '{acct:Account,arn:Arn}' --output table #aws#security#troubleshooting Принять роль и экспортировать ключи Принять IAM-роль и сразу подставить временные ключи в окружение шелла eval $(aws sts assume-role --role-arn <id> --role-session-name ops --query 'Credentials.[`AWS_ACCESS_KEY_ID=`+AccessKeyId,`AWS_SECRET_ACCESS_KEY=`+SecretAccessKey,`AWS_SESSION_TOKEN=`+SessionToken]' --output text | sed 's/^/export /') #aws#security#secrets EC2 по тегу в виде таблицы Список запущенных prod-инстансов с id, приватным IP и AZ через JMESPath aws ec2 describe-instances --filters Name=tag:Env,Values=prod Name=instance-state-name,Values=running --query 'Reservations[].Instances[].{id:InstanceId,ip:PrivateIpAddress,az:Placement.AvailabilityZone}' --output table #aws#network#troubleshooting S3 sync с удалением и исключениями Зеркалирование в бакет; --delete чистит лишние ключи. note: --size-only игнорирует mtime aws s3 sync ./ s3://<name>/ --delete --exclude '*.tmp' --exclude '.git/*' --size-only #aws#disk#cloud Подписанная ссылка на S3 Сгенерировать временную ссылку на скачивание без публикации объекта aws s3 presign s3://<name>/path/file.tgz --expires-in 3600 #aws#security#cloud Обновить kubeconfig для EKS Добавить/обновить контекст EKS с коротким алиасом вместо длинного ARN aws eks update-kubeconfig --name <cluster> --region <id> --alias <cluster> --kubeconfig ~/.kube/config #aws#k8s#gitops Логин docker в ECR Авторизовать Docker в ECR через stdin, чтобы токен не попал в историю aws ecr get-login-password --region <id> | docker login --username AWS --password-stdin <id>.dkr.ecr.<id>.amazonaws.com #aws#security#ci SSM-сессия без SSH Интерактивная сессия на инстансе без открытого 22 порта и бастиона aws ssm start-session --target i-<id> --region <id> #aws#security#network Хвост логов Lambda/CloudWatch Стриминг лог-группы как tail -f. modern: заменяет неудобный filter-log-events aws logs tail /aws/lambda/<name> --follow --since 10m --format short #aws#observability#debug Симулировать решение IAM Проверить, разрешено ли действие принципалу, до выдачи прав; allow/deny aws iam simulate-principal-policy --policy-source-arn <id> --action-names s3:GetObject --resource-arns <id> --query 'EvaluationResults[].{action:EvalActionName,decision:EvalDecision}' --output table #aws#security#troubleshooting Прочитать значение секрета Получить JSON-секрет и достать одно поле. note: значение видно в аргументах aws secretsmanager get-secret-value --secret-id <name> --query SecretString --output text | jq -r '.password' #aws#secrets#security Дешёвый spot по AZ Отсортировать spot-историю и найти самую дешёвую AZ для типа инстанса aws ec2 describe-spot-price-history --instance-types m6i.large --product-descriptions 'Linux/UNIX' --start-time $(date -u +%Y-%m-%dT%H:%M:%S) --query 'sort_by(SpotPriceHistory,&SpotPrice)[0:5].[AvailabilityZone,SpotPrice]' --output table #aws#performance#cloud Деплой стека CloudFormation Идемпотентный деплой; CAPABILITY_NAMED_IAM нужен при создании IAM-ролей aws cloudformation deploy --template-file stack.yaml --stack-name <name> --capabilities CAPABILITY_NAMED_IAM --parameter-overrides Env=prod --no-fail-on-empty-changeset #aws#gitops#ci Подсчёт через JMESPath Подсчитать неприсоединённые EBS-тома через length(); --profile/--region задают область aws ec2 describe-volumes --filters Name=status,Values=available --query 'length(Volumes[])' --output text --profile staging --region <id> #aws#disk#cloud
no commands match