cloudstack-ec2stack

apache/cloudstack-ec2stack Docker Image

自动构建

Apache Cloudstack EC2stack镜像提供与Amazon EC2兼容的API接口,用于通过熟悉的EC2 API管理Apache Cloudstack云基础设施,简化云资源操作与集成。

下载次数: 0状态:自动构建维护者:Apache 软件基金会镜像仓库类型:镜像最近更新:

Apache CloudStack EC2stack 镜像文档

镜像概述和主要用途

Apache CloudStack EC2stack 是一个为 Apache CloudStack 提供 EC2 兼容性接口的工具。它能够接收 Amazon EC2 API 请求,将这些请求映射到相应的 CloudStack API 调用,并按要求解析响应。这使得为 Amazon EC2 API 创建的工具可以用于 Apache CloudStack。

核心功能和特性

  • 将 Amazon EC2 API 请求转换为 CloudStack API 调用
  • 解析 CloudStack 响应以适应 EC2 API 格式
  • 支持 AWS Signature Version 2 签名验证
  • 提供 REST API 接口,默认监听 5000 端口
  • 与 AWS CLI 工具兼容(需配置使用 v2 签名版本)

使用场景和适用范围

  • 需要使用 AWS CLI 或其他 EC2 工具管理 CloudStack 资源的环境
  • 希望在 CloudStack 平台上使用基于 EC2 API 的自动化脚本或工具
  • 迁移自 AWS EC2 并希望保持工具链兼容性的场景
  • 开发需要同时支持 EC2 和 CloudStack 的多云应用

详细的使用方法和配置说明

前提条件

  • Docker 环境
  • CloudStack 环境的 API 访问密钥(Access Key 和 Secret Key)
  • CloudStack 服务端点信息

镜像获取

bash
docker pull docker.xuanyuan.run/cloudstack/cloudstack-ec2stack

配置步骤

  1. 运行交互式容器进行配置
bash
docker run -ti docker.xuanyuan.run/cloudstack/cloudstack-ec2stack ec2stack-configure

注意:配置过程中,请将绑定地址设置为 0.0.0.0 以允许容器外部访问

  1. 提交配置后的容器为新镜像
bash
# 首先获取容器ID
docker ps -a
# 提交为新镜像
docker commit <container_id> ec2stack:yourcloud

运行容器

bash
docker run -d -p 5000:5000 docker.xuanyuan.run/ec2stack:yourcloud ec2stack

用户注册

bash
curl -d AWSSecretKey=yoursecretkey -d AWSAccessKeyId=yourapikey -d Action=RegisterSecretKey http://localhost:5000

成功注册后会返回 XML 响应,包含 "Successfully Registered" 消息。

AWS CLI 配置

  1. 安装 AWS CLI(Ubuntu 系统)
bash
sudo apt-get install python-pip
sudo pip install awscli
  1. 配置 AWS CLI
bash
aws configure

输入 CloudStack API 密钥、区域名称,并将签名版本设置为 v2:

bash
aws configure set default.ec2.signature_version v2
  1. 使用 AWS CLI 访问 CloudStack
bash
aws ec2 describe-images --endpoint=http://localhost:5000

配置参数说明

重要配置注意事项

EC2stack 当前版本仅支持 AWS Signature Version 2,因此使用 AWS CLI 时必须显式配置使用 Version 2:

  • 对于默认配置文件:

    bash
    aws configure set default.ec2.signature_version v2
    
  • 对于命名配置文件:

    bash
    aws configure set profile.<your_profile_name>.ec2.signature_version v2
    

这些命令会更新 ~/.aws/config 文件中的相应设置。

Docker Compose 部署示例

创建 docker-compose.yml 文件:

yaml
version: '3'
services:
  ec2stack:
    build:
      context: .
      dockerfile: Dockerfile.ec2stack
    ports:
      - "5000:5000"
    restart: always
    environment:
      - CLOUDSTACK_ENDPOINT=https://your-cloudstack-api-endpoint
      - CLOUDSTACK_ZONE=your-zone-name
    command: ec2stack

验证部署

部署完成后,可以使用以下命令验证服务是否正常运行:

bash
# 检查服务是否响应
curl http://localhost:5000

# 验证基本功能
aws ec2 describe-instances --endpoint=http://localhost:5000

参考文档

  • http://cloudstack.apache.org
  • https://github.com/apache/cloudstack-ec2stack/USER.md
  • https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 cloudstack-ec2stack 镜像标签

docker pull docker.xuanyuan.run/apache/cloudstack-ec2stack:<标签>

DockerHub 原生拉取命令

docker pull apache/cloudstack-ec2stack:<标签>
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载在线技术支持专业版保障服务可用付费会员免广告