AWS EC2 and VPC API support in standalone service for OpenStack.
Go to file
OpenStack Proposal Bot 0e1877c8c3 Updated from global requirements
Change-Id: I156be9baa1844fd1b658a4597300453998289a47
2016-12-15 03:46:46 +00:00
devstack use 'strongswan' package for vpnaas 2016-12-07 13:28:58 +03:00
doc/source Fix doc build if git is absent 2016-04-13 09:51:11 +02:00
ec2api fix tests for network_interface 2016-11-26 15:48:29 +03:00
etc/ec2api rework creating admin context - use keystoneauth1 lib 2016-09-16 17:20:55 +03:00
install-guide/source added install-guide documentation 2016-12-09 11:51:17 +00:00
rally-scenarios fix experimental jobs 2016-09-17 12:57:40 +03:00
tools Remove unnecessary file 2016-11-28 13:06:06 +07:00
.gitignore Update .gitignore file for non-static files generated 2015-09-14 19:55:35 -07:00
.gitreview Update .gitreview for new namespace 2015-10-17 22:08:54 +00:00
.testr.conf Add more tests 2015-02-10 16:24:43 +03:00
HACKING.rst Initial EC2-API service commit. 2014-07-18 19:33:55 -07:00
LICENSE Initial EC2-API service commit. 2014-07-18 19:33:55 -07:00
README.rst modified README.rst 2016-12-13 13:10:33 +03:00
babel.cfg Initial EC2-API service commit. 2014-07-18 19:33:55 -07:00
install.sh rework creating admin context - use keystoneauth1 lib 2016-09-16 17:20:55 +03:00
requirements.txt Updated from global requirements 2016-12-15 03:46:46 +00:00
setup.cfg up version in master 2016-10-08 12:56:54 +03:00
setup.py Updated from global requirements 2016-08-15 16:59:10 +00:00
test-requirements.txt added install-guide documentation 2016-12-09 11:51:17 +00:00
tox.ini added install-guide documentation 2016-12-09 11:51:17 +00:00

README.rst

Team and repository tags

image

OpenStack EC2 API README

Support of EC2 API for OpenStack. This project provides a standalone EC2 API service which pursues two goals: 1. Implement VPC API 2. Create a standalone service for EC2 API support.

Installation =====

Run install.sh

The EC2 API service gets installed on port 8788 by default. It can be changed before the installation in install.sh script.

The services afterwards can be started as binaries:

/usr/bin/ec2-api
/usr/bin/ec2-api-metadata
/usr/bin/ec2-api-s3

or set up as Linux services.

Installation in devstack:

In order to install ec2-api with devstack the following should be added to the local.conf or localrc the following line:

enable_plugin ec2-api https://git.openstack.org/openstack/ec2-api

To configure OpenStack for EC2 API metadata service:

for Nova-network

add:

[DEFAULT]
metadata_port = 8789
[neutron]
service_metadata_proxy = True

to /etc/nova.conf

then restart nova-metadata (can be run as part of nova-api service) and nova-network services.

for Neutron

add:

[DEFAULT]
nova_metadata_port = 8789

to /etc/neutron/metadata_agent.ini

then restart neutron-metadata service.

S3 server is intended only to support EC2 operations which require S3 server (e.g. CreateImage) in OpenStack deployments without regular object storage. It must not be used as a substitution for all-purposes object storage server. Do not start it if the deployment has its own object storage or uses a public one (e.g. AWS S3).

Usage

Download aws cli from Amazon. Create configuration file for aws cli in your home directory ~/.aws/config:

[default]
aws_access_key_id = 1b013f18d5ed47ae8ed0fbb8debc036b
aws_secret_access_key = 9bbc6f270ffd4dfdbe0e896947f41df3
region = us-east-1

Change the aws_access_key_id and aws_secret_acces_key above to the values appropriate for your cloud (can be obtained by "keystone ec2-credentials-list" command).

Run aws cli commands using new EC2 API endpoint URL (can be obtained from keystone with the new port 8788) like this:

aws --endpoint-url http://10.0.2.15:8788 ec2 describe-instances

Supported Features and Limitations

General:
  • DryRun option is not supported.
  • Some exceptions are not exactly the same as reported by 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

+-[21~---------+------------------------------------------+-----------------+----------------------------------------+ | 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 | not supported | | | | provisioning | | +----------+------------------------------------------+-----------------+----------------------------------------+ | 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 | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | VPC | CreateVpcPeeringConnection | cross-VPC | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | 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 | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | VPC | DeleteVpcPeeringConnection | cross-VPC | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | 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 | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | | 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, | DescribeInstances | instances | | | EBS, VPC | | | | +----------+------------------------------------------+-----------------+----------------------------------------+ | | 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 | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | EC2 | DescribeRegions | availability | RegionNameparameter | | | | zones | | +----------+------------------------------------------+-----------------+----------------------------------------+ | | DescribeReservedInstances | market | not supported | +----------+------------------------------------------+-----------------+----------------------------------------+ | | DescribeReservedInstancesListings | market | not supported | +----------+------------------------------------------+-----------------+----------------------------------------+ | | DescribeReservedInstancesModifications | market | not supported | +----------+------------------------------------------+-----------------+----------------------------------------+ | | DescribeReservedInstancesOfferings | market | not supported | +----------+------------------------------------------+-----------------+----------------------------------------+ | VPC | DescribeRouteTables | routes | | +----------+------------------------------------------+-----------------+----------------------------------------+ | | DescribeScheduledInstanceAvailability | scheduled | not supported | | | | instances | | +----------+------------------------------------------+-----------------+----------------------------------------+ | | DescribeScheduledInstances | scheduled | not supported | | | | instances | | +----------+------------------------------------------+-----------------+----------------------------------------+ | | 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 | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | | DescribeVpcClassicLinkDnsSupport | cross-VPC | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | VPC | DescribeVpcEndpoints | cross-VPC | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | VPC | DescribeVpcEndpointServices | cross-VPC | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | VPC | DescribeVpcPeeringConnections | cross-VPC | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | VPC | DescribeVpcs | VPC | | +----------+------------------------------------------+-----------------+----------------------------------------+ | VPC | DescribeVpnConnections | VPN | | +----------+------------------------------------------+-----------------+----------------------------------------+ | VPC | DescribeVpnGateways | VPN | | +----------+------------------------------------------+-----------------+----------------------------------------+ | VPC | DetachClassicLinkVpc | cross-VPC | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | 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 | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | | DisableVpcClassicLinkDnsSupport | cross-VPC | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | EC2, VPC | DisassociateAddress | addresses | | +----------+------------------------------------------+-----------------+----------------------------------------+ | VPC | DisassociateRouteTable | routes | | | | DisassociateSubnetCidrBlock | subnets | not supported | +----------+------------------------------------------+-----------------+----------------------------------------+ | | DisassociateVpcCidrBlock | VPC | not supported | +----------+------------------------------------------+-----------------+----------------------------------------+ | VPC | EnableVgwRoutePropagation | VPN | | +----------+------------------------------------------+-----------------+----------------------------------------+ | EBS | EnableVolumeIO | monitoring | not supported | +----------+------------------------------------------+-----------------+----------------------------------------+ | VPC | EnableVpcClassicLink | cross-VPC | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | | EnableVpcClassicLinkDnsSupport | cross-VPC | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | 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 | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | | ModifyVpcPeeringConnectionOptions | cross-VPC | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | | MonitorInstances | monitoring | not supported | +----------+------------------------------------------+-----------------+----------------------------------------+ | VPC | MoveAddressToVpc | infrastructural | not supported | +----------+------------------------------------------+-----------------+----------------------------------------+ | | PurchaseReservedInstancesOffering | market | not supported | +----------+------------------------------------------+-----------------+----------------------------------------+ | | PurchaseScheduledInstances | scheduled | not supported | | | | instances | | +----------+------------------------------------------+-----------------+----------------------------------------+ | EC2 | RebootInstances | instances | | +----------+------------------------------------------+-----------------+----------------------------------------+ | EBS | RegisterImage | images | virtualizationType, sriovNetSupport | | | | | parameters | +----------+------------------------------------------+-----------------+----------------------------------------+ | VPC | RejectVpcPeeringConnection | cross-VPC | not supported | | | | connectivity | | +----------+------------------------------------------+-----------------+----------------------------------------+ | 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, | RunInstances | instances | placement, block_device_mapping partial| | VPC, EBS | | | support, monitoring, | | | | | iamInstanceProfile, ebsOptimized, | | | | | shutdownInitiatedInstanceBehavior | | | | | parameters | +----------+------------------------------------------+-----------------+----------------------------------------+ | | RunScheduledInstances | scheduled | not supported | | | | instances | | +----------+------------------------------------------+-----------------+----------------------------------------+ | EC2 | StartInstances | instances | | +----------+------------------------------------------+-----------------+----------------------------------------+ | EC2 | StopInstances | instances | | +----------+------------------------------------------+-----------------+----------------------------------------+ | EC2 | TerminateInstances | instances | | +----------+------------------------------------------+-----------------+----------------------------------------+ | | UnassignIpv6Addresses | network | not supported | | | | interfaces | | +----------+------------------------------------------+-----------------+----------------------------------------+ | VPC | UnassignPrivateIpAddresses | network | | | | | interfaces | | +----------+------------------------------------------+-----------------+----------------------------------------+ | | UnmonitorInstances | monitoring | not supported | +----------+------------------------------------------+-----------------+----------------------------------------+

Legacy OpenStack release notice

EC2 API supports Nova client (>=2.16.0) with no microversion support.

Preferred way to run EC2 API in older releases is to run it in virtual environment:
  • create virtual environment by running command 'python tools/install_venv.py'
  • run install inside venv 'tools/with_venv.sh ./install.sh'
  • and then you need to run EC2 API services: 'ec2-api', 'ec2-api-metadata', and 'ec2-api-s3'

Also you need to reconfigure metadata ports in nova(and neutron) config files if you want metadata to work correctly. (See 'Installation' section). After these steps you will have working EC2 API services at ports: 8788 for EC2 API and 3334 for S3 API. Don't forget to change keystone endpoints if you want to run some automated scripts relying on keystone information.

References

Blueprint: https://blueprints.launchpad.net/nova/+spec/ec2-api

Spec: https://review.openstack.org/#/c/147882/