跳转到主要内容

Amazon Web Services操作界面

项目描述

Aegea 是一个命令行界面(CLI),为亚马逊网络服务(AWS)账户的运维人员提供了一系列基本命令和终端仪表板。Aegea 允许您使用 cloud-init 配置管理包来构建 AMI 和 Docker 镜像,管理配置角色,启动和监控实例和服务,以及管理包括 ELB、RDS 和 AWS Batch 在内的 AWS 资源。Aegea 被设计为与现有的 AWS CLIboto3 功能性相结合使用。Aegea 可以与 MiniWDL 等工具结合使用,以编排大规模 MLOps 和基因组工作流程。

安装

pip install aegea

运行 aws configure 以配置将被 awsaegea 命令使用的 IAM 访问凭证。您可以在 https://console.aws.amazon.com/iam/home#/users 创建新的 IAM 密钥。有关详细信息,请参阅 AWS CLI 文档

Aegea 命令

以下是 Aegea 命令套件的一些亮点。运行 aegea --help 以查看完整命令列表。

命令

主要功能

aegea ls

列出正在运行的 EC2 实例

aegea launch

启动 EC2 实例并指定选项,例如 spot tenancy、AMI、实例类型等。

aegea sshaegea scp

连接到正在运行的实例,使用 AWS Systems Manager 或其他选项传输文件

aegea batch

提交、管理和监控 AWS Batch 作业

aegea ecs

监控 ECS 集群并运行 Fargate 任务

aegea build-ami

使用 cloud-init 配置脚本构建 EC2 AMI

aegea build-docker-image

使用 Dockerfile 或 cloud-init 脚本构建 AWS ECR Docker 镜像

aegea logs

使用S3导出下载AWS CloudWatch日志内容

aegea grep

使用CloudWatch日志洞察查询AWS CloudWatch日志内容

aegea cost

列出由AWS成本探测器生成的AWS成本报告

aegea secrets

列出和管理存储在AWS Secrets Manager中的机密

aegea cloudtrail

查询AWS CloudTrail事件以审计您的AWS账户的安全性

Aegea启动

aegea launch 命令用于启动EC2实例。它集成了对AWS SSM/EC2实例连接、运行时cloud-init配置、自动定位Aegea构建的AMIs或最新的Ubuntu或Amazon Linux AMIs、自动存储配置和其他选项的支持。

Aegea SSH

aegea ssh 命令(及其变体 aegea scp)是一个SSH配置包装器,与AWS Systems ManagerEC2实例连接 集成,以提供SSH连接到您的实例,无需打开任何入站端口(如果您的实例操作系统未配置SSM,请使用 aegea ssh --no-ssm 以打开直接连接)。aegea ssh 通过名称安全解析实例地址并预先获取其公钥,无需首次使用即信任。

Visual Studio Code远程开发集成

Visual Studio Code 提供了一个 远程开发扩展包,允许您的VSCode IDE远程连接到AWS实例。要使用VSCode与aegea ssh,请打开远程SSH插件设置(命令面板 > Remote-SSH: 设置)并在“Remote.SSH: 路径”设置下输入 aegea-ssh 可执行文件的路径(例如,/usr/local/bin/aegea-ssh)。完成此操作后,您可以使用“Remote-SSH: 连接到主机”面板命令通过名称或ID连接到任何由aegea启动的实例(例如,先运行 aegea launch my-test-instance,然后在 连接到主机 对话框中输入 my-test-instance)。请注意,VSCode将使用默认的AWS CLI配置文件进行身份验证。

Aegea批量

AWS Batch API 允许您在Docker容器中运行非交互式命令行工作流程,代表您管理账户中的AWS ECS、Fargate和EC2/Spot。使用 aegea batch 命令系列与AWS Batch交互。关键命令是 aegea batch submit 用于提交作业。

运行 aegea batch submit --command "echo 'hello world'" --memory 4096 --vcpus 2 --watch 以运行一个需要分配4 GB RAM和2个核心给Docker容器的批量作业,并执行指定的命令。

您还可以使用 aegea batch submit --execute FILE。这将读取FILE(任何类型的shell脚本或ELF可执行文件)并在作业的Docker容器中执行它。

您的批量作业的并发性和成本由计算环境中的“最大vCPUs”设置控制。要更改 aegea batch 所使用的默认计算环境的容量或其他设置,请访问 https://console.aws.amazon.com/batch/home?region=us-east-1#/compute-environments,选择“aegea_batch”,然后单击“编辑”。

批量与ECS Fargate

ECS Fargate API 是 AWS 基于容器的虚拟化平台 Firecracker 的接口。ECS Fargate 允许您在完全管理的容器中运行工作负载:您的账户中没有运行的实例;您按容器使用时间计费,容器启动时间仅需10秒,而 EC2 实例需要数分钟。

AWS Batch 可以在您的账户中的 ECS 容器实例(连接到 ECS 的 EC2 实例,Batch 进行管理)或直接在 ECS Fargate 容器中运行您的作业。虽然 Fargate 容器启动速度更快,但它们的 CPU 和内存限制较低,为 4 个 CPU 和 30 GB RAM(与 EC2 上的 96 个 CPU 和 768 GB RAM 相比)。

默认情况下,aegea batch 将创建并使用一个使用 ECS Fargate 的 AWS Batch 计算环境和工作队列,但您可以通过将 --compute-type 选项设置为 aegea batch create-compute-environment 来控制这一点。

Aegea 还支持通过 aegea ecs run 命令直接使用 ECS Fargate,而无需 Batch。大多数 aegea batch 语义都适用于 aegea ecs,它通过“一次性”ECS RunTask API 与 ECS 交互。

配置管理

Aegea 支持从可配置的源数组中摄取配置。每个源都是一个 JSON 或 YAML 文件。遵循第一个源的配置源将使用递归字典合并更新配置。源按以下优先级顺序列出

  • 命令行选项(值比所有其他源优先)

  • 任何列在冒号分隔的变量 AEGEA_CONFIG_FILE 中的源

  • 用户配置源,~/.config/aegea/config.yml

  • 站点范围配置源,/etc/aegea/config.yml

  • base_config.yml 中的配置默认值

数组合并运算符:当加载一系列配置源时,Aegea 使用递归字典合并来合并源。此外,当原始配置值是一个列表时,Aegea 支持数组操作符,这允许您扩展和修改在底层配置中定义的数组。例如,要为使用 aegea launch 启动的所有实例启用完全的 S3 访问,请将以下内容添加到 ~/.config/aegea/config.yml

launch:
  iam_policies:
    $append: AmazonS3FullAccess

要启用 S3 和 SQS 访问,并在 aegea ls 中列出实例的私有 IP 地址和可用区,请添加以下内容

launch:
  iam_policies:
    $extend:
      - AmazonS3FullAccess
      - AmazonSQSFullAccess
ls:
  columns:
    $extend:
      - private_ip_address
      - placement.AvailabilityZone

要获取可以设置的可用配置参数列表,请运行 aegea configure 或查看 https://github.com/kislyuk/aegea/blob/develop/aegea/base_config.yml。有关数组合并运算符的正式描述,请参阅 https://github.com/kislyuk/tweak#array-merge-operators

构建 AMI 和 Docker 镜像

Aegea 包含一个轻量级的配置管理系统,用于基于 cloud-init 构建机器镜像(支持 Docker 镜像和 AMI)。

https://github.com/kislyuk/aegea/workflows/Tests/badge.svg https://img.shields.io/pypi/v/aegea.svg https://img.shields.io/pypi/l/aegea.svg https://codecov.io/gh/kislyuk/aegea/branch/master/graph/badge.svg

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

aegea-4.5.0.tar.gz (159.9 kB 查看哈希值)

上传时间

构建分发

aegea-4.5.0-py3-none-any.whl (181.5 kB 查看哈希值)

上传时间 Python 3

由以下支持