2025年1月6日 星期一
如何在阿里雲中有效防護DDoS攻擊並阻擋大量流量
2025年1月5日 星期日
AWS EC2當機(因EBS卷吞吐量超限)的對應做法
當 AWS EC2 實例發生當機,我方進行報修後得到以下相關回應:
1.原廠工程師檢查EC2實例,未發現底層主機有硬件故障和異常時間
- status check/狀態檢查均無異常
2.原廠工程師通過CloudWatch檢查3個EBS卷,沒有發現3個EBS個卷有異常事件產生,但發現該卷vol-xxxxxx吞吐量超限:
”指標” VolumeThroughputExceededCheck: 1 表明磁盤操作導致吞吐量超過該卷的上限。
綜合分析,EC2底層主機以及EBS均無發現有明顯異常事件,所見異常可能與根卷在特定時間段的大量讀取且導致吞吐量超限有關聯。
處理 EBS 卷吞吐量超限的根本方法是升級 EBS 卷的類型和性能,根據需求選擇合適的 EBS 卷類型(如 gp3、io1、io2),並確保 EC2 實例的性能能夠配合使用的存儲資源。如果吞吐量經常超限,還需要考慮優化應用程式的 I/O 操作,或將負載分散到多個磁碟卷中。本篇先針對EBS容量、EC2類型與設置警報來做說明。
1. 檢查並升級 EBS 卷類型
EBS 提供多種類型的磁碟,根據需求選擇合適的卷型可以避免吞吐量不足的問題。可以考慮升級現有的 EBS 卷類型,以提供更高的吞吐量。
一般用途 SSD(gp3):提供相對較好的性價比,支持自訂吞吐量和 IOPS。可以升級現有卷為 gp3,並根據需要設置吞吐量。(此選項可自定義吞吐量)
預設性能 SSD(gp2):吞吐量會受限於卷的大小,因此,卷太小可能無法達到足夠的吞吐量。
性能 SSD(io1/io2):提供高吞吐量和低延遲,適合要求高吞吐量和高 IOPS 的工作負載。
2. 增加 EBS 卷的容量
如果客戶使用的是 gp2 類型的 EBS 卷,吞吐量是與磁碟容量有關的。具體來說,增加磁碟容量可以提高吞吐量,避免瓶頸。另請注意:增加卷的容量(相關數值至少大於 10 GiB)。
3. 調整 EC2 實例的性能
確保 EC2 實例的大小和性能配置適合工作負載。如果使用的 EC2 實例本身的網絡性能或磁碟性能不夠強大,可能會對吞吐量設有限制。所以應根據需求進行升級 EC2 實例,選擇更高網絡性能和 I/O 性能的類型。
但此一修改須將EC2停機,才能修改實例類型,之後啟動實例還需要再確認性能是否改善。
4. 監控 EBS 性能並設置警報(避免狀況再發生的處置)
使用 AWS CloudWatch 監控 EBS 卷的性能,設置警報來提前識別吞吐量接近極限的情況。可設置警報以便當 EBS 卷的吞吐量達到一定閾值時,及時進行調整。
在CloudWatch操作介面可創建監控警報,選擇 EBS 卷的吞吐量(VolumeReadOps, VolumeWriteOps, VolumeThroughput 等指標),設定當吞吐量接近或超過閾值時觸發警報,並通過電子郵件或其他方式通知。
另外對Auto Scaling相關作法應可緩解相關異常狀況,以上資料供大家參考運用。
若要進一步針對操作系統層面檢視,原廠建議安裝atop等工具以收集相關指標與資訊,可參考下面的2個文章鏈接:
- 如何為執行 Amazon Linux、RHEL、CentOS 或 Ubuntu 的 EC2 執行個體設定 ATOP 監控和 SAR 監控工具? 請參考網址4
- 如何使用 ATOP 工具和 atopsar 工具,取得 EC2 Linux 執行個體中程序的歷史使用情況統計資料?請參考網址5
參考網址:
1. Request Amazon EBS volume modifications - Amazon EBS
2. Amazon EBS volume types - Amazon EBS
3. Amazon EC2 instance type changes - Amazon Elastic Compute Cloud
4. 設定適用於 EC2 Linux 執行個體的監控工具 | AWS re:Post
5. 使用 ATOP 工具在 EC2 Linux 執行個體上監控歷史資源使用情況 | AWS Re:Post | AWS re:Post
2025年1月3日 星期五
Azure 子網路建立教學
Azure 平台中的子網路(Subnet)是虛擬網路(Virtual Network,VNet)中的一部分,它允許用戶將虛擬網路劃分為更小的區域,以便進行網路隔離和更精細的流量管理。本教學將詳細介紹如何在 Azure 入口網站中建立子網路,過程簡單易懂,適合初學者。
前置條件
- 已有 Azure 訂閱。
- 在 Azure 中建立了一個虛擬網路(VNet)。若未建立虛擬網路,請先參考 Azure 虛擬網路建立教學。
- 已登入 Azure 入口網站。
建立子網路的步驟
步驟一:進入虛擬網路設定
步驟二:安全性
步驟三:設定子網路資訊
名稱(Name)
為子網路命名,例如Subnet-01。地址範圍(Address range (CIDR block))
指定子網路的 IP 地址範圍,格式為 CIDR,例如10.0.1.0/24。地址範圍需位於虛擬網路的範圍內,且不能與其他子網路重疊。(選填)服務端點(Service endpoints)
若需支援特定 Azure 服務(如存儲或 SQL 資料庫),可以啟用服務端點。(選填)委派(Delegation)
若子網路需支援特定服務(如 Azure Kubernetes Service),可以進行委派設定。(選填)網路安全群組(NSG)
可將現有的網路安全群組(Network Security Group)關聯到子網路中,以管理進出子網路的流量。(選填)路由表
若有自訂路由需求,可關聯現有的路由表。
步驟四:儲存設定
確認所有設定無誤後,點擊「建立」(Save)。
驗證子網路是否建立成功
- 返回虛擬網路的「子網路」頁面。
- 檢查是否出現剛剛建立的子網路名稱及其地址範圍。
- 子網路成功建立後,您即可在該子網路中部署虛擬機(VM)或其他資源。
小提示
子網路大小規劃
在設定地址範圍時,請根據需要容納的資源數量合理規劃地址大小,避免浪費 IP 資源。安全性設定
建議為子網路配置網路安全群組(NSG),以防止未授權的流量進入。命名規範
使用有意義的名稱,便於日後管理,例如根據功能或用途命名:Web-Subnet、DB-Subnet等。
結語
子網路是 Azure 虛擬網路的重要組成部分,能夠幫助用戶實現更高效的網路管理與隔離。本教學已涵蓋子網路建立的詳細步驟,您可以根據需求靈活配置子網路,提升雲端架構的靈活性與安全性。
如有其他疑問,歡迎隨時提出!
AWS ADS 和 MGN遷移應用
AWS ADS 和 MGN遷移應用
在進行地端伺服器(on-premises servers)遷移到 AWS 雲端的過程中,AWS 提供了多種工具來協助遷移工作,兩個常見的選擇是
AWS Application Discovery Service (ADS) 和 AWS Application Migration Service (MGN)。這兩者適合於不同的遷移需求,以下是它們的介紹和使用方式:
AWS Application Discovery Service (ADS)
- 功能:用於自動化地端伺服器的資料蒐集和分析,幫助你了解當前的 IT 環境和應用程式相依性,為遷移到 AWS 提供必要的資訊。使用 ADS,你可以獲取以下資訊:
- 伺服器規格
(CPU, Memory, Disk)
- 應用程式相依性和流量模式
- 效能使用情況
- 網路架構
- 優點:
- 自動化資料蒐集,無需手動分析現有環境。
- 提供詳細的應用程式依賴性和資源使用情況,協助制定最佳的遷移策略。
- 支援代理程式安裝及網路流量方式進行資料蒐集。
使用 AWS ADS 的步驟:
- 安裝
Discovery Agent:將 AWS Discovery Agent 安裝在需要遷移的地端伺服器上,它會自動蒐集系統性能和使用數據。
- 使用
Network-based Discovery:如果不想安裝代理程式,可以使用網路式的資料蒐集,它通過分析網路流量來獲取系統資訊。
- 查看分析結果:在 AWS 控制台中查看 ADS
蒐集到的資料,進行依賴性映射,瞭解哪些應用程式和伺服器之間有相互依賴。
- 規劃遷移策略:根據 ADS 提供的報告和建議,規劃伺服器和應用程式的雲端部署架構。
適用場景:
- 在進行伺服器遷移之前,想先深入分析現有 IT 環境、應用程式依賴性和網路架構的情況。
AWS Application Migration Service (MGN)
- 功能:提供自動化的伺服器遷移服務,將地端物理或虛擬伺服器的工作負載遷移到 AWS 雲端,無需重新架構應用程式。
- 用途:連續複製伺服器資料並自動化轉換,進行測試後可最小化停機時間,順利切換到 AWS。
- 優點:
- 持續的資料同步確保遷移過程中數據完整性。
- 支援測試遷移,避免遷移後應用程式運行異常。
- 遷移過程簡單,無需更改現有應用程式架構。
適用場景:
- 希望快速自動化地將伺服器遷移到 AWS,並且遷移過程需要保持最小停機時間的情況。
AWS MGN 的使用步驟:
- 在進行伺服器遷移之前,想先深入分析現有 IT 環境、應用程式依賴性和網路架構的情況。
- 設置遷移源和目標:
- 在 AWS 控制台中啟動
MGN,並添加需要遷移的地端伺服器。
- 配置目標伺服器的設置,包括 EC2 實例類型、VPC 網路設置等。
- 安裝 MGN 代理:
- 在地端伺服器上安裝
AWS MGN 代理程式。這將允許持續的資料同步,將地端伺服器的內容複製到 AWS。
- 進行遷移測試:
- 在實際遷移之前,可以啟動目標伺服器進行測試,確保應用程式和伺服器在 AWS 上能正常運行。
- 最終遷移和切換:
- 當所有測試完成並且一切準備就緒時,可以進行最終遷移切換。MGN 會將流量切換到 AWS 雲端伺服器,並最小化停機時間。
- 關閉地端伺服器:
- 一旦切換完成,地端的伺服器可以停機,並將所有操作轉移到 AWS 上。
總結:
- ADS 更適合在遷移之前進行環境的分析和規劃,了解系統架構和應用依賴性。
- MGN 則專注於實際的遷移過程,提供連續資料複製和最小停機時間的遷移服務,幫助企業順利完成遷移。
2025年1月2日 星期四
CSP類型的Azure訂用帳戶需開啟Cost Management相關權限才可看見預估費用Azure Cost
CSP類型的Azure訂用帳戶需開啟Cost Management相關權限才可看見預估費用
Azure Cost Management是Azure所提供的一套雲端成本控制和優化工具,重點在幫助用戶們有效管理在Azure平台上的支出。其中的功能包含了費用監控、預算管理、成本預測各個方面,可以讓用戶更好了解資源使用情況並進行優化調整。
而在建立新的虛擬機器時,Azure 入口網站會根據所選的配置(如 VM 大小、地區、作業系統等)即時顯示每月的預估成本(即 緊隨支隨付的帳戶才會估算顯示出費用)。 通常每月預估成本並不需要啟用到Cost
Management,但可能受限於訂用帳戶類型和原則設定,例如: CSP類型的Azure訂用帳戶……等,因此,會需要開啟Cost Management功能,並且除相關限制,才可顯示預估費用。
// 上圖為以CSP類型的Azure訂用帳戶為例 >>>有開啟Cost Management// 上圖為以CSP類型的Azure訂用帳戶為例 >>>無開啟Cost Management
參考資料:
估計在 Azure 入口網站 中建立虛擬機的成本 (預覽)
參考資料:
估計在 Azure 入口網站 中建立虛擬機的成本 (預覽)
2024年12月30日 星期一
有關國際站與中國站DCDN域名搬遷
有關國際站與中國站DCDN域名搬遷
DCDN遷移主要涉及域名和配置的遷移,而不是資料本身,因為DCDN是緩存在節點上的內容,以下將分為中國站與國際站來講解說明。
中國站
//上圖為中國站介面
DCDN控制台提供了「域名遷入」功能,允許用戶自行將域名從一個帳號遷移到另一個帳號。
步驟簡述:
在新帳號的DCDN控制台選擇「域名遷入」。
進行域名歸屬驗證(通常是通過添加TXT記錄到DNS解析)。
驗證通過後,完成域名遷入。
理論上,在DCDN的管理域名上
國際站
//國際站如上圖,紅框位置為按鈕本該位置,目前是沒有的
理論上,官方文檔文字描述與中國站一致,應要可以在域名管理
頁面使用遷移域名服務。
但實際上因為近期介於 DCDN、ESA
產品接替,短時間官方對於國際站目前還是不會提供”遷移域名”按鈕在介面上。
目前可提繳工單,授權後台請其協助操作。
並在工單內部提供如下資訊:
國際站 DCDN 無域名搬遷按鈕可操作,授權給後台同學搬遷
舊阿里雲 UID:(填入)
需搬遷域名:(填入)
新阿里雲新 UID:(填入)
參考資料:
中國站DCDN域名遷入:
國際站DCDN域名遷入:
2024年12月25日 星期三
如何在 Azure 上建立防火牆?
Azure 提供強大的雲端資源,能夠讓企業輕鬆管理並保護其網路安全。防火牆是其中至關重要的一環,能夠幫助你保護網路免受未經授權的存取和網路攻擊。本文將教你如何在 Azure 上建立與設定防火牆。
建立 Azure 防火牆的步驟
以下是逐步建立 Azure 防火牆的指南:
1. 登入 Azure 入口網站
首先,登入 Azure 入口網站。確保你擁有訂閱權限,並且目標資源群組已準備就緒。
2. 建立虛擬網路 (VNet)
Azure 防火牆需要虛擬網路作為其基礎設施。
在左側功能表中選擇 "虛擬網路"。
點擊 "建立",並填寫以下資訊:
名稱:為你的虛擬網路命名,例如
MyVNet。資源群組:選擇或建立一個新的資源群組。
位址空間:定義 IP 範圍,例如
10.0.0.0/16。子網路:新增至少兩個子網,例如
AzureFirewallSubnet(必須是 /26 或更大的範圍)和PublicSubnet。
點擊 "檢閱並建立",然後確認設定。
3. 建立 Azure 防火牆
在左側功能表中選擇 "防火牆"。
點擊 "建立",並依以下步驟進行:
資源群組:選擇剛剛建立的資源群組。
名稱:為防火牆命名,例如
MyAzureFirewall。區域:選擇與虛擬網路相同的區域。
虛擬網路:選擇之前建立的虛擬網路。
公用 IP 位址:建立新的公用 IP 位址,並為其命名,例如
MyFirewallIP。
4. 設定防火牆規則
Azure 防火牆支持應用程式規則和網路規則,以下是詳細步驟:
應用程式規則:
適用於 HTTP/HTTPS 流量控制。
在防火牆資源中,選擇 "應用程式規則集合",點擊 "新增規則"。
填寫以下資訊:
名稱:例如
WebAccessRule。優先順序:例如
100(數字越小優先級越高)。目標 FQDN:定義允許存取的網域,例如
*.example.com。
網路規則:
控制基於 IP 的流量。
在防火牆資源中,選擇 "網路規則集合",點擊 "新增規則"。
填寫以下資訊:
名稱:例如
AllowSSH。來源:指定來源 IP 範圍,例如
192.168.1.0/24。目標:指定目標 IP 範圍,例如
10.0.2.0/24。通訊協議與埠:例如
TCP和22(SSH)。
5. 配置路由表
防火牆需要正確的路由來處理流量:
在 Azure 入口網站中選擇 "路由表" 並建立新的路由表,例如
MyFirewallRouteTable。將路由表關聯到虛擬網路的子網。
新增路由規則:
名稱:例如
RouteToFirewall。目標地址前綴:例如
0.0.0.0/0。下一跳類型:選擇 "虛擬應用程式",並指定防火牆。
6. 測試與驗證
使用網路流量模擬工具,或者從受管制網段內進行連線測試。
驗證流量是否符合設置的規則,並調整策略以確保最佳保護。
2024年12月24日 星期二
阿里雲的DDoS高防設定
阿里雲的DDoS高防的實例規格如下
中國內地與非中國內地可選購的規格也有差異
中國內地的高防防護
1.保底防護:設定保底的防護流量,保底防護和彈性防護相同則無額外費用也無額外防護
2.彈性防護:超過保底但不大於彈性防護的流量仍可有效防護,依據超出保底防護的帶寬產生後付費
非中國內地的高防防護
1.保險防護:每月兩次阻擋5G以上異常流量
2.無限防護:每月無次數限制阻擋5G以上異常流量
無法選擇防護流量
可依業務選擇帶寬流量(流量按流入或流出中的較大值計算)
如流量大於所選帶寬 無法承諾SLA和DDoS防護效果 會造成丟包或影響業務
防護域名與端口數可依業務需求調整,業務QPS影響新建連接數與併發連接數依需求提高(與防護CC攻擊的異常請求相關)
Amazon Simple Storage Service版本控制
使用 S3 版本控制將物件的多個版本保留在一個儲存貯體中,以便可以還原意外刪除或覆寫的物件
S3啟用版本控制
- 登入 AWS
Management Console 並開啟 Amazon S3 主控台。
- 在 Buckets (儲存貯體) 清單中,選擇要啟用版本控制的儲存貯體名稱。
- 選擇 Properties (屬性)。
- 在 Bucket
Versioning (儲存貯體版本控制) 底下,選擇 Edit (編輯)。
- 選擇 Suspend (暫停) 或 Enable (啟用),然後選擇 Save
changes (儲存變更)。
列出已啟用版本控制之儲存貯體中物件版本
1.登入 AWS Management Console 並開啟 Amazon S3 主控台。2.在 Buckets (儲存貯體) 清單中,選擇包含該物件的儲存貯體名稱。
3.若要查看儲存貯體中的物件版本清單,請選擇 Show versions (顯示版本) 切換開關。
已啟用版本控制之儲存貯體中的物件
一.新增物件:
儲存貯體上啟用版本控制後,Amazon S3 便會自動將唯一的版本 ID 新增至儲存貯體中存放的每個物件 (使用 PUT、POST 或 CopyObject)。
二.擷取物件:
簡單 GET 要求會擷取物件的目前版本。下圖顯示 GET 如何傳回 photo.gif 物件的目前版本。
若要擷取特定版本,您必須指定其版本 ID。下圖顯示 GET versionId 要求如何擷取物件的指定版本
使用主控台下載特定版本
- 登入 AWS
Management Console 並開啟 Amazon S3 主控台。
- 在 Buckets (儲存貯體) 清單中,選擇包含該物件的儲存貯體名稱。
- 在 Objects (物件) 清單中,選擇物件的名稱。
- 選擇 Versions (版本)。
Amazon S3 會顯示該物件的所有版本。
- 選取要擷取版本之 Version
ID (版本 ID) 旁邊的核取方塊。
- 選擇 Actions (動作),選擇 Download
(下載),然後儲存物件。
三.刪除物件
啟用版本控制時,簡單 DELETE 無法永久刪除物件。Amazon S3 會在儲存貯體中插入刪除標記,而該刪除標記會成為具有新 ID 的目前物件版本。
若要永久刪除已使用版本控制的物件,您必須使用 DELETE Object versionId。
下圖顯示刪除所指定的物件版本會永久移除該物件
使用主控台刪除
- 登入 AWS
Management Console 並開啟 Amazon S3 主控台。
- 在 Buckets (儲存貯體) 清單中,選擇包含該物件的儲存貯體名稱。
- 在 Objects (物件) 清單中,選擇物件的名稱。
- 選擇 Versions (版本)。
Amazon S3 會顯示該物件的所有版本。
- 選取要永久刪除版本之 Version
ID (版本 ID) 旁邊的核取方塊。
- 選擇 Delete (刪除)。
- 在 Permanently
delete objects? (永久刪除物件?) 中輸入 permanently
delete。
四、取消刪除物件
如前所述,一般刪除是新增一個具有刪除標記得新版本,若要取消刪除則需要將具有刪除標記的版本移除。您必須在 DeleteObject versionId 要求中包含其版本 ID。
如果您只使用 DeleteObject 請求,其中目前版本為刪除標記 (不指定刪除標記的版本 ID),則 Amazon S3 不會刪去刪除標記,而是 PUTs 另一個刪除標記。
若要刪除具有 NULL 版本 ID 的刪除標記,必須在 DeleteObject 請求中作為
版本 ID 為 NULL。
















