并不是所有的EC2的功能,都可以通過(guò)基于web的AWS Management Console來(lái)操作,所以在本地配置一個(gè)訪問(wèn)EC2的命令行環(huán)境還是很重要的,特別是需要直接在EC2上去構(gòu)筑服務(wù)器環(huán)境的時(shí)候。
?
AWS一共有三種訪問(wèn)證書(shū),用于不同的目的,命令行環(huán)境下需要用到其中兩種:
Access keys:用于基于REST和Query協(xié)議的請(qǐng)求
X.509 certificates:用于基于SOAP協(xié)議請(qǐng)求
Key pairs:訪問(wèn)EC2實(shí)例和保護(hù)CloudFront中的內(nèi)容。
?
搭建命令行環(huán)境:
1:下載EC2 API tools,RDS Command Line Toolkit并解壓到各自目錄
?
3:設(shè)置環(huán)境變量
其中EC2_HOME和AWS_RDS_HOME分別是EC2 API tools,RDS Command Line Toolkit的解壓目錄。
EC2_PRIVATE_KEY和EC2_CERT分別對(duì)應(yīng)X.509 certificates的私鑰和公鑰。
?
# settings of AWS
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
export EC2_HOME=/Users/huzhanpeng/Documents/AWS/ec2-api-tools-1.5.5.0
export AWS_RDS_HOME=/Users/huzhanpeng/Documents/AWS/RDSCli-1.8.002
export PATH=$EC2_HOME/bin:$AWS_RDS_HOME/bin:$PATH
?
export EC2_KEY_DIR=/Users/huzhanpeng/.ec2
export EC2_PRIVATE_KEY=${EC2_KEY_DIR}/pk-34EGVLBUUROSPUP2MC2SBCPB2CM47EGQ.pem
export EC2_CERT=${EC2_KEY_DIR}/cert-34EGVLBUUROSPUP2MC2SBCPB2CM47EGQ.pem
?
4:驗(yàn)證一下環(huán)境是否OK
hu:~ huzhanpeng$ ec2-describe-regions
?
5:訪問(wèn)EC2 instance時(shí)需要key Pair,可以自己生成,然后upload上去,一個(gè)Key Pair不能在多個(gè)region之間公用
hu:~ huzhanpeng$ ssh-keygen -t rsa -C '[comment_or_your_id'
hu:~ huzhanpeng$ ec2-import-keypair --region ap-northeast-1 --public-key-file .ssh/id_rsa.pub [key_name]
?
6:?jiǎn)?dòng)instance之后,可以通過(guò)ssh訪問(wèn)instance(instance的public DNS和登陸用戶需要去instance詳細(xì)頁(yè)面去確認(rèn))
?
這樣的話就可以直接在本地用命令行訪問(wèn)AWS相關(guān)的服務(wù)。
?
構(gòu)建訪問(wèn)AWS的本地命令行環(huán)境