Albert Yu

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day21 – AWS Devops(4)

Day21 - AWS Devops(4) 05 CodeBuild 官方連結 AWS CodeBuild 這服務簡單來說就是幫你測試程式碼是否可以正常的運行 如果以AWS內服務來結合的話 可以直接結合在CodePipeline的流程之中 原先是 CodeCommit -> CodePipeline -> CodeDeploy -> 目標主機中 新增CodeBuild之後 測試成功的狀況之下 CodeCommit -> CodePipeline -> CodePipeline送CodeBuild進行測試-> CodeBuild測試成功並告知CodePipeline -> CodePipeline繼續部署 -> CodeDeploy -> 目標主機中 測試之敗的狀況之下 CodeCommit -> CodePipeline -> CodePipeline送CodeBuild進行測試-> CodeBuild測試失敗並告知CodePipeline -> CodePipeline暫停部署並通知部署失敗 在這個狀況一下可以大幅減低基礎測試的時間與人力 進而把人力投入到

By Albert Yu

2019ironman 10th - Everything on Azure - LAMP系統營運者 on Azure

2019ironman 10th – Everything on Azure – Day21 – 常用服務 3.Web service-(13)

Day21 - 常用服務 3.Web service-(13) 建置流程 13 部署選項 這是在Web service最後一個常用且重要的功能 如果是傳統開發商可能使用FTP上傳已經足夠 但如果是系統自行維護那建議還是導入git做版本控管 部署選項就是讓您結合git的工具 選擇流程如下圖 點選您要的git類型並進行授權完 Web service就會開始自動化取得您的git庫並開始進行自動化部屬了

By Albert Yu

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day20 – AWS Devops(3)

Day20 - AWS Devops(3) 03 AWS Devops 中有個角色不可或缺但是如果是用Elastic Beanstalk 基本上一定會被忽略的服務 AWS CodeDeploy 官方連結 CodeDeploy 要說他怎麼用或是能做什麼 說出個長篇大論絕對沒問題 但是要用一個簡單的說法就是CodeDeploy收到程式碼後協助去將程式碼塞進主機 但是因為Elastic Beanstalk已經是內建了所以會沒有機會設定這些東西 04 有人將程式碼塞進主機 也需要有人發現程式碼更新了將程式碼取出來 負責這工作的就是 AWS CodePipeline 官方連結 CodePipeline 他的工作很簡單就是不停的去看git更新了沒 一但更新了就將他取出交給CodeDeploy去處理 當然這都是最簡單的說法 實際執行上會有很多細節的問題需要處理

By Albert Yu

2019ironman 10th - Everything on Azure - LAMP系統營運者 on Azure

2019ironman 10th – Everything on Azure – Day20 – 常用服務 3.Web service-(12)

Day20 - 常用服務 3.Web service-(12) 建置流程 11 備份 這邊是內建的備份與還原功能 這邊要注意的是這個備份是需要自己去設定的 而不是在各個方案中有寫一天備份多少次啊 他就會自動的 所以如果建立完appservice一定要過來這邊設定一番 12 SSL設定 這邊有幾個比較重要的點是TLS不要降低最低就1.2因為在舊的版本要被瀏覽器棄用了 而且速度也不會比較快 另外appservice上傳SSL其實很麻煩 建議做法是我們傳統申請完SSL都會拿到 CSR + KEY + CRT + CA 但是AZURE不吃...... 他只吃PFX 所以需要參考下列連結來轉換格式並上傳了 將現有的自訂 SSL 憑證繫結至 Azure Web Apps 重點就是這段 轉完上傳就可以使用了

By Albert Yu

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day19 – AWS Devops(2)

Day19 - AWS Devops(2) 02 Devops就不得不談到git git是Devops的起點 AWS也有提供git相關的服務 AWS CodeCommit 他是AWS上面一個蠻實在的服務 小量使用您可以不用花到費用就可以有私人git的服務 而不像是GitHub如果不付錢就只有把程式碼公開一條路 基本上他的操作沒有特別複雜的地方 操作手冊如連結 什麼是 AWS CodeCommit 基本上只要會使用git的人 就可以很快上手CodeCommit

By Albert Yu

2019ironman 10th - Everything on Azure - LAMP系統營運者 on Azure

2019ironman 10th – Everything on Azure – Day19 – 常用服務 3.Web service-(11)

Day19 - 常用服務 3.Web service-(11) 建置流程 10 自訂網域 自訂網域是個很重要的功能 因為沒人希望自己做出來的網站網址是AZURE而不是自己的 在這頁有幾個比較要注意的點 一 DNS指向建議在新增主機名稱之前就先指向這個IP位置,因為要有驗證指向新增主機名稱才會生效才會生效 如:下圖在我還沒指向之時 二 域名不限制一個,如果你想綁定幾十個也可以 三 如果有綁定憑證建議開啟僅限HTTPS,他可以協助您將所有http的網址轉換成https

By Albert Yu

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day18 – AWS DevOps(1)

Day18 - AWS DevOps(1) 01 如果要粗略的了解AWS DevOps 可以大約看一下下列的連結 DevOps 與 AWS 這邊來說最重要的一點就是這張圖片 這邊包含了持續部署的相關服務 但是您可能會很感覺整個說明的很模糊 實際上的流程如果是以這張網路上找到的圖可能是比較好的流程 以生產作業來說 整個流程就是 生產(產生程式碼) -> 測試(測試程式碼是否合乎規格與需求) -> 正式組裝(Deploy) -> 出產(服務運作) 如果把它全講可能又是一年的鐵人賽了 基本上介紹必要的東西 做最基礎的DevOps這才是跨入這領域最重要的一步

By Albert Yu

2019ironman 10th - Everything on Azure - LAMP系統營運者 on Azure

2019ironman 10th – Everything on Azure – Day18 – 常用服務 3.Web service-(10)

Day18 - 常用服務 3.Web service-(10) 建置流程 09 應用程式設定 以PHP模板為例 以共同的設定來說明 一律開啟 這個功能來說看程式怎麼設計,如果有持續連線的需求就開啟 HTTP 版本 以現在來說建議都開啟2.0,最主要的原因是因為h2比起1.1可以節省很多的請求而不需要多次連接與TCP交握可以加快速度。當然優點很多如果有興趣可以自行google或者點這連結 google結果 FTP存取 這邊主要是有沒有要啟用FTPS的協議或者是如果用github部署的話就可以切換或者是關閉 堆疊 選擇程式碼版本 這邊重點就是依需求選擇 需要特別注意的是 .NET Core 是 建置在linux上的 如果要使windows做底層的話需要再建立時直接選擇windows

By Albert Yu

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day17 – Elastic Beanstalk 操作說明(14)

Day17 - Elastic Beanstalk 操作說明(14) 19 今天主要來說 Events 與 Tags 並來為 Elastic Beanstalk 做個總結 Events 這邊是記錄各種Elastic Beanstalk有狀態變動時的紀錄 比如現在出現嚴重的4XX,新的Code部署失敗等等的問題 是用來最快速的問題查修之用 Tags 以Tag來說他是個很重要的服務 尤其是在於這個整合式服務。 如果沒有tag很容易在環境複雜的狀態之下 如果我有多台獨立的EC2與Elastic Beanstalk 是有可能操作機器的時候有錯誤的 加個Tag可以讓您可以快速辨識各個服務當中哪些是屬於哪個Elastic Beanstalk 總結 今天很剛好去拜訪一個用Elastic Beanstalk用不少的客戶(每月$3K以上) 再談她們新需求的時候 他們說出的點很值得維運人員來參考 客戶的IT:這個系統我希望他放在EB上,對我這邊的維運起來比較方便,我要抓log不用使用文字介面點一下就有,還要等你們的工程師去撈資料出來給我,實在是很不方便。還有如果不用EB整套

By Albert Yu

2019ironman 10th - Everything on Azure - LAMP系統營運者 on Azure

2019ironman 10th – Everything on Azure – Day17 – 常用服務 3.Web service-(9)

Day17 - 常用服務 3.Web service-(9) 建置流程 08 除了屬性之外還有一個可以了解所有資訊的地方! 取得發行設定檔 下載之後打開會呈現這樣 這邊跟屬性其實很像 差別就只差在三點 1. XML格式匯出 2. FTP的密碼給出來了! 3. 取得發行設定檔沒有給出ip 第一點說認真的一點都不重要,而且為何是給XML。不能有誠意給JSON嗎...... 重要的是第二點這是創建出來之後預設的密碼 當然的可以改他 但是如跟是要快速建立出環境並開始使用 可以直接下載這份XML並取的密碼 登入完FTP後就可以直接上程式碼了~go

By Albert Yu

2019ironman 10th - Cloud Native - AWS Elastic Beanstalk & Devops 網站維運實戰

2019ironman 10th – Cloud Native – Day16 – Elastic Beanstalk 操作說明(13)

Day16 - Elastic Beanstalk 操作說明(13) 18 今天主要來說 Alarms 與 Managed Updates Alarms 這個功能其實就是設定參數來發出告警訊息 但是因為Elastic Beanstalk是集合式服務所以在設定上是需要集體的設定 個別的主機設定上設定可能因為主機的汰換所以可能間控告警失效 如果要設定告警基本上還是在這邊設定會是比較好的 Managed Updates 這個功能其實就是列表Configuration中的Managed updates還有主機手動汰換更新的紀錄 這邊可以看到您的歷史更新紀錄以及主機的替換歷史 這是補足相關主機汰換歷史的地方 而這邊有一點需要注意的是如果是Configuration的Rolling updates and deployments汰換下來的主機這邊也看得到記錄!

By Albert Yu

2019ironman 10th - Everything on Azure - LAMP系統營運者 on Azure

2019ironman 10th – Everything on Azure – Day16 – 常用服務 3.Web service-(8)

Day16 - 常用服務 3.Web service-(8) 建置流程 07 『app service 方案』介紹其實很簡單 進入到『app service』上面的功能就比較多元了第一個也是最容易了解整體架構的地方是屬性 由上至下來說 重要的有 『輸出IP』與『其他連出 IP 位址』:這個兩個參數很重要因為你去跟其他服務連線都是使用這些IP,由於『app service』無法附加在VNET當中,所以如果要跟其他服務連線,他來的IP就是這幾個。這是不會變動的。 FTP系列參數:這邊除了密碼之外其他的參數跟你登入的位置與帳號都有,方便了解連入的方式。也可以得知log存放的位置。 其實對於傳統的開發者來說FTP是個非常重要的工具 這邊不可不說下微軟的好話 這個工具幫助了很多有學習障礙的傳統工程師們上雲啊

By Albert Yu