【PHP on AWS】Day 1 為什麼要寫這個主題以及進化路線

歸納出多套屬於自己的獨特技術體系是每個工程師的必修課,從七、八年前以 Wordpress 作出大量的行銷用網頁,與電商系統供公司同仁使用,到後幫客戶搬遷與優化各種服務到雲端上,由簡至繁、由繁至簡,一直是一個很大的課題。

如何使用 Lambda 來自動啟動或停止 EC2 實例

透過 Lamba 函數可以控制 Amazon EC2 使用量,自動停止、終止、重新啟動或復原您的執行個體。

當執行個體不再需要執行時,您可以使用停止或終止動作以協助您節省成本;當遇到系統受損的狀況,您可以使用重新啟動和復原動作,自動重新啟動這些執行個體或將它們復原到新的硬體。

當我的 Amazon EC2 實例狀態更改時,如何取得通知?

A 公司某員工在下班前誤關了某台 EC2,導致 B 服務無法使用,直到第二天其他同事才發現架設該服務的 EC2 處於關閉狀態,此時為時已晚!因此,A 公司希望在有人關閉實例時,能接收到電子郵件通知,要如何設定才能做到這一點呢?

如何使用 Amazon CloudWatch Events 建立 GuardDuty 問題清單發送通知

智慧偵測威脅功能 GuardDuty 在啟用之後,偵查到問題時,只會顯示在 GuardDuty 的 Console 界面上。若您希望系統偵查問題後,能自動寄送信件通知,需搭配 Amazon SNS 和 Amazon CloudWatch Events,設定完後成後,只要 GuardDuty偵查到問題,就能發送到郵件通知,即時掌握!

如何使用 AWS KMS 加密 Amazon S3 中的特定文件夾

AWS快問快答

您是否有因為資安的考量,需要將所有放置在 Amazon Simple Storage Service (Amazon S3)的檔案加密呢?

只要透過 Key Management Service (AWS KMS)就能辦到囉!今天就由博弘架構師一步步教大家如何設定:

如何使用 Systems Manager 對 EC2 進行密碼重設

AWS快問快答

當 EC2 的 Window Administrator password 遺失或是 密碼 無法進行解密時,我們可以使用 Systems Manager 的 Automations 進行密碼重設。以下我們將分成三步驟進行:確認無法登錄的 EC2、設定 Systems Manager、重新設定設置密碼。

如何將 EC2 與 RDS 複製到另一個區域

AWS快問快答

你有因為法規或公司策略轉換,需將 EC2 與 RDS 複製到另一個區域的需求嗎? 我們聽到你的心聲啦~ 現在,就讓博弘架構師一步步帶大家完成複製工作吧!

新網站超前佈署AWS,高效、高速助使用者體驗再升級!

企業新網站容器化,並採用多種無伺服器服務讓網站執行效能大幅提升,其中應用的 AWS 服務架構如下:客戶搜尋網址透過Route 53進入網站,並透過Amazon CloudFront在網站前段就進行加速。打包網站image到ECR裡面,發布到多個ECS上並透過無伺服器服務Fargate進行容器服務的管理

AWS EKS Fargate 建置及服務佈署(下)

建立 AWS Application Load Balancer Ingress controller現在要創建OIDC ID,向群集中運行的Fargate pod授予IAM權限,用來給予alb ingress controller pod 能夠對AWS Application Load Balancer…

AWS EKS Fargate 建置及服務佈署(上)

aws架構師專欄banner

隨著近日 Kubernetes (K8s) 的詢問度越來越高,架構師也陸續接到在 AWS 上營運 Kubernetes 的需求。其中最受歡迎的就是 AWS 上的 Kubernetes 服務 – EKS,就讓我們一起來看看 AWS EKS 服務的 建置 流程及相關應用吧!

更換 Amazon RDS 預設 latin 語系為 UTF-8

AWS快問快答

相信大家也有遇過 RDS MySQL 預設語系為 latin,因此將中文資料存入 MySQL 後,資料會變成亂碼的問題。今天,博弘就來為大家解惑,一步步學習如何將 Amazon RDS 預設 語系 改為 UTF-8。 點選 RDS 左方的 Parameter groups…

使用 aws 服務快速建置固定ip的 user

但在全球疫情持續延燒,在家工作已成企業趨勢,這些軟體的管控變成另外一種資訊的負擔。員工在家工作勢必無法限制IP,且在 VDI 與 VPN 設備的採購與建置時間壓力之下,透過 AWS Client VPN 與 AWS NAT Gateway IP 聯網,讓您的IP限制難題迎刃而解。

利用 AWS Storage Gateway 建置混合式檔案儲存空間(上)

aws架構師專欄banner

AWS Storage Gateway 提供混合式的儲存服務,能將地端資料與 AWS 雲端平台串接。它可以從地端應用程式提供對 Amazon S3 各層級的物件低延遲的 Network File System(NFS)存取,也可以同時存取任何支援 Amazon S3 API 的應用程式。

【架構師專欄】Day30 – 總結! (4)

在已經建立好 Elastic Beanstalk 的狀況之下,只要利用 AWS CodePipeline就可以將 CodeCommit、S3、GitHub 中的程式碼部署進 Elastic Beanstalk,且完全 自動化 。簡單整合就可以讓開發者脫離FTP更新的困境,對於未來還可以結合 ECS…

【架構師專欄】Day29 – 總結! (3)

Elastic Beanstalk 的 調整 重要的地方在於以下幾點:1.log的存放:往cloudwatch與S3。2.data的存放:關鍵是不要存local。3.擴展到底多少才夠:看監控的數值來一次又一次的調整。4.告警的設定:附載過高要說啊….

【架構師專欄】Day28 – 總結! (2)

今日的主題是 Elastic Beanstalk 的 建立 ,快速利用15分鐘的影片來跟大家複習Elastic Beanstalk建立有哪些要注意的地方,以及哪些地方可以快速省略帶過,有些可能是看文件速度比較慢,所以使用影片帶大家最做一次可以快上許多。

【架構師專欄】Day27 – 總結(1)

與其說是總結倒不如說是把整個流程快速的串過一遍,就像 Kubernetes 之餘 container,Elastic Beanstalk 對於 EC2 也是相同的概念,他是一個很棒的自動化部署環境,只是跟 Kubernetes 一樣他需要很多的時間來去了解與熟悉,好險他是基於比較多人懂的 EC2…

【架構師專欄】Day26 – AWS Devops(9)

第四步 Add deploy stage,這邊可以看到他可以部署到的地方有不少,我通常來說都是選擇 Elastic Beanstalk,如 AWS CodeDeploy 也是蠻常見的,因為他很常用來設置在EC2或者是混合雲上,如果是對 Amazon Elastic Container Service…

【架構師專欄】Day25 – AWS Devops(8)

在建立 AWS Codecommit 之後,只需要使用 AWS Codepipeline 就可以快速將服務串接起來,一樣回到新版的畫面,點選「Create pipeline」即可開始建立,第一步只需要填入 Pipeline name 就可以直接點選 Next 進到下一步…

【架構師專欄】Day24 – AWS Devops(7)

AWS Codecommit 操作方式,這個如果要說篇幅實在有點長,建議可以參考此連結的 GIT 教學[Git官方教學],如果讀完了 GIT 官方教學代表你對 GIT 操作有一定程度的瞭解了,那就可以來看 [AWS Codecommit官方的介紹文件]連線方式可以參考上篇文章的位置。

【架構師專欄】Day23 – AWS Devops(6)

首先就來看 CodeCommit 整個的建置過程,點選 Create repository,填寫Repository name後就可以點選Create建立專屬的Git庫,這樣就建立完成了,這時候就可以看到要如何連結的方式,建議都是以SSH為主。

【架構師專欄】Day22 – AWS DevOps(5)

X-Ray 這個服務在AWS中很少被提起,也可能是因為這是個很少人提到的服務,這個產品比較是偏向於開發者問題排除的工具與IT對於效能上的監控,但由於支援的程式碼種類較少,只有Node.js、Java、.NET導致目前適用的族群較小,但是如果您剛好是這三個語言的族群,蠻適合來用用的…

【架構師專欄】Day21 – AWS DevOps(4)

CodeBuild 這服務簡單來說就是幫你測試程式碼是否可以正常的運行,如果以 AWS 內服務來結合的話,可以直接結合在 CodePipeline 的流程之中,原先是CodeCommit -> CodePipeline -> CodeDeploy -> 目標主機中,新增 CodeBuild 後測試的狀況…

【架構師專欄】Day20 – AWS DevOps(3)

AWS Devops 中有個角色不可或缺但是如果是用 Elastic Beanstalk,基本上一定會被忽略的服務 AWS CodeDeploy , CodeDeploy 收到程式碼後協助去將程式碼塞進主機,但是因為Elastic Beanstalk已經是內建了所以會沒有機會設定這些東西…

【架構師專欄】Day19 – AWS DevOps(2)

Devops 就不得不談到 git,git 是 Devops 的起點,AWS 也有提供 git 相關的服務 AWS CodeCommit。他是AWS上面一個蠻實在的服務,小量使用您可以不用花到費用就可以有私人git的服務,而不像是GitHub如果不付錢就只有把程式碼公開一條路…

【架構師專欄】Day18 – AWS DevOps(1)

以生產作業來說整個流程就是生產(產生程式碼) -> 測試(測試程式碼是否合乎規格與需求) -> 正式組裝(Deploy) -> 出產(服務運作)如果把它全講可能又是一年的鐵人賽了,基本上介紹必要的東西,做最基礎的 DevOps 這才是跨入這領域最重要的一步。

【架構師專欄】Day17 – Elastic Beanstalk 操作說明(14)

今天主要來說 Events 與 Tags,並來為 Elastic Beanstalk 做個總結。Events這邊是記錄各種 Elastic Beanstalk 有狀態變動時的紀錄,比如現在出現嚴重的 4XX,新的 Code 部署失敗等等的問題,是用來最快速的問題查修之用。

【架構師專欄】Day16 – Elastic Beanstalk 操作說明(13)

今天主要來說 Alarms 與 Managed Updates。Alarms這個功能其實就是設定參數來發出告警訊息,但是因為 Elastic Beanstalk 是集合式服務所以在設定上是需要集體的設定,個別的主機設定上設定可能因為主機的汰換所以可能間控告警失效,如果要設定告警基本上還是在這邊設定會是比較好的。

【架構師專欄】Day15 – Elastic Beanstalk 操作說明(12)

今天主要來說 Health 與 Monitoring, Health 主要是來顯示主機狀態,但是如果部署出問題他會是一個很關鍵的功能。因為可以從這邊得知道部署失敗的主機的狀況以利排除問題,這邊遇到的問題其實蠻多元的,通常都是客製化的YAML寫錯,這時候就可以利用這功能快速排除問題。

【架構師專欄】Day14 – Elastic Beanstalk 操作說明(11)

Configuration 這個也差不多說完了,接下來維運的關鍵功能 Logs 。這個功能可以將現有的主機的 log 撈出讓您下載,這是一個很棒的功能,可以讓您快速得到您的訪問紀錄,如果您有設定生命週期或者說你有自動擴展跟縮小過,會發現漏掉很多log…

【架構師專欄】Day12 – Elastic Beanstalk 操作說明(9)

Monitoring 顧名思義是監控,但是這個設定在傳統上是頗麻煩的,如果是 Elastic Beanstalk 要監控的話,其實較為簡單,點入 Monitoring 之後可見下圖的畫面,這邊看以多加選擇來監控您所有主機的狀態,在監控上除了記憶體之外都監控的到…

【架構師專欄】Day11 – Elastic Beanstalk 操作說明(8)

Software這個欄位關係到您效能與log服務,所以他是很重要的,Container Options 這個不多說,因為會您環境的語言不同而有不同的參數,主要是這邊有很多關係到LOG儲存的項目,S3 log storage 與 Instance log streaming to CloudWatch Logs。

【架構師專欄】Day08 – Elastic Beanstalk 操作說明(5)

談到了程式碼的上傳就不得不優先提到 Rolling updates and deployments (滾動環境資訊更新) ,這個功能關係到了您網站在更新時是否會影響 USER 的使用!一般來說更新程式的狀況下是需要停機的,但在雲端的環境中不需要如此…

【架構師專欄】Day07 – Elastic Beanstalk 操作說明(4)

Elastic Beanstalk 建立之後首先會遇到的第一個問題,程式碼怎樣上傳與打包。在還沒結合 DevOps 時我們可以將程式碼打包上傳從 Running Version 進入後點選壓縮的檔案進行上傳,支援ZIP或WAR。這邊有個重點是打包的方式…

【架構師專欄】Day06 – Elastic Beanstalk 操作說明(3)

有一種連結中沒提到的狀態,當刪除完成的Elastic Beanstalk它會變成淺灰色,這時候他會保留數小時並不會直接消失如上圖中左邊的方格。 Environment ID :如果您如果想更進階使用CLI來操作這是一個關鍵,反之可能完全無用。URL:這個是您佈建環境預覽用的URL您可以點選並驗證程式是否正確

【架構師專欄】Day05 – Elastic Beanstalk 操作說明(2)

Configuration presets 預設是以Free Tier eligible來設定,基本上他預設都是以最新版本為主,但如果是要比較舊的版本可以點選 [Change platform configuration] 進行修改,像是預設為 PHP7.2 但是可能需要 PHP 5.5 的狀況。

【架構師專欄】Day04 – Elastic Beanstalk 操作說明(1)

選擇region,基本上依照個專案還有網站需求的不同而選擇不同的地區,您可能在AWS官方網站上面看到還有中國的機房,如果要用中國結點的話需要在AWS另外開立中國專用帳號,而[AWS 全球基礎設施]官方的說明中有提到` AWS 網路節點 `,網路節點代表的是AWS Cloudfront(CDN)所提供服務…

【架構師專欄】Day03 – Elastic Beanstalk 架構說明(2)

以單 Elastic Beanstalk 來進行建置,通常就這個架構是偏向單純,但是在系統運作上面附載高低差很大的時候,為了資源利用率最大化通常會使用Load Balancing與auto scaling的架構運行就會是必要的,在這種狀況之下除了Load Balancing類型的選擇之外您還需要考慮到…

【架構師專欄】Day02 – Elastic Beanstalk 架構說明(1)

Elastic Beanstalk 這個服務最小的規模就是一台EC2作為Web Server,由於他是AWS代管的服務,所以內建幾項東西1. 程式版本控管2. auto scaling 的可行性3. 多種程式語言的支援4. 監控機制的整合5. devops的可行性…

【架構師專欄】Day01 我眼中的 Elastic Beanstalk

Beanstalk 可以減少大量的部屬時間,不需設計複雜的擴展機制、反覆進行擴展測試與監控,調教只需要注意一點EB的主體是 Stateless Service (無狀態伺服器),程式的任何儲存行為絕不可以存放在本機,掌握了這個原則基本上我們就可以開始進行Elastic Beanstalk 的建置。