利用亞馬遜AWS搭建我的服務器

註冊帳號

註冊地址: https://portal.aws.amazon.com/billing/signup#/start

   註冊過程比較麻煩,須要用信用卡,中間的信息填寫的內容也比較多,而且目前必須註冊國際帳號才能我的使用EC2,亞馬遜的還專門打電話告知了我以後又發送了郵件告訴了我具體的註冊方式。註冊的密碼必須是大小寫字母加數字!
defaulthtml

登錄

登錄地址: 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,因此註冊的信息記好,登錄時使用郵箱登錄或者用戶名登錄便可。
defaultpython

建立實例

   一、登錄以後,在控制面板頁面左上角選擇「服務」,能夠查看亞馬遜有哪些服務可使用,由於我使用的是EC2,因此選擇第一個EC2就能夠了。
default
defaultnginx

   二、選擇EC2後,會跳轉到EC2 Dashboard,左側會顯示和EC2相關的配置菜單,點擊實例,能夠查看當前建立好的實例,若是沒有則是空。
ec2 dashboard
defaultweb

   三、點擊「啓動實例」按鈕,會跳轉到實例配置頁面:shell

  • 步驟 1: 選擇一個 Amazon 系統映像(AMI)

   在這裏能夠選擇實例的系統,若是是免費用戶能夠勾選「僅免費套餐」,而後選擇實例系統,主要有Linux系統和Windows系統,包括Amazon Linux 2 AMI、SUSE Linux Enterprise Server 1五、Red Hat Enterprise Linux 7.六、Ubuntu Server 18.04 LTS、Microsoft Windows Server 2016 Base等等,根據本身的喜愛選擇系統,系統也支持X86和ARM可供選擇,點擊選擇可進入下一步。編程

  • 步驟 2: 選擇一個實例類型json

       在這裏選擇實例的配置,由於是免費帳戶,因此只能選擇免費的實例,免費的套餐會有提示,配置是1個CPU,1G內存,點擊下一步「配置實例詳細信息」。
    defaultubuntu

  • 步驟 3: 配置實例詳細信息centos

       在這裏能夠配置建立時實例的一些信息,能夠本身進行配置,也能夠直接默認,點擊下一步「添加新存儲」。
    default瀏覽器

  • 步驟 4: 添加存儲

       該項中能夠設置硬盤存儲分區,默認只配置好了根目錄,卷類型能夠選擇,也支持添加新卷,也能夠選擇默認。配置好以後點擊下一步「添加標籤」。
    default

  • 步驟 5: 添加標籤

       該項中能夠默認或者自定義標籤,標籤由區分大小寫的鍵值對組成。例如,您能夠定義一個鍵爲「Name」且值爲「Webserver」的標籤。可將標籤副本應用於卷和/或實例。也能夠不進行配置,直接進行下一步「配置安全組」。

  • 步驟 6: 配置安全組

       該項中,用於配置實例中安全組的信息,針對實例能夠將實例加入已有的安全組或者是選擇新建安全組, 安全組名稱與描述可自定義,此處默認開啓的是SSH類型,端口號是22,用於使用ssh方式登錄服務器。由於後面將要說到須要配置nginx,因此此處能夠添加兩個規則用於nginx訪問:

    • 點擊添加http規則:類型選擇HTTP,端口範圍是80,能夠是TCP,來源能夠改成「任意位置」,描述能夠自定義填寫。
    • 點擊添加https規則:類型選擇HTTPS,端口範圍是443,能夠是TCP,來源能夠改成「任意位置」,描述能夠自定義填寫。

    點擊下一步「審覈和啓動」。
    default

  • 步驟 7: 覈查實例啓動

       該項中會顯示以前幾個步驟中配置的相關信息,確認無誤後點擊啓動,會填出須要選擇現有密鑰對或着新密鑰對,由於是新建的實例在這裏是沒有密鑰對的,因此選擇建立新密鑰對,填寫密鑰對名稱, 填寫以後必定要下載密鑰對,由於這個後面須要用到,而且這是沒有下載的話後面就沒法再獲取到這個密鑰對文件了,彈出框也會提示「建立文件後,您將沒法再次下載該文件」。具體建立密鑰對的其餘方式後面再說。填寫密鑰對之後,點擊「啓動實例」按鈕,會跳轉到啓動狀態頁面,點擊右下角「查看實例」到EC2 dashboard查看建立的實例。
    default

    defaultdefault

    至此,實例已經建立完畢,後面就是作相關的配置。

配置實例

一、在實例一欄中能夠看見已經建立的實例,列表會顯示實例ID、IPV四、實例狀態、密鑰名稱等,也能夠點擊右上角小齒輪按鈕,配置須要顯示的列。
default

二、配置安全組

在建立實例的時候可能會忘記配置HTTP會其餘相關的規則,則能夠在這裏從新進行配置
複製代碼
  • 勾選要配置的安全組,在上面點擊「操做」按鈕,或者在要配置的安全組那一行右鍵都行,而後能夠進行刪除安全組、添加入站或者出站規則等,這裏咱們添加入站規則,即與上面的操做同樣,若是不開啓80或443端口的話,後面配置好nginx外部是沒法訪問的:
    • 點擊添加http規則:類型選擇HTTP,端口範圍是80,能夠是TCP,來源能夠改成「任意位置」,描述能夠自定義填寫。
    • 點擊添加https規則:類型選擇HTTPS,端口範圍是443,能夠是TCP,來源能夠改成「任意位置」,描述能夠自定義填寫。

三、配置彈性IP

在實例中會有公有IP和私有IP,彈性公網IP是一種NAT IP。它實際位於雲服務提供商的公網網關上,經過NAT方式映射到了被綁定的雲主機實例的私網網卡上。所以,綁定了彈性公網IP的雲主機能夠直接使用這個IP進行公網通訊,可是在它的私網網卡上並不能看到這個IP地址。
複製代碼
  • 點擊「分配新地址」按鈕,會跳到分配新地址頁面,而後選擇IPV4地址池,能夠是本身配置,也能夠選擇亞馬遜的自動分配的,這裏選擇亞馬遜池,點擊「分配」按鈕,點擊後就會顯示分配好的彈性IP。

    • 返回到彈性IP列表,選擇剛配置好的彈性IP,此時是沒有綁定實例和私有IP的,選中該列,點擊上面的「操做」按鈕,選擇「關聯地址」,跳轉到關聯地址頁面,選擇實例以及私有IP,實例就是剛纔建立的實例,私有IP的查看也是在實例列表中,亞馬遜也有提示:若是你將一個彈性 IP 地址與您的實例相關聯,您目前的公有 IP 地址將被釋放,選擇好後點擊關聯,這樣後面使用ssh鏈接實例時,就可使用配置好的彈性IP地址。
    ip

四、密鑰對配置

剛纔說到配置實例時須要選擇密鑰對,這裏能夠配置新密鑰對,用於後續建立實例時使用,也能夠導入密鑰對。
複製代碼
  • 點擊左側「密鑰對」選項,跳轉到密鑰對列表,點擊左上角「建立密鑰對」按鈕,輸入密鑰對名稱,點擊」建立「,以後密鑰對會自動下載到本地,用於以後登錄時使用。
  • 須要刪除密鑰對的話直接右鍵刪除或者勾選以後點擊刪除便可。

   至此,實例的一些經常使用基本配置就已經完成了,接下來在本地對已經啓動的實例進行鏈接。

鏈接

   本地鏈接實例時比較麻煩,在實例裏表中,勾選想要鏈接的實例,會彈出鏈接實例的方式:一種是使用SSH客戶端本地鏈接,一種是直接從瀏覽器鏈接可是須要安裝Java,這裏使用SSH客戶端本地進行鏈接。

   官方給的建議是使用PuTTY進行鏈接,可是Mac安裝PuTTY特別麻煩,而且須要安裝一些其餘的東西,過於繁瑣,這裏我使用了SecureCRT進行鏈接,下載地址:www.vandyke.com/products/se…

   同時官方文檔也給出其餘鏈接方式,可是比較噁心的是,文檔內容特別多,在這裏咱們只看使用SSH方式鏈接AWS EC2 Linux版本實例,這是官方給的方式,下面我寫出來的是已經填過的坑,鏈接實例是有先決條件的,就是如下七條:

  • 一、安裝SSH客戶端
  • 二、安裝 AWS CLI 工具
  • 三、得到實例的 ID
  • 四、得到實例的公有 DNS 名稱
  • 五、查找私有密鑰並驗證權限
  • 六、獲取用於啓動實例的 AMI 的默認用戶名稱
  • 七、容許從您的 IP 地址到您的實例的入站 SSH 流量

一、安裝SSH客戶端

   通常Mac有自帶的終端就可使用,可是由於首次鏈接的使用是使用密鑰文件進行鏈接的,因此終端工具不是很方便了,剛纔推薦的secureCRT,可使用密鑰對文件轉換後的密進行服務器登錄,須要將下載下來的密鑰對文件即後綴名爲pem的文件轉爲密鑰便可。

  • 安裝secureCRT,Mac傻瓜式安裝;
  • 轉換密鑰對文件爲密鑰串:
    • 使用命令:ssh-keygen -y -f XXX.pem > XXX.pem.pub轉換爲密鑰串文件;
    • 使用命令:cat XXX.pem.pub查看密鑰串;
  • 配置secureCRT
    • 點擊 + 新建,會彈出對話框,直接continue; 1
    • port和firewall默認,填寫hostname,即上面說到的彈性IP,填寫username,即用於啓動實例的 AMI 的默認用戶名稱,若是是ubuntu的系統,則username就是ubuntu,其餘的後面會說到;
    • 點擊continue,sessionname和description隨便填,就是到時候顯示的名稱而已;點擊done
    • 列表會顯示建立好的項,顯示的名字就是剛纔sessionname,右鍵,點擊Properties;
    • 在彈出框中選擇SSH2,在右面的Authentication區域,若是Properties不可點擊,則先點擊一下左邊的列表區域中的Public Key,再點擊Properties; 2
    • 在彈出框中,上方勾選「use session public key setting」,而後在下面的Use identity or certificate file中填寫剛纔使用命令生成的密鑰串的那堆字符 3
    • 點擊ok關閉對話框便可。
        至此,secureCRT配置完畢,即SSH客戶端配置完畢;使用Windows的朋友可使用Xshell鏈接。如今還沒法鏈接AWS,還須要接下來的幾步。

二、安裝 AWS CLI 工具

  首先是官方文檔:docs.aws.amazon.com/zh_cn/cli/l…,而後填坑。官方推薦Mac使用pip安裝,而且又有一堆先決條件,可是問題又有一堆,須要的東西比較複雜,下面的是比較簡單快捷的方式:

  • 安裝Python,Mac有自帶的Python不須要再次進行安裝,版本須要在2.6.5以上,Windows用戶請自行安裝;
  • 安裝 AWS CLI

    • 下載 AWS CLI 捆綁安裝程序,在終端執行命令: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出現版本號則表示安裝成功

      這種方式是Mac下最簡單的了,若是使用pip安裝,則aws --version命令會提示無效,則須要配置環境變量,主要是配置python的環境變量,比較麻煩,因此上面的方式是比較簡單的。

  • 配置 AWS CLI

    配置AWS CLI使用 aws configure命令比較快捷
    複製代碼
    • 獲取 IAM 用戶的訪問密鑰 ID 和祕密訪問密鑰。

      訪問密鑰包含訪問密鑰 ID 和祕密訪問密鑰,用於簽署對 AWS 發出的編程請求。若是沒有訪問密鑰,您可使用AWS 管理控制檯進行建立。建議您使用 AWS 帳戶根用戶 訪問祕鑰而不是使用 IAM 帳戶根用戶訪問祕鑰。IAM 讓您能夠安全地控制對您的 AWS 帳戶中 AWS 服務和資源的訪問。

      僅當建立訪問密鑰時,您才能查看或下載祕密訪問密鑰。之後您沒法恢復它們。不過,您隨時能夠建立新的訪問密鑰。您還必須擁有執行所需 IAM 操做的權限。有關更多信息,請參閱 IAM 用戶指南 中的訪問 IAM 資源所需的權限。

    一、打開 [IAM 控制檯](https://console.aws.amazon.com/iam/home?#home)。
    二、在控制檯的導航窗格中,選擇 Users。
    三、選擇您的 IAM 用戶名稱(而不是複選框)。
    四、選擇安全證書選項卡,而後選擇建立訪問祕鑰。
    五、要查看新訪問祕鑰,請選擇顯示。
    複製代碼
    • 在終端執行:aws configure會出現下面的內容,根據提示進行填寫:

      一、AWS Access Key ID [None]: 訪問密鑰 ID,在實例列表查看
      例: AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
      二、AWS Secret Access Key [None]:私有訪問密鑰
      例:AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
      三、Default region name [None]:默認登錄名稱,ubuntu系統爲ubuntu
      例:Default region name [None]: us-west-2
      四、Default output format [None]:默認輸出文件類型,json或text
      例:Default output format [None]: json
      複製代碼

  至此,AWS CLI基本配置完成,若是要進行更多配置,可查看官方文檔

三、得到實例的 ID

   在EC2 dashboard,實例列表中查看實例ID;

四、得到實例的公有 DNS 名稱

   在EC2 dashboard,實例列表中查看實例的公有 DNS 名稱,列名爲「公有DNS(IPv4)」;

五、查找私有密鑰並驗證權限

   這步就是使用後綴名爲pem的文件進行登錄系統,前面已經配置了secureCRT就不須要這步了;
若是還須要的話,則使用下面的方式進行:

您的密鑰必須不公開可見,SSH 才能工做。若是須要,請使用此命令:
chmod 400 xxxx.pem
經過其 公有 DNS 鏈接到您的實例,如實例爲:ec2-13-59-115-229.us-east-2.compute.amazonaws.com
則使用命令:ssh -i xxxx.pem 服務器用戶名@ec2-13-59-115-229.us-east-2.compute.amazonaws.com
複製代碼

六、獲取用於啓動實例的 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 供應商覈實。

七、容許從您的 IP 地址到您的實例的入站 SSH 流量

   該步驟即配置安全組,開放22端口用於SSH鏈接,80或443用於訪問Web程序;

八、使用secureCRT鏈接實例服務器

   在secureCRT中直接點擊要登錄的服務器,以下則表示登錄成功:
default
   至此,實例已經所有配置完成,併成功鏈接。

安裝Nginx

由於使用的是ubuntu,則能夠直接使用命令進行安裝:sudo apt-get install nginx
安裝完成後,啓動nginx,執行命令:sudo service nginx start
檢測nginx在服務器是否安裝成功,執行命令:curl http://localhost
若是出現:以下圖則表示安裝成功。
nginx

參考:www.jianshu.com/p/a43c3e0f0…

訪問

   直接在PC瀏覽器地址欄輸入彈性IP地址,若是出現下圖則表示nginx安裝成,而且服務器實例已經可用,後續就能夠在服務器部署相關程序。
nginx

其餘

  • 刪除實例:在實例列表要刪除的實例上右鍵-實例狀態-終止便可,終止即表明刪除實例,可是不會立刻刪除,通常十分鐘左右會自動銷燬。
    default

  • 設置服務器root密碼:

    • 使用命令:sudo passwd root
    • 會提示須要輸入兩次密碼,輸入便可
  • 設置服務器用戶密碼:

    設置完密碼後,後續登錄能夠直接使用終端或者其餘SSH客戶等登陸,使用彈性IP地址、用戶名、密碼便可
    複製代碼
    • 切換到root用戶,使用命令passwd 你的用戶名
    • 輸入兩次密碼便可

總結

總的來講,配置的流程相對比較繁瑣,尤爲是配置AWS CLI裏面內容比較多,官方文檔給的也比較多,若是疑問,請聯繫bo.wang1016@outlook.com

參考

AWS Command Line Interface介紹:docs.aws.amazon.com/zh_cn/cli/l…
Amazon EC2 實例介紹:docs.aws.amazon.com/zh_cn/AWSEC…
AWS EC2搭建web服務器:www.jianshu.com/p/a43c3e0f0…

相關文章
相關標籤/搜索