首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

亚马逊网络服务(机器) | Amazon Web Services (Machine)

创建机器AmazonWeb服务,您必须提供两个参数:AWS访问密钥ID和AWS秘密访问密钥。

配置凭据

在使用amazonc 2驱动程序之前,请确保您已经配置了凭据。

AWS凭证文件

配置凭据的一种方法是为AmazonAWS使用标准凭据文件~/.aws/credentials文件,该文件可能如下所示:

代码语言:javascript
复制
[default]
aws_access_key_id = AKID1234567890
aws_secret_access_key = MY-SECRET-KEY

在mac OS或各种类型的linux上,您可以安装AWS命令行接口%28aws cli%29在终端中使用aws configure命令,它指导您创建凭据文件。

这是最简单的方法,然后您可以使用以下方法创建一台新机器:

代码语言:javascript
复制
$ docker-machine create --driver amazonec2 aws01

命令行标志

或者,您可以使用这些标志。--amazonec2-access-key--amazonec2-secret-key在命令行上:

代码语言:javascript
复制
$ docker-machine create --driver amazonec2 --amazonec2-access-key AKI******* --amazonec2-secret-key 8T93C*******  aws01

环境变量

您可以使用环境变量:

代码语言:javascript
复制
$ export AWS_ACCESS_KEY_ID=AKID1234567890
$ export AWS_SECRET_ACCESS_KEY=MY-SECRET-KEY
$ docker-machine create --driver amazonec2 aws01

备选方案

  • --amazonec2-access-key::AmazonWebServicesAPI的访问密钥ID。
  • --amazonec2-ami要使用的实例的AMI ID。
  • --amazonec2-block-duration-minutes:AWS SPOT实例持续时间(分钟为%2860、120、180、240、300或360%29)。
  • --amazonec2-device-name实例的根设备名称。
  • --amazonec2-endpoint:可选端点URL%28主机名或完全限定URI%29
  • --amazonec2-iam-instance-profileAWS IAM角色名用作实例概要文件。
  • --amazonec2-insecure-transport:在发送请求时禁用SSL
  • --amazonec2-instance-type要运行的实例类型。
  • --amazonec2-keypair-name使用AWS键盘;需要-amazonec2-ssh-keypath
  • --amazonec2-monitoring*启用云监视监视。
  • --amazonec2-open-port::使指定的端口号可从因特网访问。
  • --amazonec2-private-address-only::仅使用专用IP地址。
  • --amazonec2-region启动实例时要使用的区域。
  • --amazonec2-request-spot-instance*使用SPOT实例。
  • --amazonec2-retries:为可恢复故障设置重试计数%28use-1以禁用%29
  • --amazonec2-root-size实例%28的根磁盘大小(GB%29)。
  • --amazonec2-secret-key::AmazonWebServicesAPI的秘密访问密钥。
  • --amazonec2-security-group:AWS VPC安全组名称。
  • --amazonec2-session-token::AmazonWebServicesAPI的会话令牌。
  • --amazonec2-spot-price:竞价型实例竞标价格(以美元计)。要求--amazonec2-request-spot-instance国旗。
  • --amazonec2-ssh-keypath例如,要使用的专用密钥文件的路径。将公钥与。酒吧扩展应该存在
  • --amazonec2-ssh-user:SSH登录用户名,它必须与所使用的ami中的默认SSH用户集相匹配。
  • --amazonec2-subnet-id:AWS VPC子网ID。
  • --amazonec2-tags:AWS额外标签键值对(逗号分隔,例如key1,value1,key2,value2)。
  • --amazonec2-use-ebs-optimized-instance::创建一个EBS优化实例,实例类型必须支持它。
  • --amazonec2-use-private-address使用专用IP地址的对接机,但仍然创建一个公共IP地址.
  • --amazonec2-userdata使用云init用户数据进行文件的路径。
  • --amazonec2-volume-type::要附加到实例的AmazonEBS卷类型。
  • --amazonec2-vpc-id:您的vpc ID启动实例。
  • --amazonec2-zone:在AWS区域中启动实例(即a,b,c,d,e中的一个)。

环境变量和默认值:

CLI选项

环境变量

默认

--amazonec2接入密钥

AWS_ACCESS_KEY_ID

-

--amazonec2秘密密钥

AWS_SECRET_ACCESS_KEY

-

--amazonec2会话令牌

AWS_SESSION_TOKEN

-

--amazonec2-朋友

AWS_AMI

ami-5f709f34

--amazonec2区域

AWS_DEFAULT_REGION

美国 - 东 - 1

--amazonec2-VPC-ID

AWS_VPC_ID

-

--amazonec2区

AWS_ZONE

一个

--amazonec2子网的ID

AWS_SUBNET_ID

-

--amazonec2安全组

AWS_SECURITY_GROUP

docker-machine

--amazonec2标签

AWS_TAGS

-

--amazonec2实例型

AWS_INSTANCE_TYPE

t2.micro

--amazonec2-设备名称

AWS_DEVICE_NAME

/ dev / sda1

--amazonec2根尺寸

AWS_ROOT_SIZE

16

--amazonec2容量式

AWS_VOLUME_TYPE

GP2

--amazonec2-IAM实例瞩目

AWS_INSTANCE_PROFILE

-

--amazonec2-SSH用户

AWS_SSH_USER

Ubuntu

--amazonec2请求现场实例

-

--amazonec2-现货价格

-

0.50

--amazonec2 - 使用 - 私人地址

-

--amazonec2-私人地址,只

-

--amazonec2监控

-

--amazonec2使用-EBS优化实例

-

--amazonec2-SSH-的keyPath

AWS_SSH_KEYPATH

-

--amazonec2重试次数

-

5

默认AMI

默认情况下,AmazonEC 2驱动程序将使用Ubuntu 16.04 lts的每日映像。

地区

AMI ID

ap-northeast-1

ami-b36d4edd

ap-southeast-1

ami-1069af73

ap-southeast-2

ami-1d336a7e

ca-central-1

ami-ca6ddfae

cn-north-1

ami-79eb2214

eu-west-1

ami-8aa67cf9

eu-central-1

ami-fe408091

sa-east-1

ami-185de774

us-east-1

ami-26d5af4c

us-west-1

ami-9cbcd2fc

us-west-2

ami-16b1a077

us-gov-west-1

ami-b0bad893

安全小组

注意,将创建一个安全组并将其与主机相关联。此安全组将打开以下入站端口:

  • ssh (22/tcp)
  • docker (2376/tcp)
  • swarm(3376 / tcp),只有当该节点是swarm主节点时

如果使用--amazonec2-security-group标志,将检查和打开上述端口,并修改安全组。如果您希望打开更多端口,比如特定于应用程序的端口,请使用AWS控制台并手动修改配置。

VPC ID

我们在命令开始时确定默认的VPC ID。在某些情况下,由于您的帐户没有默认的vpc,或者您不想使用默认的vpc,您可以使用--amazonec2-vpc-id旗子。

若要查找VPC ID,请执行以下操作:

  1. 登录到AWS控制台
  1. 转到服务 - > VPC - >您的VPC
  1. VPC列中找到您想要的VPC ID 。
  1. 服务->vpc->子网.检查可用区列来验证该区域。a存在并匹配您的VPC ID。

例如,us-east1-aa可用性区域。如果a区域不存在,您可以在该区域中创建一个新的子网,或者在创建计算机时指定一个不同的区域。

若要创建具有非默认vpc-ID的计算机:

代码语言:javascript
复制
$ docker-machine create --driver amazonec2 --amazonec2-access-key AKI******* --amazonec2-secret-key 8T93C********* --amazonec2-vpc-id vpc-****** aws02

此示例假定VPC ID位于a可用性区域。使用--amazonec2-zone属性以外的区域。a区域。例如,--amazonec2-zone c意指us-east1-c...

VPC连通性

机器使用SSH来完成EC2中实例的设置,并要求能够直接访问实例。

如果您使用该标志--amazonec2-private-address-only,则需要确保您有一些方法可以从VPC的内部网络中访问新实例(例如,公司VPN到VPC,VPC内的VPN实例或使用Docker-machine您的VPC中的一个实例)。

vpc的配置超出了本指南的范围,但是故障排除的第一步是确保如果您使用的是私有子网,那么您将遵循AWS VPC用户指南并有某种形式的NAT可用,使设置进程可以访问互联网完成设置。

自定义AMI和SSH用户名

默认AMI的默认SSH用户名是ubuntu

只有当您使用的自定义AMI具有不同的SSH用户名时,才需要更改SSH用户名。

您可以--amazonec2-ssh-user根据您选择的AMI 更改SSH用户名--amazonec2-ami

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com