Selling AMIs on AWS Market Place - amazon-web-services

I am currently looking at the steps on how to created and sell AMIs.
I can easily create the AMI, however I am unsure about the required architecture that is needed. The Amazon documentation states:
Source AMIs for AWS Marketplace MUST be provided in the us-east-1 region.
Does this mean the AMI needs to be created from an instance that is in the us-east-1 region? As currently all my instances are in eu-west-1.

The created AMI must be present in the us-east-1 region.
See here for more https://aws.amazon.com/marketplace/help/201231340 , https://aws.amazon.com/marketplace/help/200940380

Related

Is the AWS CLI missing data for the "ec2 describe-instancess" method?

As of the date of this question I'm using the most recent version of the AWS CLI (2.4.6) running on macOS. According to the v2 docs the Instances that are returned should include properties like InstanceLifecycle, Licenses, MetadataOptions -> PlatformDetails and several others that are missing for me. While I'm getting back most data, some fields are absent... I've tried this is two separate AWS accounts and I have admin IAM creds that I'm using locally, why does the aws ec2 describe-instances call not return all of the fields listed in the docs?
Not all outputs is available for every ec2 instance, it depends on the way of provisioning of your ec2 instances.
Ex:
InstanceLifecycle: is exclusive if you provisioned the ec2 instance as spot instance or reserved one.
Licenses: If you used BYOL when provisioning EC2 (Bring your own license)
Extra.. The docs describe every possible output from querying ec2 api endpoint, but it depends on the different parameters of your provisioned ec2 instance.
For example, try to provision a spot instance, and query the instance lifecycle.

How to copy Windows EC2 instances to S3 bucket in AWS?

I am not able to find a find documents showing how can I copy a Windows instance to an Amazon S3 bucket.
Can any one help me with step by step approach to do this and suggest some of the links?
You can not copy AMIs to s3. You can either create a snapshot of your volumes or create another image (AMI).
I assume you're trying to create a backup of your AMIs. So, there are some alternatives for doing that.
Create a new AMI from an existing running image. Reference: Creating an Amazon EBS-Backed Windows AMI
Creating a Windows AMI from a Running Instance
You can create an AMI using the AWS Management Console or the command line. The following diagram summarizes the process for creating an Amazon EBS-backed AMI from a running EC2 instance. Start with an existing AMI, launch an instance, customize it, create a new AMI from it, and finally launch an instance of your new AMI. The steps in the following diagram match the steps in the procedure below. If you already have a running Amazon EBS-backed instance, you can go directly to step 4.
You can create images using the AWS CLI command create-image
Create Snapshots of your volumes, these snapshots will be stored behind the scenes in s3. Reference: Creating an Amazon EBS Snapshot
You can create EBS snapshots using the AWS CLI command create-snapshot
+ Resources
Copying an Amazon EBS Snapshot
Copying an AMI

How Can I migrate ami with root volume and attached encrypted ebs volume from one amazon account to another

I have AMI with root volume and encrypted ebs volume attached. I want to migrate both to another aws account. How can I migrate both root and encrypted ebs to another account. How to use KMS encryption keys.
To migrate your instance to another aws account you have to create an AMI out of it and then you can copy that AMI to other AWS account of yours.
An AMI includes the following:
A template for the root volume for the instance (for example, an operating system, an application server, and applications)
Launch permissions that control which AWS accounts can use the AMI to launch instances.
A block device mapping that specifies the volumes to attach to the instance when it's launched
During the AMI-creation process, Amazon EC2 creates snapshots of your instance's root volume and any other EBS volumes attached to your instance. If any volumes attached to the instance are encrypted, the new AMI only launches successfully on instances that support Amazon EBS encryption.
To migrate an ec2 instance first create a AMI of it you can follow the steps mentioned in the AWS Documentation or Creating AMI.
To copy your AMI to a different AWS account follow this AWS Document.
Note: You do not need to share the Amazon EBS snapshots that an AMI references in order to share the AMI. Only the AMI itself needs to be shared; the system automatically provides the instance access to the referenced Amazon EBS snapshots for the launch.

Why some of most popular AMI are not available on all regions?

I'm new to AWS, we are using this RHEL AMI for our test environment, initially we wanted to use Canada region, but later figured out that our AIM is not available there for some reason, I wonder why? RHEL AMIs from amazon web services are not available in Canada not 7.x, nor 6.x versions, I guess technically it's not really a problem, so AWS is doing this because of policies of some sort?
An AMI is a regional resource in AWS, because it's tied to the region where its files are located within Amazon S3. However, if in need, you can copy an AMI from one region to another:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html
And more info about resource locations in AWS :
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resources.html

How can Switch AWS EC2 server instance from one country to another country

I am using AWS server instance and i have deployed my application in AWS India origin cause of latency issue i wish to switch AWS china. So as i read about "Amazon Machine Image" but i am not sure about it would work or not.
Does cross origin copy of AWS AMI support in china?
I am little bit confuse about as below link is showing AWS EBS is there so my question is Do we use AWS-EBS service to create an AMI image?
https://www.amazonaws.cn/en/ebs/
You can create a AMI from existing instance and launch a new instance from that AMI in the new region. You need to copy the AMI to new region before starting the new instance.
For detailed steps see this blog