官术网_书友最值得收藏!

Amazon Machine Images (AMIs)

An AMI is a package that contains, among other things, the root file system with the operating system (for example, Linux, UNIX, or Windows) as well as additional software required to start up the system. To find the proper AMI, we will use the aws ec2 describe-images command. By default, the describe-images command will list all available public AMIs, which is way over 3 million by now. To get the best out of that command, it is important to combine it with the filter option to only include the AMI we would like to use. In our case, we want to use the following to filter our AMIs:

  • We want the name to be Amazon Linux AMI, which designates the Linux distribution officially supported by AWS. Amazon Linux is based off Red Hat/CentOS but includes a few extra packages to make the integration with other AWS services easy to do. You can read more about AWS Linux at http://amzn.to/2uFT13F.
  • We want to use the x84_64 bits version of Linux to match the architecture we will use.
  • The virtualization type should be HVM, which stands for hardware virtual machine. This is the newest and best-performing type of virtualization.
  • We want GP2 support, which will let us use the newest generation of instances that don't come with instance store, meaning that the servers that power our instances will be different from the servers that store our data.

In addition, we will sort the output by age and only look at the most recently released AMI:

$ aws ec2 describe-images --filters "Name=description,Values=Amazon Linux AMI * x86_64 HVM GP2" --query 'Images[*].[CreationDate, Description, ImageId]' --output text | sort -k 1 | tail

The output of running the preceding command can be shown as follows:

As you can see, at this time, the most recent AMI ID is ami-cfe4b2b0. This might differ by the time you execute the same command, as the Amazon vendors included regularly update their OS.

When using the aws cli --query option, the output can be very consequential for certain commands. Taking the preceding example, if we only care about a subset of information, we can supplement the commands with the  --query option to filter the information we want only . This option uses the JMESPath query language.
主站蜘蛛池模板: 通渭县| 民和| 龙泉市| 兖州市| 阜康市| 图们市| 岳阳市| 陆河县| 普定县| 台江县| 拉萨市| 班玛县| 大姚县| 贞丰县| 黄梅县| 宜丰县| 桓台县| 牡丹江市| 随州市| 汝阳县| 天柱县| 巴东县| 灵石县| 丹棱县| 大余县| 留坝县| 信阳市| 巩留县| 汝城县| 海城市| 惠州市| 奎屯市| 嵊泗县| 绿春县| 舟山市| 香港| 巴南区| 偃师市| 广南县| 宁安市| 商丘市|