?
This document uses PHP Chinese website manual Release
在AmazonWeb服務(wù)...
創(chuàng)建機(jī)器AmazonWeb服務(wù),您必須提供兩個(gè)參數(shù):AWS訪問(wèn)密鑰ID和AWS秘密訪問(wèn)密鑰。
在使用amazonc 2驅(qū)動(dòng)程序之前,請(qǐng)確保您已經(jīng)配置了憑據(jù)。
配置憑據(jù)的一種方法是為AmazonAWS使用標(biāo)準(zhǔn)憑據(jù)文件~/.aws/credentials
文件,該文件可能如下所示:
[default]aws_access_key_id = AKID1234567890 aws_secret_access_key = MY-SECRET-KEY
在mac OS或各種類型的linux上,您可以安裝AWS命令行接口%28aws cli
%29在終端中使用aws configure
命令,它指導(dǎo)您創(chuàng)建憑據(jù)文件。
這是最簡(jiǎn)單的方法,然后您可以使用以下方法創(chuàng)建一臺(tái)新機(jī)器:
$ docker-machine create --driver amazonec2 aws01
或者,您可以使用這些標(biāo)志。--amazonec2-access-key
和--amazonec2-secret-key
在命令行上:
$ docker-machine create --driver amazonec2 --amazonec2-access-key AKI******* --amazonec2-secret-key 8T93C******* aws01
您可以使用環(huán)境變量:
$ export AWS_ACCESS_KEY_ID=AKID1234567890 $ export AWS_SECRET_ACCESS_KEY=MY-SECRET-KEY $ docker-machine create --driver amazonec2 aws01
--amazonec2-access-key
::AmazonWebServicesAPI的訪問(wèn)密鑰ID。
--amazonec2-ami
要使用的實(shí)例的AMI ID。
--amazonec2-block-duration-minutes
:AWS SPOT實(shí)例持續(xù)時(shí)間(分鐘為%2860、120、180、240、300或360%29)。
--amazonec2-device-name
實(shí)例的根設(shè)備名稱。
--amazonec2-endpoint
:可選端點(diǎn)URL%28主機(jī)名或完全限定URI%29
--amazonec2-iam-instance-profile
AWS IAM角色名用作實(shí)例概要文件。
--amazonec2-insecure-transport
:在發(fā)送請(qǐng)求時(shí)禁用SSL
--amazonec2-instance-type
要運(yùn)行的實(shí)例類型。
--amazonec2-keypair-name
使用AWS鍵盤;需要-amazonec2-ssh-keypath
--amazonec2-monitoring
*啟用云監(jiān)視監(jiān)視。
--amazonec2-open-port
::使指定的端口號(hào)可從因特網(wǎng)訪問(wèn)。
--amazonec2-private-address-only
::僅使用專用IP地址。
--amazonec2-region
啟動(dòng)實(shí)例時(shí)要使用的區(qū)域。
--amazonec2-request-spot-instance
*使用SPOT實(shí)例。
--amazonec2-retries
:為可恢復(fù)故障設(shè)置重試計(jì)數(shù)%28use-1以禁用%29
--amazonec2-root-size
實(shí)例%28的根磁盤大小(GB%29)。
--amazonec2-secret-key
::AmazonWebServicesAPI的秘密訪問(wèn)密鑰。
--amazonec2-security-group
:AWS VPC安全組名稱。
--amazonec2-session-token
::AmazonWebServicesAPI的會(huì)話令牌。
--amazonec2-spot-price
:競(jìng)價(jià)型實(shí)例競(jìng)標(biāo)價(jià)格(以美元計(jì))。要求--amazonec2-request-spot-instance
國(guó)旗。
--amazonec2-ssh-keypath
例如,要使用的專用密鑰文件的路徑。將公鑰與。酒吧擴(kuò)展應(yīng)該存在
--amazonec2-ssh-user
:SSH登錄用戶名,它必須與所使用的ami中的默認(rèn)SSH用戶集相匹配。
--amazonec2-subnet-id
:AWS VPC子網(wǎng)ID。
--amazonec2-tags
:AWS額外標(biāo)簽鍵值對(duì)(逗號(hào)分隔,例如key1,value1,key2,value2)。
--amazonec2-use-ebs-optimized-instance
::創(chuàng)建一個(gè)EBS優(yōu)化實(shí)例,實(shí)例類型必須支持它。
--amazonec2-use-private-address
使用專用IP地址的對(duì)接機(jī),但仍然創(chuàng)建一個(gè)公共IP地址.
--amazonec2-userdata
使用云init用戶數(shù)據(jù)進(jìn)行文件的路徑。
--amazonec2-volume-type
::要附加到實(shí)例的AmazonEBS卷類型。
--amazonec2-vpc-id
:您的vpc ID啟動(dòng)實(shí)例。
--amazonec2-zone
:在AWS區(qū)域中啟動(dòng)實(shí)例(即a,b,c,d,e中的一個(gè))。
CLI選項(xiàng) | 環(huán)境變量 | 默認(rèn) |
---|---|---|
--amazonec2接入密鑰 | AWS_ACCESS_KEY_ID | - |
--amazonec2秘密密鑰 | AWS_SECRET_ACCESS_KEY | - |
--amazonec2會(huì)話令牌 | AWS_SESSION_TOKEN | - |
--amazonec2-朋友 | AWS_AMI | ami-5f709f34 |
--amazonec2區(qū)域 | AWS_DEFAULT_REGION | 美國(guó) - 東 - 1 |
--amazonec2-VPC-ID | AWS_VPC_ID | - |
--amazonec2區(qū) | AWS_ZONE | 一個(gè) |
--amazonec2子網(wǎng)的ID | AWS_SUBNET_ID | - |
--amazonec2安全組 | AWS_SECURITY_GROUP | docker-machine |
--amazonec2標(biāo)簽 | AWS_TAGS | - |
--amazonec2實(shí)例型 | AWS_INSTANCE_TYPE | t2.micro |
--amazonec2-設(shè)備名稱 | AWS_DEVICE_NAME | / dev / sda1 |
--amazonec2根尺寸 | AWS_ROOT_SIZE | 16 |
--amazonec2容量式 | AWS_VOLUME_TYPE | GP2 |
--amazonec2-IAM實(shí)例矚目 | AWS_INSTANCE_PROFILE | - |
--amazonec2-SSH用戶 | AWS_SSH_USER | Ubuntu |
--amazonec2請(qǐng)求現(xiàn)場(chǎng)實(shí)例 | - | 假 |
--amazonec2-現(xiàn)貨價(jià)格 | - | 0.50 |
--amazonec2 - 使用 - 私人地址 | - | 假 |
--amazonec2-私人地址,只 | - | 假 |
--amazonec2監(jiān)控 | - | 假 |
--amazonec2使用-EBS優(yōu)化實(shí)例 | - | 假 |
--amazonec2-SSH-的keyPath | AWS_SSH_KEYPATH | - |
--amazonec2重試次數(shù) | - | 5 |
默認(rèn)情況下,AmazonEC 2驅(qū)動(dòng)程序?qū)⑹褂肬buntu 16.04 lts的每日映像。
地區(qū) | 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 |
注意,將創(chuàng)建一個(gè)安全組并將其與主機(jī)相關(guān)聯(lián)。此安全組將打開以下入站端口:
ssh (22/tcp)
docker (2376/tcp)
swarm(3376 / tcp),只有當(dāng)該節(jié)點(diǎn)是swarm主節(jié)點(diǎn)時(shí)
如果使用--amazonec2-security-group
標(biāo)志,將檢查和打開上述端口,并修改安全組。如果您希望打開更多端口,比如特定于應(yīng)用程序的端口,請(qǐng)使用AWS控制臺(tái)并手動(dòng)修改配置。
我們?cè)诿铋_始時(shí)確定默認(rèn)的VPC ID。在某些情況下,由于您的帳戶沒(méi)有默認(rèn)的vpc,或者您不想使用默認(rèn)的vpc,您可以使用--amazonec2-vpc-id
旗子。
若要查找VPC ID,請(qǐng)執(zhí)行以下操作:
登錄到AWS控制臺(tái)
轉(zhuǎn)到服務(wù) - > VPC - >您的VPC。
從VPC列中找到您想要的VPC ID 。
去服務(wù)->vpc->子網(wǎng).檢查可用區(qū)列來(lái)驗(yàn)證該區(qū)域。a
存在并匹配您的VPC ID。
例如,us-east1-a
在a
可用性區(qū)域。如果a
區(qū)域不存在,您可以在該區(qū)域中創(chuàng)建一個(gè)新的子網(wǎng),或者在創(chuàng)建計(jì)算機(jī)時(shí)指定一個(gè)不同的區(qū)域。
若要?jiǎng)?chuàng)建具有非默認(rèn)vpc-ID的計(jì)算機(jī):
$ docker-machine create --driver amazonec2 --amazonec2-access-key AKI ******* --amazonec2-secret-key 8T93C ********* --amazonec2-vpc-id vpc- ****** aws02
此示例假定VPC ID位于a
可用性區(qū)域。使用--amazonec2-zone
屬性以外的區(qū)域。a
區(qū)域。例如,--amazonec2-zone c
意指us-east1-c
...
機(jī)器使用SSH來(lái)完成EC2中實(shí)例的設(shè)置,并要求能夠直接訪問(wèn)實(shí)例。
如果您使用該標(biāo)志--amazonec2-private-address-only
,則需要確保您有一些方法可以從VPC的內(nèi)部網(wǎng)絡(luò)中訪問(wèn)新實(shí)例(例如,公司VPN到VPC,VPC內(nèi)的VPN實(shí)例或使用Docker-machine您的VPC中的一個(gè)實(shí)例)。
vpc的配置超出了本指南的范圍,但是故障排除的第一步是確保如果您使用的是私有子網(wǎng),那么您將遵循AWS VPC用戶指南并有某種形式的NAT可用,使設(shè)置進(jìn)程可以訪問(wèn)互聯(lián)網(wǎng)完成設(shè)置。
默認(rèn)AMI的默認(rèn)SSH用戶名是ubuntu
。
只有當(dāng)您使用的自定義AMI具有不同的SSH用戶名時(shí),才需要更改SSH用戶名。
您可以--amazonec2-ssh-user
根據(jù)您選擇的AMI 更改SSH用戶名--amazonec2-ami
。