iT邦幫忙

2023 iThome 鐵人賽

DAY 28
0

摘要

  • 描述如何使用 AWS 的 ECS
  • Task Defination
  • Run Task

ECS

Cluster

  • ECS console 先建立一個叢集
  • 運算來源可以選擇 Fargate 或 EC2 或是 ECSAnywhere
  • 先建立一個叢集,叫什麼都可以,要注要叢集使用的網路是環境中的哪一段

Task Defination

  • 以東京為例的話,在 ECS console 左側選擇 Task defination,按下 Create new task defination,連結: https://ap-northeast-1.console.aws.amazon.com/ecs/v2/task-definitions?region=ap-northeast-1
  • 幫 Task 命名,選擇 Fargate 以及配給的 CPU 和 Memory
  • Task execution role 是必須的,如果不曾用過的話,什麼都不用改,console 的選單預設會幫你選擇 Create new role
  • 在 Container-1 這段,選擇映像檔來源,複製前一篇製作的 ECR URI,幫容器取個名字
    https://ithelp.ithome.com.tw/upload/images/20230929/20141784L3c1cehvaQ.png
  • 因為沒有在上面架網站,所以用不到的 80 port 可以移除掉
    https://ithelp.ithome.com.tw/upload/images/20230929/201417846LHAnnjDay.png
  • 填入環境變數
    https://ithelp.ithome.com.tw/upload/images/20230929/20141784Vii1fxkgit.png
  • 完成建立

Run Task

  • 根據 Task defination 去執行一個 Task
    https://ithelp.ithome.com.tw/upload/images/20230929/20141784UHTrgldDM2.png
  • 可以看到有個 Task 正在被喚起
    https://ithelp.ithome.com.tw/upload/images/20230929/20141784ID7u6SM1eX.png
  • 點進去看 Logs,容器正在運作中
    https://ithelp.ithome.com.tw/upload/images/20230929/20141784mJHWZqeoQn.png
  • 正當投影片產好後,發現公司的網管禁止海外連線
    https://ithelp.ithome.com.tw/upload/images/20230929/201417845dMd0WgCkQ.png
  • 備註1:我原本選擇用 Fargate 而這個會使容器運作在 AWS 所管理的主機上,於是那個 IP 便是來自「海外」... 會根據所選取的 EC2 Region 而定,如東京、新加坡等
  • 備註2:我原本在測試 PPTBoss 容器發信的時候,都是在家或是在公司,走台灣的 Public 向本公司的 mail server 進行連線,所以沒有被阻擋。然而,將容器直接運行在 Fargate 的話,如果直接走 Internet 的話,就不是台灣的 IP,所以被阻擋了...
  • 備註3:要解決上述問題,要請公司網管配合允許 IP、或者是從台灣 IP、或者是從公司內部網路去進行和 Mail Server 連線

結論

  • 我暫時先將容器放到公司內網運作,是可以執行寄信的,不過鐵人賽文章,要寫讀者遇到之後如何解決,所以建議作法如下:
    1. 請公司網管允許來自國外 Fargate 的 IP 連線風險高,可以解決連線問題但會增加風險,和當初禁用外國 IP 的立意是矛盾的,所以不建議這麼做
    2. 將容器放在公司內部主機裡運作,透過 ECSAnywhere 向 ECS Cluster 註冊成為 ECS 的算力
    3. 打一條 Site-to-site VPN 串通雲和地,之間走 Private IP 進行 Mail Server 登入

上一篇
Day 27 - 容器映像檔搬家、Amazon ECR 和 Docker Hub
下一篇
Day 29 - 使用 Linux 主機部署 PPTBoss 容器服務
系列文
挽救肝指數 x 職場生存術 x 老闆愛看的投影片製造機30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言