部署專案到 AWS 並使用 VPC ELB EC2
部署專案到 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-http
與 pamis-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
以上步驟就完成了