跳至主要內容

部署專案到 AWS 並使用 VPC ELB EC2

Pamis Wang大约 3 分鐘雲端AWSELBEC2

部署專案到 AWS 並使用 VPC ELB

前言

由於工作中需要把專案部署到 AWS
這篇文章就當作是個步驟筆記吧

部署目標

本次目的是把前後端專案都部署到 AWS 上,使用 VPC 、 ELB 、 EC2 、 RDS 等服務。

但本次教學還不會用上 Auto Scaling ,這意味著不會自動擴展。

如果沒有使用 Amazon EC2 Auto Scaling 就要自己手動管理 EC2。

  • VPC:虛擬私有網路,將專案服務都集中在虛擬私有網路獨立起來便於管理,對於安全性也比較好
  • ELB:負載平衡,根據流量自動導向負荷較低的服務
  • EC2:虛擬機會開兩台,一台跳板主機開放 ssh port 跳到專案機,一台專案主機不對外只開放 http 和 https 的 port
  • RDS:後端專案的資料庫

建立 VPC

2 個公有子網路
2 個私有子網路
NAT 閘道為每個可用區域

NAT 閘道選無,因為是用自己的帳號所以想當免費仔。
實際上根據自己專案需求來選擇。

建立 EC2

跳板主機的安全群組

pamis-project-ssh:允許 ssh port 連入
建立跳板主機的安全群組,VPC 要選剛剛建立的。

跳板主機

建立跳板主機

重點是網路的部分
VPC 一定要選對
子網路要選 public 不然外面連不進來
啟用自動指派公有 IP (注:如果想用彈性 IP 也行)
常見安全群組則是選剛剛建立的 pamis-project-ssh

專案主機的安全群組

建立安全群組 pamis-project-http:允許 http 和 https 連入

建立安全群組 pamis-project-jump:允許 跳板主機 連入

這裡比較特別,需要填入跳板機的私有 IP 。

專案主機

建立專案主機

重點也還是網路的部分
VPC 一定要選對
子網路要選 private 不然會對外暴露,跳板機就白開了
不要啟用自動指派公有 IP
常見安全群組則是選剛剛建立的 pamis-project-httppamis-project-jump

測試連線

參考以下設定

# pamis-project-ec2-jump
Host pamis-project-ec2-jump
	HostName 18.182.31.165
	User ubuntu
	PreferredAuthentications publickey
	IdentityFile ~/.ssh/pamis-dev-aws.pem

# pamis-project-ec2
Host pamis-project-ec2
	HostName 10.0.137.3
	User ubuntu
	Proxyjump pamis-project-ec2-jump
	PreferredAuthentications publickey
	IdentityFile ~/.ssh/pamis-dev-aws.pem

Proxyjump 就是設定要用哪個跳板主機來登入

連到跳板主機

連到專案主機

如果出現以上訊息就代表步驟都正確

建立目標群組

目標群組在 EC2 側邊選單下面

重點一樣選對 VPC

下一步會看到這個註冊頁面

選擇專案主機

建立負載平衡器

終於最後一步驟

這邊設定要留意的比較多
重點一樣選對 VPC
然後把兩個子網路都打勾
安全群組選 http

以上步驟就完成了

參考資料

什麼是 Amazon VPC?open in new window
教學課程:設定擴展和負載平衡應用程式open in new window

上次編輯於:
貢獻者: Pamis Wang,Pamis Wang