利用亞馬遜AWS搭建個人服務(wù)器
時間:2023-07-27 14:57:01 | 來源:網(wǎng)站運營
時間:2023-07-27 14:57:01 來源:網(wǎng)站運營
利用亞馬遜AWS搭建個人服務(wù)器:
利用亞馬遜AWS搭建個人服務(wù)器
注冊
注冊地址: https://portal.aws.amazon.com/billing/signup#/start
注冊過程比較麻煩,需要用信用卡,中間的信息填寫的內(nèi)容也比較多,并且目前必須注冊國際賬號才能個人使用EC2,亞馬遜的還專門打電話告知了我之后又發(fā)送了郵件告訴了我具體的注冊方式。注冊的密碼必須是大小寫字母加數(shù)字!
登陸
登陸地址: https://signin.aws.amazon.com/signin?redirect_uri=https%3A%2F%2Fconsole.aws.amazon.com%2Fconsole%2Fhome%3Fstate%3DhashArgs%2523%26isauthcode%3Dtrue&client_id=arn%3Aaws%3Aiam%3A%3A015428540659%3Auser%2Fhomepage&forceMobileApp=0
登陸時可使用賬戶別名或者賬戶ID,所以注冊的信息記好,登陸時使用郵箱登陸或者用戶名登陸即可。
創(chuàng)建實例
1、登陸之后,在控制面板頁面左上角選擇“服務(wù)”,可以查看亞馬遜有哪些服務(wù)可以使用,因為我使用的是EC2,所以選擇第一個EC2就可以了。
2、選擇EC2后,會跳轉(zhuǎn)到EC2 Dashboard,左側(cè)會顯示和EC2相關(guān)的配置菜單,點擊實例,可以查看當(dāng)前創(chuàng)建好的實例,如果沒有則是空。
3、點擊“啟動實例”按鈕,會跳轉(zhuǎn)到實例配置頁面:
- 步驟 1: 選擇一個 Amazon 系統(tǒng)映像(AMI)
在這里可以選擇實例的系統(tǒng),如果是免費用戶可以勾選“僅免費套餐”,然后選擇實例系統(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可供選擇,點擊選擇可進入下一步。
- 步驟 2: 選擇一個實例類型
在這里選擇實例的配置,因為是免費賬戶,所以只能選擇免費的實例,免費的套餐會有提示,配置是1個CPU,1G內(nèi)存,點擊下一步“配置實例詳細信息”。
- 步驟 3: 配置實例詳細信息
在這里可以配置創(chuàng)建時實例的一些信息,可以自己進行配置,也可以直接默認,點擊下一步“添加新存儲”。
- 步驟 4: 添加存儲
該項中可以設(shè)置硬盤存儲分區(qū),默認只配置好了根目錄,卷類型可以選擇,也支持添加新卷,也可以選擇默認。配置好之后點擊下一步“添加標(biāo)簽”。
- 步驟 5: 添加標(biāo)簽
該項中可以默認或者自定義標(biāo)簽,標(biāo)簽由區(qū)分大小寫的鍵值對組成。例如,您可以定義一個鍵為“Name”且值為“Webserver”的標(biāo)簽??蓪?biāo)簽副本應(yīng)用于卷和/或?qū)嵗?。也可以不進行配置,直接進行下一步“配置安全組”。 - 步驟 6: 配置安全組
該項中,用于配置實例中安全組的信息,針對實例可以將實例加入已有的安全組或者是選擇新建安全組, 安全組名稱與描述可自定義,此處默認開啟的是SSH類型,端口號是22,用于使用ssh方式登陸服務(wù)器。因為后面將要說到需要配置nginx,所以此處可以添加兩個規(guī)則用于nginx訪問:
- 點擊添加http規(guī)則:類型選擇HTTP,端口范圍是80,可以是TCP,來源可以改為“任意位置”,描述可以自定義填寫。
- 點擊添加https規(guī)則:類型選擇HTTPS,端口范圍是443,可以是TCP,來源可以改為“任意位置”,描述可以自定義填寫。
點擊下一步“審核和啟動”。
- 步驟 7: 核查實例啟動
該項中會顯示之前幾個步驟中配置的相關(guān)信息,確認無誤后點擊啟動,會填出需要選擇現(xiàn)有密鑰對或著新密鑰對,因為是新建的實例在這里是沒有密鑰對的,所以選擇創(chuàng)建新密鑰對,填寫密鑰對名稱, 填寫之后一定要下載密鑰對,因為這個后面需要用到,并且這是沒有下載的話后面就無法再獲取到這個密鑰對文件了,彈出框也會提示“創(chuàng)建文件后,您將無法再次下載該文件”。具體創(chuàng)建密鑰對的其他方式后面再說。填寫密鑰對以后,點擊“啟動實例”按鈕,會跳轉(zhuǎn)到啟動狀態(tài)頁面,點擊右下角“查看實例”到EC2 dashboard查看創(chuàng)建的實例。
至此,實例已經(jīng)創(chuàng)建完畢,后面就是做相關(guān)的配置。
配置實例
1、在實例一欄中可以看見已經(jīng)創(chuàng)建的實例,列表會顯示實例ID、IPV4、實例狀態(tài)、密鑰名稱等,也可以點擊右上角小齒輪按鈕,配置需要顯示的列。
2、配置安全組
在創(chuàng)建實例的時候可能會忘記配置HTTP會其他相關(guān)的規(guī)則,則可以在這里重新進行配置
- 勾選要配置的安全組,在上面點擊“操作”按鈕,或者在要配置的安全組那一行右鍵都行,然后可以進行刪除安全組、添加入站或者出站規(guī)則等,這里我們添加入站規(guī)則,即與上面的操作一樣,如果不開啟80或443端口的話,后面配置好nginx外部是無法訪問的:
- 點擊添加http規(guī)則:類型選擇HTTP,端口范圍是80,可以是TCP,來源可以改為“任意位置”,描述可以自定義填寫。
- 點擊添加https規(guī)則:類型選擇HTTPS,端口范圍是443,可以是TCP,來源可以改為“任意位置”,描述可以自定義填寫。
3、配置彈性IP
在實例中會有公有IP和私有IP,彈性公網(wǎng)IP是一種NAT IP。它實際位于云服務(wù)提供商的公網(wǎng)網(wǎng)關(guān)上,通過NAT方式映射到了被綁定的云主機實例的私網(wǎng)網(wǎng)卡上。因此,綁定了彈性公網(wǎng)IP的云主機可以直接使用這個IP進行公網(wǎng)通信,但是在它的私網(wǎng)網(wǎng)卡上并不能看到這個IP地址。
- 點擊“分配新地址”按鈕,會跳到分配新地址頁面,然后選擇IPV4地址池,可以是自己配置,也可以選擇亞馬遜的自動分配的,這里選擇亞馬遜池,點擊“分配”按鈕,點擊后就會顯示分配好的彈性IP。
- 返回到彈性IP列表,選擇剛配置好的彈性IP,此時是沒有綁定實例和私有IP的,選中該列,點擊上面的“操作”按鈕,選擇“關(guān)聯(lián)地址”,跳轉(zhuǎn)到關(guān)聯(lián)地址頁面,選擇實例以及私有IP,實例就是剛才創(chuàng)建的實例,私有IP的查看也是在實例列表中,亞馬遜也有提示:如果你將一個彈性 IP 地址與您的實例相關(guān)聯(lián),您目前的公有 IP 地址將被釋放,選擇好后點擊關(guān)聯(lián),這樣后面使用ssh連接實例時,就可以使用配置好的彈性IP地址。
4、密鑰對配置
剛才說到配置實例時需要選擇密鑰對,這里可以配置新密鑰對,用于后續(xù)創(chuàng)建實例時使用,也可以導(dǎo)入密鑰對。
- 點擊左側(cè)“密鑰對”選項,跳轉(zhuǎn)到密鑰對列表,點擊左上角“創(chuàng)建密鑰對”按鈕,輸入密鑰對名稱,點擊”創(chuàng)建“,之后密鑰對會自動下載到本地,用于之后登陸時使用。
- 需要刪除密鑰對的話直接右鍵刪除或者勾選之后點擊刪除即可。
至此,實例的一些常用基本配置就已經(jīng)完成了,接下來在本地對已經(jīng)啟動的實例進行連接。
連接
本地連接實例時比較麻煩,在實例里表中,勾選想要連接的實例,會彈出連接實例的方式:一種是使用SSH客戶端本地連接,一種是直接從瀏覽器連接但是需要安裝Java,這里使用SSH客戶端本地進行連接。
官方給的建議是使用PuTTY進行連接,但是Mac安裝PuTTY特別麻煩,并且需要安裝一些其他的東西,過于繁瑣,這里我使用了SecureCRT進行連接,下載地址:
https://www.vandyke.com/products/securecrt/ 同時官方文檔也給出其他連接方式,但是比較惡心的是,文檔內(nèi)容特別多,在這里我們只看使用SSH方式連接AWS EC2 Linux版本實例,這是官方給的方式,下面我寫出來的是已經(jīng)填過的坑,連接實例是有先決條件的,就是以下七條:
- 1、安裝SSH客戶端
- 2、安裝 AWS CLI 工具
- 3、獲得實例的 ID
- 4、獲得實例的公有 DNS 名稱
- 5、查找私有密鑰并驗證權(quán)限
- 6、獲取用于啟動實例的 AMI 的默認用戶名稱
- 7、允許從您的 IP 地址到您的實例的入站 SSH 流量
1、安裝SSH客戶端
一般Mac有自帶的終端就可以使用,但是因為首次連接的使用是使用密鑰文件進行連接的,所以終端工具不是很方便了,剛才推薦的secureCRT,可以使用密鑰對文件轉(zhuǎ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
- 點擊 + 新建,會彈出對話框,直接continue;
- port和firewall默認,填寫hostname,即上面說到的彈性IP,填寫username,即用于啟動實例的 AMI 的默認用戶名稱,如果是ubuntu的系統(tǒng),則username就是ubuntu,其他的后面會說到;
- 點擊continue,sessionname和description隨便填,就是到時候顯示的名稱而已;點擊done
- 列表會顯示創(chuàng)建好的項,顯示的名字就是剛才sessionname,右鍵,點擊Properties;
- 在彈出框中選擇SSH2,在右面的Authentication區(qū)域,如果Properties不可點擊,則先點擊一下左邊的列表區(qū)域中的Public Key,再點擊Properties;
- 在彈出框中,上方勾選“use session public key setting”,然后在下面的Use identity or certificate file中填寫剛才使用命令生成的密鑰串的那堆字符
- 點擊ok關(guān)閉對話框即可。
至此,secureCRT配置完畢,即SSH客戶端配置完畢;使用Windows的朋友可以使用Xshell連接?,F(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不需要再次進行安裝,版本需要在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
- 運行安裝程序:
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 管理控制臺進行創(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、選擇安全證書選項卡,然后選擇創(chuàng)建訪問秘鑰。 5、要查看新訪問秘鑰,請選擇顯示。
- 在終端執(zhí)行:
aws configure
會出現(xiàn)下面的內(nèi)容,根據(jù)提示進行填寫:
1、AWS Access Key ID [None]: 訪問密鑰 ID,在實例列表查看 例: 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]:默認登陸名稱,ubuntu系統(tǒng)為ubuntu 例:Default region name [None]: us-west-2 4、Default output format [None]:默認輸出文件類型,json或text 例:Default output format [None]: json
至此,AWS CLI基本配置完成,如果要進行更多配置,可查看官方文檔
3、獲得實例的 ID
在EC2 dashboard,實例列表中查看實例ID;
4、獲得實例的公有 DNS 名稱
在EC2 dashboard,實例列表中查看實例的公有 DNS 名稱,列名為“公有DNS(IPv4)”;
5、查找私有密鑰并驗證權(quán)限
這步就是使用后綴名為pem的文件進行登陸系統(tǒng),前面已經(jīng)配置了secureCRT就不需要這步了;
如果還需要的話,則使用下面的方式進行:
您的密鑰必須不公開可見,SSH 才能工作。如果需要,請使用此命令:chmod 400 xxxx.pem通過其 公有 DNS 連接到您的實例,如實例為: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、獲取用于啟動實例的 AMI 的默認用戶名稱
- 對于 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)商核實。
7、允許從您的 IP 地址到您的實例的入站 SSH 流量
該步驟即配置安全組,開放22端口用于SSH連接,80或443用于訪問Web程序;
8、使用secureCRT連接實例服務(wù)器
在secureCRT中直接點擊要登陸的服務(wù)器,如下則表示登陸成功:
至此,實例已經(jīng)全部配置完成,并成功連接。
安裝Nginx
因為使用的是ubuntu,則可以直接使用命令進行安裝:
sudo apt-get install nginx
安裝完成后,啟動nginx,執(zhí)行命令:
sudo service nginx start
檢測nginx在服務(wù)器是否安裝成功,執(zhí)行命令:
curl http://localhost
如果出現(xiàn):如下圖則表示安裝成功。
參考:
https://www.jianshu.com/p/a43c3e0f0127訪問
直接在PC瀏覽器地址欄輸入彈性IP地址,如果出現(xiàn)下圖則表示nginx安裝成,并且服務(wù)器實例已經(jīng)可用,后續(xù)就可以在服務(wù)器部署相關(guān)程序。
其他
- 刪除實例:在實例列表要刪除的實例上右鍵-實例狀態(tài)-終止即可,終止即代表刪除實例,但是不會馬上刪除,一般十分鐘左右會自動銷毀。
- 設(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.htmlAmazon EC2 實例介紹:
https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/Instances.htmlAWS EC2搭建web服務(wù)器:
https://www.jianshu.com/p/a43c3e0f0127