OpenStack EC2API服务
ec2-api的Python项目详细描述
OpenStack EC2 API自述文件
支持openstack的ec2 api。 本项目提供一个独立的ec2 api服务,它追求两个目标:
- Implement VPC API
- Create a standalone service for EC2 API support.
安装
运行install.sh
默认情况下,ec2 api服务安装在端口8788上。它可以改变 在install.sh脚本中安装之前。
之后的服务可以作为二进制文件启动:
/usr/local/bin/ec2-api /usr/local/bin/ec2-api-metadata /usr/local/bin/ec2-api-s3
或者设置为Linux服务。
在devstack中安装:
为了安装带有devstack的ec2 api,应该将以下内容添加到 local.conf或localrc以下行:
enable_plugin ec2-api https://git.openstack.org/openstack/ec2-api
为ec2 api元数据服务配置openstack:
- 对于nova网络
添加:
[DEFAULT] metadata_port = 8789 [neutron] service_metadata_proxy = True
至/etc/nova.conf
然后重新启动nova元数据(可以作为nova api服务的一部分运行)并 Nova网络服务。
- 对于中子
添加:
[DEFAULT] nova_metadata_port = 8789
到/etc/neutron/metadata\u agent.ini
然后重新启动中子元数据服务。
S3服务器只支持需要S3服务器的EC2操作 (例如createimage)在没有常规对象存储的openstack部署中。 它不能用作对象存储服务器的所有用途的替换。 如果部署有自己的对象存储或使用公共 一个(如AWS S3)。
使用量
从amazon下载aws cli。 在主目录中为aws cli创建配置文件~/.aws/config:
[default] aws_access_key_id = 1b013f18d5ed47ae8ed0fbb8debc036b aws_secret_access_key = 9bbc6f270ffd4dfdbe0e896947f41df3 region = us-east-1
将上面的aws_access_key_id和aws_secret_acces_key更改为值 适合您的云(可以通过“openstack ec2凭据列表”获得) 命令)。
使用新的ec2 api端点url运行aws cli命令(可以从 带有新端口8788的openstack cli)如下:
aws–端点urlhttp://10.0.2.15:8788ec2描述实例
支持的功能和限制
- 概述:
- 不支持dryrun选项。
- 一些例外情况与aws报告的不完全相同。
AWS Component | Command | Functionality group | Limitations |
---|---|---|---|
bold - supported, normal - supported with limitations, italic -not supported | |||
VPC | AcceptVpcPeeringConnection | cross-VPC connectivity | not supported |
EC2, VPC | AllocateAddress | addresses | |
AllocateHosts | dedicated hosts | not supported | |
AssignIpv6Addresses | network interfaces | not supported | |
VPC | AssignPrivateIpAddresses | network interfaces | allowReassignment parameter |
EC2, VPC | AssociateAddress | addresses | |
VPC | AssociateDhcpOptions | DHCP options | |
VPC | AssociateRouteTable | routes | |
AssociateSubnetCidrBlock | subnets | not supported | |
AssociateVpcCidrBlock | VPC | not supported | |
VPC | AttachClassicLinkVpc | cross-VPC connectivity | not supported |
VPC | AttachInternetGateway | internet gateways | |
VPC | AttachNetworkInterface | network interfaces | |
EC2, EBS | AttachVolume | volumes | |
VPC | AttachVpnGateway | VPN | |
EC2, VPC | AuthorizeSecurityGroupEgress | security groups | EC2 classic way to pass cidr, protocol, sourceGroup, ports parameters |
EC2, VPC | AuthorizeSecurityGroupIngress | security groups | EC2 classic way to pass cidr, protocol, sourceGroup, ports parameters |
BundleInstance | tasks,s3 | not supported | |
CancelBundleTask | tasks,s3 | not supported | |
CancelConversionTask | tasks,s3 | not supported | |
CancelExportTask | tasks,s3 | not supported | |
CancelImportTask | tasks,s3 | not supported | |
CancelReservedInstancesListing | market | not supported | |
CancelSpotFleetRequests | market | not supported | |
CancelSpotInstanceRequests | market | not supported | |
ConfirmProductInstance | product codes | not supported | |
EBS | CopyImage | image provisioning | not supported |
EBS | CopySnapshot | snapshots,s3 | not supported |
VPC | CreateCustomerGateway | VPC gateways | BGPdynamicrouting |
VPC | CreateDhcpOptions | DHCP options | |
CreateEgressOnlyInternetGateway | VPC gateways | not supported | |
CreateFlowLogs | infrastructural | not supported | |
EBS | CreateImage | images | blockDeviceMapping parameter |
CreateInstanceExportTask | tasks,s3 | not supported | |
VPC | CreateInternetGateway | VPC gateways | |
EC2 | CreateKeyPair | key pairs | |
CreateNatGateway | NAT gateways | not supported | |
VPC | CreateNetworkAcl | ACL | not supported |
VPC | CreateNetworkAclEntry | ACL | not supported |
VPC | CreateNetworkInterface | network interfaces | |
CreatePlacementGroup | clusters | not supported | |
CreateReservedInstancesListing | market | not supported | |
VPC | CreateRoute | routes | vpcPeeringConnection parameter |
VPC | CreateRouteTable | routes | |
EC2, VPC | CreateSecurityGroup | security groups | |
EBS | CreateSnapshot | snapshots | |
CreateSpotDatafeedSubscription | market | not supported | |
VPC | CreateSubnet | subnets | availabilityZone parameter |
EC2 | CreateTags | tags | |
EBS | CreateVolume | volumes | iops, encrypted, kmsKeyId parameters |
VPC | CreateVpc | VPC | |
VPC | CreateVpcEndpoint | cross-VPC connectivity | not supported |
VPC | CreateVpcPeeringConnection | cross-VPC connectivity | not supported |
VPC | CreateVpnConnection | VPN | BGP dynamic routing |
VPC | CreateVpnConnectionRoute | VPN | |
VPC | CreateVpnGateway | VPN | BGP dynamic routing |
VPC | DeleteCustomerGateway | VPC gateways | |
VPC | DeleteDhcpOptions | DHCP options | |
DeleteEgressOnlyInternetGateway | VPC gateways | not supported | |
DeleteFlowLogs | infrastructural | not supported | |
VPC | DeleteInternetGateway | VPC gateways | |
EC2 | DeleteKeyPair | key pairs | |
DeleteNatGateway | NAT gateways | not supported | |
VPC | DeleteNetworkAcl | ACL | not supported |
VPC | DeleteNetworkAclEntry | ACL | not supported |
VPC | DeleteNetworkInterface | network interfaces | |
EC2 | DeletePlacementGroup | clusters | not supported |
VPC | DeleteRoute | routes | |
VPC | DeleteRouteTable | routes | |
EC2, VPC | DeleteSecurityGroup | security groups | |
EBS | DeleteSnapshot | snapshots | |
DeleteSpotDatafeedSubscription | market | not supported | |
VPC | DeleteSubnet | subnets | |
EC2 | DeleteTags | tags | |
EBS | DeleteVolume | volumes | |
VPC | DeleteVpc | VPC | |
VPC | DeleteVpcEndpoints | cross-VPC connectivity | not supported |
VPC | DeleteVpcPeeringConnection | cross-VPC connectivity | not supported |
VPC | DeleteVpnConnection | VPN | |
VPC | DeleteVpnConnectionRoute | VPN | |
VPC | DeleteVpnGateway | VPN | |
EBS | DeregisterImage | images | |
EC2 | DescribeAccountAttributes | infrastructural | vpc-max-security-groups-per-interface, max-elastic-ips, vpc-max-elastic-ips attributes |
EC2, VPC | DescribeAddresses | addresses | |
EC2 | DescribeAvailabilityZones | availability zones | |
DescribeBundleTasks | tasks,s3 | not supported | |
VPC | DescribeClassicLinkInstances | cross-VPC connectivity | not supported |
DescribeConversionTasks | tasks,s3 | not supported | |
VPC | DescribeCustomerGateways | gateways | |
VPC | DescribeDhcpOptions | DHCP options | |
DescribeEgressOnlyInternetGateways | VPC gateways | not supported | |
DescribeExportTasks | tasks,s3 | not supported | |
DescribeFlowLogs | infrastructural | not supported | |
DescribeHosts | dedicated hosts | not supported | |
DescribeIdentityIdFormat | resource IDs | not supported | |
DescribeIdFormat | resource IDs | not supported | |
EBS | DescribeImageAttribute | images | productCodes, sriovNetSupport attributes |
EBS | DescribeImages | images | |
DescribeImportImageTasks | tasks,s3 | not supported | |
DescribeImportSnapshotTasks | tasks,s3 | not supported | |
EC2 | DescribeInstanceAttribute | instances | same limitations as for ModifyInstanceAttribute |
EC2, EBS, VPC | DescribeInstances | instances | |
DescribeInstanceStatus | monitoring | not supported | |
VPC | DescribeInternetGateways | gateways | |
EC2 | DescribeKeyPairs | key pairs | |
VPC | DescribeMovingAddresses | infrastructural | not supported |
DescribeNatGateways | NAT gateways | not supported | |
VPC | DescribeNetworkAcls | ACL | not supported |
VPC | DescribeNetworkInterfaceAttribute | network interfaces | |
VPC | DescribeNetworkInterfaces | network interfaces | |
EC2 | DescribePlacementGroups | clusters | not supported |
VPC | DescribePrefixLists | cross-VPC connectivity | not supported |
EC2 | DescribeRegions | availability zones | RegionNameparameter |
DescribeReservedInstances | market | not supported | |
DescribeReservedInstancesListings | market | not supported | |
DescribeReservedInstancesModifications | market | not supported | |
DescribeReservedInstancesOfferings | market | not supported | |
VPC | DescribeRouteTables | routes | |
DescribeScheduledInstanceAvailability | scheduled instances | not supported | |
DescribeScheduledInstances | scheduled instances | not supported | |
DescribeSecurityGroupReferences | security groups | not supported | |
EC2, VPC | DescribeSecurityGroups | security groups | cidr, protocol, port, sourceGroup parameters |
EBS | DescribeSnapshotAttribute | snapshots | not supported |
EBS | DescribeSnapshots | snapshots | |
DescribeSpotDatafeedSubscription | market | not supported | |
DescribeSpotFleetInstances | market | not supported | |
DescribeSpotFleetRequestHistory | market | not supported | |
DescribeSpotFleetRequests | market | not supported | |
DescribeSpotInstanceRequests | market | not supported | |
DescribeSpotPriceHistory | market | not supported | |
DescribeStaleSecurityGroups | security groups | not supported | |
VPC | DescribeSubnets | subnets | |
EC2 | DescribeTags | tags | |
EBS | DescribeVolumeAttribute | volumes | not supported |
EBS | DescribeVolumes | volumes | |
DescribeVolumeStatus | monitoring | not supported | |
VPC | DescribeVpcAttribute | VPC | not supported |
VPC | DescribeVpcClassicLink | cross-VPC connectivity | not supported |
DescribeVpcClassicLinkDnsSupport | cross-VPC connectivity | not supported | |
VPC | DescribeVpcEndpoints | cross-VPC connectivity | not supported |
VPC | DescribeVpcEndpointServices | cross-VPC connectivity | not supported |
VPC | DescribeVpcPeeringConnections | cross-VPC connectivity | not supported |
VPC | DescribeVpcs | VPC | |
VPC | DescribeVpnConnections | VPN | |
VPC | DescribeVpnGateways | VPN | |
VPC | DetachClassicLinkVpc | cross-VPC connectivity | not supported |
VPC | DetachInternetGateway | VPC | |
VPC | DetachNetworkInterface | network interfaces | |
EC2, EBS | DetachVolume | volumes | instance_id, device, force parameters |
VPC | DetachVpnGateway | VPN | |
VPC | DisableVgwRoutePropagation | VPN | |
VPC | DisableVpcClassicLink | cross-VPC connectivity | not supported |
DisableVpcClassicLinkDnsSupport | cross-VPC connectivity | not supported | |
EC2, VPC | DisassociateAddress | addresses | |
VPC | DisassociateRouteTableDisassociateSubnetCidrBlock | routes subnets | not supported |
DisassociateVpcCidrBlock | VPC | not supported | |
VPC | EnableVgwRoutePropagation | VPN | |
EBS | EnableVolumeIO | monitoring | not supported |
VPC | EnableVpcClassicLink | cross-VPC connectivity | not supported |
EnableVpcClassicLinkDnsSupport | cross-VPC connectivity | not supported | |
EC2 | GetConsoleOutput | instances | |
GetConsoleScreenshot | instances | not supported | |
EC2 | GetPasswordData | instances | |
ImportImage | tasks,s3 | not supported | |
ImportInstance | tasks,s3 | not supported | |
EC2 | ImportKeyPair | keypairs | |
ImportSnapshot | tasks,s3 | not supported | |
ImportVolume | tasks,s3 | not supported | |
ModifyHosts | dedicated hosts | not supported | |
ModifyIdentityIdFormat | resource IDs | not supported | |
ModifyIdFormat | resource IDs | not supported | |
EBS | ModifyImageAttribute | images | productCodes attribute |
EC2 | ModifyInstanceAttribute | instances | only disableApiTermination, sourceDestCheck,instanceType supported |
ModifyInstancePlacement | dedicated hosts | not supported | |
VPC | ModifyNetworkInterfaceAttribute | network interfaces | |
ModifyReservedInstances | market | not supported | |
EBS | ModifySnapshotAttribute | snapshots | not supported |
ModifySpotFleetRequest | market | not supported | |
VPC | ModifySubnetAttribute | subnets | not supported |
EBS | ModifyVolumeAttribute | volumes | not supported |
VPC | ModifyVpcAttribute | VPC | not supported |
VPC | ModifyVpcEndpoint | cross-VPC connectivity | not supported |
ModifyVpcPeeringConnectionOptions | cross-VPC connectivity | not supported | |
MonitorInstances | monitoring | not supported | |
VPC | MoveAddressToVpc | infrastructural | not supported |
PurchaseReservedInstancesOffering | market | not supported | |
PurchaseScheduledInstances | scheduled instances | not supported | |
EC2 | RebootInstances | instances | |
EBS | RegisterImage | images | virtualizationType, sriovNetSupport parameters |
VPC | RejectVpcPeeringConnection | cross-VPC connectivity | not supported |
EC2, VPC | ReleaseAddress | addresses | |
ReleaseHosts | dedicated hosts | not supported | |
VPC | ReplaceNetworkAclAssociation | ACL | not supported |
VPC | ReplaceNetworkAclEntry | ACL | not supported |
VPC | ReplaceRoute | routes | |
VPC | ReplaceRouteTableAssociation | routes | |
ReportInstanceStatus | monitoring | not supported | |
RequestSpotFleet | market | not supported | |
RequestSpotInstances | market | not supported | |
EBS | ResetImageAttribute | images | |
EC2 | ResetInstanceAttribute | instances | same limitations as for ModifyInstanceAttribute |
VPC | ResetNetworkInterfaceAttribute | network interfaces | |
EBS | ResetSnapshotAttribute | snapshots | not supported |
VPC | RestoreAddressToClassic | infrastructural | not supported |
EC2, VPC | RevokeSecurityGroupEgress | security groups | EC2 classic way to pass cidr, protocol, sourceGroup, ports parameters |
EC2, VPC | RevokeSecurityGroupIngress | security groups | EC2 classic way to pass cidr, protocol, sourceGroup, ports parameters |
EC2, VPC, EBS | RunInstances | instances | placement, block_device_mapping partial support, monitoring, iamInstanceProfile, ebsOptimized, shutdownInitiatedInstanceBehavior parameters |
RunScheduledInstances | scheduled instances | not supported | |
EC2 | StartInstances | instances | |
EC2 | StopInstances | instances | |
EC2 | TerminateInstances | instances | |
UnassignIpv6Addresses | network interfaces | not supported | |
VPC | UnassignPrivateIpAddresses | network interfaces | |
UnmonitorInstances | monitoring | not supported |