利用亞馬遜AWS搭建個人服務(wù)器
注冊
注冊地址:?https://portal.aws.amazon.com/billing/signup#/start
注冊過程比較麻煩锦聊,需要用信用卡,中間的信息填寫的內(nèi)容也比較多荐糜,并且目前必須注冊國際賬號才能個人使用EC2灶壶,亞馬遜的還專門打電話告知了我之后又發(fā)送了郵件告訴了我具體的注冊方式。注冊的密碼必須是大小寫字母加數(shù)字!
登陸
登陸時可使用賬戶別名或者賬戶ID窜觉,所以注冊的信息記好撰筷,登陸時使用郵箱登陸或者用戶名登陸即可陈惰。
創(chuàng)建實(shí)例
1、登陸之后闭专,在控制面板頁面左上角選擇“服務(wù)”奴潘,可以查看亞馬遜有哪些服務(wù)可以使用旧烧,因?yàn)槲沂褂玫氖荅C2,所以選擇第一個EC2就可以了画髓。
2掘剪、選擇EC2后,會跳轉(zhuǎn)到EC2 Dashboard奈虾,左側(cè)會顯示和EC2相關(guān)的配置菜單夺谁,點(diǎn)擊實(shí)例,可以查看當(dāng)前創(chuàng)建好的實(shí)例肉微,如果沒有則是空匾鸥。
?? 3、點(diǎn)擊“啟動實(shí)例”按鈕碉纳,會跳轉(zhuǎn)到實(shí)例配置頁面:
步驟 1: 選擇一個 Amazon 系統(tǒng)映像(AMI)
?? 在這里可以選擇實(shí)例的系統(tǒng)勿负,如果是免費(fèi)用戶可以勾選“僅免費(fèi)套餐”,然后選擇實(shí)例系統(tǒng)劳曹,主要有Linux系統(tǒng)和Windows系統(tǒng)奴愉,包括Amazon Linux 2 AMI、SUSE Linux Enterprise Server 15铁孵、Red Hat Enterprise Linux 7.6锭硼、Ubuntu Server 18.04 LTS、Microsoft Windows Server 2016 Base等等蜕劝,根據(jù)自己的喜好選擇系統(tǒng)檀头,系統(tǒng)也支持X86和ARM可供選擇,點(diǎn)擊選擇可進(jìn)入下一步岖沛。
步驟 2: 選擇一個實(shí)例類型
在這里選擇實(shí)例的配置暑始,因?yàn)槭敲赓M(fèi)賬戶,所以只能選擇免費(fèi)的實(shí)例烫止,免費(fèi)的套餐會有提示蒋荚,配置是1個CPU,1G內(nèi)存馆蠕,點(diǎn)擊下一步“配置實(shí)例詳細(xì)信息”。
步驟 3: 配置實(shí)例詳細(xì)信息
在這里可以配置創(chuàng)建時實(shí)例的一些信息惊奇,可以自己進(jìn)行配置互躬,也可以直接默認(rèn),點(diǎn)擊下一步“添加新存儲”颂郎。
步驟 4: 添加存儲
該項(xiàng)中可以設(shè)置硬盤存儲分區(qū)吼渡,默認(rèn)只配置好了根目錄,卷類型可以選擇乓序,也支持添加新卷寺酪,也可以選擇默認(rèn)坎背。配置好之后點(diǎn)擊下一步“添加標(biāo)簽”。
步驟 5: 添加標(biāo)簽
?? 該項(xiàng)中可以默認(rèn)或者自定義標(biāo)簽寄雀,標(biāo)簽由區(qū)分大小寫的鍵值對組成得滤。例如,您可以定義一個鍵為“Name”且值為“Webserver”的標(biāo)簽盒犹《可將標(biāo)簽副本應(yīng)用于卷和/或?qū)嵗R部梢圆贿M(jìn)行配置急膀,直接進(jìn)行下一步“配置安全組”沮协。
步驟 6: 配置安全組
?? 該項(xiàng)中,用于配置實(shí)例中安全組的信息卓嫂,針對實(shí)例可以將實(shí)例加入已有的安全組或者是選擇新建安全組慷暂, 安全組名稱與描述可自定義,此處默認(rèn)開啟的是SSH類型晨雳,端口號是22呜呐,用于使用ssh方式登陸服務(wù)器。因?yàn)楹竺鎸⒁f到需要配置nginx悍募,所以此處可以添加兩個規(guī)則用于nginx訪問:
點(diǎn)擊添加http規(guī)則:類型選擇HTTP蘑辑,端口范圍是80,可以是TCP坠宴,來源可以改為“任意位置”洋魂,描述可以自定義填寫。
點(diǎn)擊添加https規(guī)則:類型選擇HTTPS喜鼓,端口范圍是443副砍,可以是TCP,來源可以改為“任意位置”庄岖,描述可以自定義填寫豁翎。
點(diǎn)擊下一步“審核和啟動”。
步驟 7: 核查實(shí)例啟動
該項(xiàng)中會顯示之前幾個步驟中配置的相關(guān)信息隅忿,確認(rèn)無誤后點(diǎn)擊啟動心剥,會填出需要選擇現(xiàn)有密鑰對或著新密鑰對,因?yàn)槭切陆ǖ膶?shí)例在這里是沒有密鑰對的背桐,所以選擇創(chuàng)建新密鑰對优烧,填寫密鑰對名稱, 填寫之后一定要下載密鑰對链峭,因?yàn)檫@個后面需要用到畦娄,并且這是沒有下載的話后面就無法再獲取到這個密鑰對文件了,彈出框也會提示“創(chuàng)建文件后,您將無法再次下載該文件”熙卡。具體創(chuàng)建密鑰對的其他方式后面再說杖刷。填寫密鑰對以后,點(diǎn)擊“啟動實(shí)例”按鈕驳癌,會跳轉(zhuǎn)到啟動狀態(tài)頁面滑燃,點(diǎn)擊右下角“查看實(shí)例”到EC2 dashboard查看創(chuàng)建的實(shí)例。
至此喂柒,實(shí)例已經(jīng)創(chuàng)建完畢不瓶,后面就是做相關(guān)的配置。
配置實(shí)例
1灾杰、在實(shí)例一欄中可以看見已經(jīng)創(chuàng)建的實(shí)例蚊丐,列表會顯示實(shí)例ID、IPV4艳吠、實(shí)例狀態(tài)麦备、密鑰名稱等,也可以點(diǎn)擊右上角小齒輪按鈕昭娩,配置需要顯示的列凛篙。
2、配置安全組
在創(chuàng)建實(shí)例的時候可能會忘記配置HTTP會其他相關(guān)的規(guī)則栏渺,則可以在這里重新進(jìn)行配置
勾選要配置的安全組呛梆,在上面點(diǎn)擊“操作”按鈕,或者在要配置的安全組那一行右鍵都行磕诊,然后可以進(jìn)行刪除安全組填物、添加入站或者出站規(guī)則等,這里我們添加入站規(guī)則霎终,即與上面的操作一樣滞磺,如果不開啟80或443端口的話,后面配置好nginx外部是無法訪問的:
點(diǎn)擊添加http規(guī)則:類型選擇HTTP莱褒,端口范圍是80击困,可以是TCP,來源可以改為“任意位置”广凸,描述可以自定義填寫阅茶。
點(diǎn)擊添加https規(guī)則:類型選擇HTTPS,端口范圍是443炮障,可以是TCP目派,來源可以改為“任意位置”,描述可以自定義填寫胁赢。
3、配置彈性IP
在實(shí)例中會有公有IP和私有IP,彈性公網(wǎng)IP是一種NAT IP智末。它實(shí)際位于云服務(wù)提供商的公網(wǎng)網(wǎng)關(guān)上谅摄,通過NAT方式映射到了被綁定的云主機(jī)實(shí)例的私網(wǎng)網(wǎng)卡上。因此系馆,綁定了彈性公網(wǎng)IP的云主機(jī)可以直接使用這個IP進(jìn)行公網(wǎng)通信送漠,但是在它的私網(wǎng)網(wǎng)卡上并不能看到這個IP地址。
點(diǎn)擊“分配新地址”按鈕由蘑,會跳到分配新地址頁面闽寡,然后選擇IPV4地址池,可以是自己配置尼酿,也可以選擇亞馬遜的自動分配的爷狈,這里選擇亞馬遜池,點(diǎn)擊“分配”按鈕裳擎,點(diǎn)擊后就會顯示分配好的彈性IP涎永。
返回到彈性IP列表,選擇剛配置好的彈性IP鹿响,此時是沒有綁定實(shí)例和私有IP的羡微,選中該列,點(diǎn)擊上面的“操作”按鈕惶我,選擇“關(guān)聯(lián)地址”妈倔,跳轉(zhuǎn)到關(guān)聯(lián)地址頁面,選擇實(shí)例以及私有IP绸贡,實(shí)例就是剛才創(chuàng)建的實(shí)例盯蝴,私有IP的查看也是在實(shí)例列表中,亞馬遜也有提示:如果你將一個彈性 IP 地址與您的實(shí)例相關(guān)聯(lián)恃轩,您目前的公有 IP 地址將被釋放,選擇好后點(diǎn)擊關(guān)聯(lián)结洼,這樣后面使用ssh連接實(shí)例時,就可以使用配置好的彈性IP地址叉跛。
4松忍、密鑰對配置
剛才說到配置實(shí)例時需要選擇密鑰對,這里可以配置新密鑰對筷厘,用于后續(xù)創(chuàng)建實(shí)例時使用鸣峭,也可以導(dǎo)入密鑰對。
點(diǎn)擊左側(cè)“密鑰對”選項(xiàng)酥艳,跳轉(zhuǎn)到密鑰對列表摊溶,點(diǎn)擊左上角“創(chuàng)建密鑰對”按鈕,輸入密鑰對名稱充石,點(diǎn)擊”創(chuàng)建“莫换,之后密鑰對會自動下載到本地,用于之后登陸時使用。
需要刪除密鑰對的話直接右鍵刪除或者勾選之后點(diǎn)擊刪除即可拉岁。
?? 至此坷剧,實(shí)例的一些常用基本配置就已經(jīng)完成了,接下來在本地對已經(jīng)啟動的實(shí)例進(jìn)行連接喊暖。
連接
?? 本地連接實(shí)例時比較麻煩惫企,在實(shí)例里表中,勾選想要連接的實(shí)例陵叽,會彈出連接實(shí)例的方式:一種是使用SSH客戶端本地連接狞尔,一種是直接從瀏覽器連接但是需要安裝Java,這里使用SSH客戶端本地進(jìn)行連接巩掺。
官方給的建議是使用PuTTY進(jìn)行連接偏序,但是Mac安裝PuTTY特別麻煩,并且需要安裝一些其他的東西锌半,過于繁瑣禽车,這里我使用了SecureCRT進(jìn)行連接,下載地址:https://www.vandyke.com/products/securecrt/
同時官方文檔也給出其他連接方式刊殉,但是比較惡心的是殉摔,文檔內(nèi)容特別多,在這里我們只看使用SSH方式連接AWS EC2 Linux版本實(shí)例记焊,這是官方給的方式逸月,下面我寫出來的是已經(jīng)填過的坑,連接實(shí)例是有先決條件的遍膜,就是以下七條:
1碗硬、安裝SSH客戶端
2、安裝 AWS CLI 工具
3瓢颅、獲得實(shí)例的 ID
4恩尾、獲得實(shí)例的公有 DNS 名稱
5、查找私有密鑰并驗(yàn)證權(quán)限
6挽懦、獲取用于啟動實(shí)例的 AMI 的默認(rèn)用戶名稱
7翰意、允許從您的 IP 地址到您的實(shí)例的入站 SSH 流量
1、安裝SSH客戶端
?? 一般Mac有自帶的終端就可以使用信柿,但是因?yàn)槭状芜B接的使用是使用密鑰文件進(jìn)行連接的冀偶,所以終端工具不是很方便了,剛才推薦的secureCRT渔嚷,可以使用密鑰對文件轉(zhuǎn)換后的密進(jìn)行服務(wù)器登陸进鸠,需要將下載下來的密鑰對文件即后綴名為pem的文件轉(zhuǎn)為密鑰即可。
安裝secureCRT形病,Mac傻瓜式安裝客年;
轉(zhuǎn)換密鑰對文件為密鑰串:
使用命令:ssh-keygen -y -f XXX.pem > XXX.pem.pub轉(zhuǎn)換為密鑰串文件霞幅;
使用命令:cat XXX.pem.pub查看密鑰串;
配置secureCRT
點(diǎn)擊 + 新建搀罢,會彈出對話框蝗岖,直接continue侥猩;?
port和firewall默認(rèn)榔至,填寫hostname,即上面說到的彈性IP欺劳,填寫username唧取,即用于啟動實(shí)例的 AMI 的默認(rèn)用戶名稱,如果是ubuntu的系統(tǒng)划提,則username就是ubuntu枫弟,其他的后面會說到;
點(diǎn)擊continue鹏往,sessionname和description隨便填淡诗,就是到時候顯示的名稱而已;點(diǎn)擊done
列表會顯示創(chuàng)建好的項(xiàng)伊履,顯示的名字就是剛才sessionname韩容,右鍵,點(diǎn)擊Properties唐瀑;
在彈出框中選擇SSH2群凶,在右面的Authentication區(qū)域,如果Properties不可點(diǎn)擊哄辣,則先點(diǎn)擊一下左邊的列表區(qū)域中的Public Key请梢,再點(diǎn)擊Properties;?
在彈出框中力穗,上方勾選“use session public key setting”毅弧,然后在下面的Use identity or certificate file中填寫剛才使用命令生成的密鑰串的那堆字符?
點(diǎn)擊ok關(guān)閉對話框即可。
至此当窗,secureCRT配置完畢够坐,即SSH客戶端配置完畢;使用Windows的朋友可以使用Xshell連接〕現(xiàn)在還無法連接AWS咆霜,還需要接下來的幾步。
2嘶朱、安裝 AWS CLI 工具
首先是官方文檔:https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/cli-chap-install.html蛾坯,然后填坑。官方推薦Mac使用pip安裝疏遏,并且又有一堆先決條件脉课,但是問題又有一堆救军,需要的東西比較復(fù)雜,下面的是比較簡單快捷的方式:
安裝Python倘零,Mac有自帶的Python不需要再次進(jìn)行安裝唱遭,版本需要在2.6.5以上,Windows用戶請自行安裝呈驶;
安裝 AWS CLI
下載 AWS CLI 捆綁安裝程序,在終端執(zhí)行命令:curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
解壓縮程序包(必須安裝了unzip):unzip awscli-bundle.zip
運(yùn)行安裝程序:?sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
查看是否安裝成功:aws --version出現(xiàn)版本號則表示安裝成功
??這種方式是Mac下最簡單的了拷泽,如果使用pip安裝,則aws --version命令會提示無效袖瞻,則需要配置環(huán)境變量司致,主要是配置python的環(huán)境變量,比較麻煩聋迎,所以上面的方式是比較簡單的脂矫。
配置 AWS CLI
配置AWS CLI使用 aws configure命令比較快捷
獲取 IAM 用戶的訪問密鑰 ID 和秘密訪問密鑰。
??訪問密鑰包含訪問密鑰 ID 和秘密訪問密鑰霉晕,用于簽署對 AWS 發(fā)出的編程請求庭再。如果沒有訪問密鑰,您可以使用AWS 管理控制臺進(jìn)行創(chuàng)建牺堰。建議您使用 AWS 賬戶根用戶 訪問秘鑰而不是使用 IAM 賬戶根用戶訪問秘鑰拄轻。IAM 讓您可以安全地控制對您的 AWS 賬戶中 AWS 服務(wù)和資源的訪問。
??僅當(dāng)創(chuàng)建訪問密鑰時萌焰,您才能查看或下載秘密訪問密鑰哺眯。以后您無法恢復(fù)它們。不過扒俯,您隨時可以創(chuàng)建新的訪問密鑰奶卓。您還必須擁有執(zhí)行所需 IAM 操作的權(quán)限。有關(guān)更多信息撼玄,請參閱 IAM 用戶指南 中的訪問 IAM 資源所需的權(quán)限夺姑。
1、打開 [IAM 控制臺](https://console.aws.amazon.com/iam/home?#home)掌猛。
2盏浙、在控制臺的導(dǎo)航窗格中,選擇 Users荔茬。
3废膘、選擇您的 IAM 用戶名稱(而不是復(fù)選框)。
4慕蔚、選擇安全證書選項(xiàng)卡丐黄,然后選擇創(chuàng)建訪問秘鑰。
5孔飒、要查看新訪問秘鑰灌闺,請選擇顯示艰争。
在終端執(zhí)行:aws configure會出現(xiàn)下面的內(nèi)容,根據(jù)提示進(jìn)行填寫:
1桂对、AWS Access Key ID [None]: 訪問密鑰 ID甩卓,在實(shí)例列表查看
例: AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
2、AWS Secret Access Key [None]:私有訪問密鑰
例:AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
3蕉斜、Default region name [None]:默認(rèn)登陸名稱逾柿,ubuntu系統(tǒng)為ubuntu
例:Default region name [None]: us-west-2
4、Default output format [None]:默認(rèn)輸出文件類型蛛勉,json或text
例:Default output format [None]: json
至此鹿寻,AWS CLI基本配置完成,如果要進(jìn)行更多配置诽凌,可查看官方文檔
3、獲得實(shí)例的 ID
?? 在EC2 dashboard坦敌,實(shí)例列表中查看實(shí)例ID侣诵;
4、獲得實(shí)例的公有 DNS 名稱
?? 在EC2 dashboard狱窘,實(shí)例列表中查看實(shí)例的公有 DNS 名稱杜顺,列名為“公有DNS(IPv4)”;
5蘸炸、查找私有密鑰并驗(yàn)證權(quán)限
這步就是使用后綴名為pem的文件進(jìn)行登陸系統(tǒng)躬络,前面已經(jīng)配置了secureCRT就不需要這步了;
如果還需要的話搭儒,則使用下面的方式進(jìn)行:
您的密鑰必須不公開可見穷当,SSH 才能工作。如果需要淹禾,請使用此命令:
chmod 400 xxxx.pem
通過其 公有 DNS 連接到您的實(shí)例馁菜,如實(shí)例為:ec2-13-59-115-229.us-east-2.compute.amazonaws.com
則使用命令:ssh -i xxxx.pem 服務(wù)器用戶名@ec2-13-59-115-229.us-east-2.compute.amazonaws.com
6、獲取用于啟動實(shí)例的 AMI 的默認(rèn)用戶名稱
對于 Amazon Linux 2 或 Amazon Linux AMI铃岔,用戶名稱是 ec2-user汪疮。
對于 Centos AMI,用戶名稱是 centos毁习。
對于 Debian AMI智嚷,用戶名稱是 admin 或 root。
對于 Fedora AMI纺且,用戶名為 ec2-user 或 fedora盏道。
對于 RHEL AMI,用戶名稱是 ec2-user 或 root隆檀。
對于 SUSE AMI摇天,用戶名稱是 ec2-user 或 root粹湃。
對于 Ubuntu AMI,用戶名稱是 ubuntu泉坐。
另外为鳄,如果 ec2-user 和 root 無法使用,請與 AMI 供應(yīng)商核實(shí)腕让。
7孤钦、允許從您的 IP 地址到您的實(shí)例的入站 SSH 流量
?? 該步驟即配置安全組,開放22端口用于SSH連接纯丸,80或443用于訪問Web程序偏形;
8、使用secureCRT連接實(shí)例服務(wù)器
在secureCRT中直接點(diǎn)擊要登陸的服務(wù)器觉鼻,如下則表示登陸成功:
至此俊扭,實(shí)例已經(jīng)全部配置完成,并成功連接坠陈。
安裝Nginx
因?yàn)槭褂玫氖莡buntu萨惑,則可以直接使用命令進(jìn)行安裝:sudo apt-get install nginx
安裝完成后,啟動nginx仇矾,執(zhí)行命令:sudo service nginx start
檢測nginx在服務(wù)器是否安裝成功庸蔼,執(zhí)行命令:curl http://localhost
如果出現(xiàn):如下圖則表示安裝成功。
參考:http://www.reibang.com/p/a43c3e0f0127
訪問
直接在PC瀏覽器地址欄輸入彈性IP地址贮匕,如果出現(xiàn)下圖則表示nginx安裝成姐仅,并且服務(wù)器實(shí)例已經(jīng)可用,后續(xù)就可以在服務(wù)器部署相關(guān)程序刻盐。
其他
刪除實(shí)例:在實(shí)例列表要刪除的實(shí)例上右鍵-實(shí)例狀態(tài)-終止即可掏膏,終止即代表刪除實(shí)例,但是不會馬上刪除隙疚,一般十分鐘左右會自動銷毀壤追。
設(shè)置服務(wù)器root密碼:
使用命令:sudo?passwd?root
會提示需要輸入兩次密碼,輸入即可
設(shè)置服務(wù)器用戶密碼:
設(shè)置完密碼后供屉,后續(xù)登陸可以直接使用終端或者其他SSH客戶等登錄行冰,使用彈性IP地址、用戶名伶丐、密碼即可
切換到root用戶悼做,使用命令passwd?你的用戶名
輸入兩次密碼即可
總結(jié)
總的來說,配置的流程相對比較繁瑣哗魂,尤其是配置AWS CLI里面內(nèi)容比較多肛走,官方文檔給的也比較多,如果疑問录别,請聯(lián)系bo.wang1016@outlook.com
參考
AWS Command Line Interface介紹:https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/cli-chap-welcome.html
Amazon EC2 實(shí)例介紹:https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/Instances.html
AWS EC2搭建web服務(wù)器:http://www.reibang.com/p/a43c3e0f0127