2024年3月19日 星期二

如何使用 Amazon EBS Multi-Attach 將磁碟區連接至多個執行個體?及區域限制?

 

Amazon EBS Multi-Attach 可讓您將單一佈建 IOPS SSD (io1 io2) 磁碟區連接至在相同可用區域中的多個執行個體、或將多個啟用 Multi-Attach 的磁碟區連接至單一執行個體或一組執行個體。

磁碟區連接的每個執行個體都有共用磁碟區的完整讀取和寫入許可。Multi-Attach 可讓您在管理並行寫入操作的應用程式中,更輕鬆地提高應用程式可用性。

 

考量與限制

l   啟用多重連接的磁碟區最多可連接至位於相同可用區域的 Nitro System 上建置的 16 個執行個體。

l   Linux 執行個體支援啟用多重連接io1io2磁碟區。Windows 執行個體僅支援啟用多重連接的io2磁碟區。

l   可連接到執行個體的 Amazon EBS 磁碟區數目上限,取決於執行個體類型和執行個體大小。如需詳細資訊,可參考執行個體數量限制的說明。

l   只有在佈建 IOPS SSD (io1 and io2) 磁碟區上才支援 Multi-Attach

l   io1 磁碟區的 Multi-Attach 僅在下列區域提供:美國東部 (維吉尼亞北部)、美國西部 (奧勒岡) 和亞太區域 (首爾)

     需特別留意?所在區域?是否支援?沒支援點選到最後不出現

     Enable MuLti-Attach(選單)-如下圖

l   所有支援 io2 的區域均可使用 io2 的多重連接功能。





資料來源:

Amazon EBS Multi-Attach

https://docs.aws.amazon.com/zh_tw/ebs/latest/userguide/ebs-volumes-multi.html#considerations


執行個體磁碟區限制

https://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/volume_limits.html

 


若不透過EBS Multi-Attach,還有什麼方法可以實現多個實例共用磁片?

A:因這是原廠的產品規劃,無法以人工方式改動處理,可另外考慮建立NFS 來應對。

https://docs.aws.amazon.com/zh_tw/efs/latest/ug/nfs-automount-efs.html




2024年3月14日 星期四

如何從AWS CloudWatch觀察EC2是否因規則而重啟


使用EC2警示規則設定NetworkIn >= 300M,若超過300M時,將會觸發規則並使EC2 instance重啟。

如何觀察事件過程與監控圖,以下說明。




如上圖,切入進CloudWatch服務,左側點選所有警示,
可看到目前設置的規則警示,當NetworkIn >= 300M時,
被設置的EC2 instance將被重啟。




















之後點選進NetworkIn >= 300M警示規則裡,點選"動作",
下拉式選單"在資源狀態中檢視",
可以使用監控圖觀察有無突破300M














到此頁面中,往下滑可看到下方的網路進出監控圖,展開它

=

















以此圖為例,選擇"最大值",可以看到在9點至10點之間,
監控圖有突破300M,這時候就會觸發警示規則






如何觀察事件發生過程

如上圖,選擇警示規則裡的"歷程記錄",可以看到狀態更新與動作,
日期於2024-3-13 09:26分時,大於300M的警示規則啟動,
點進去日期裡可以看到詳細的說明























如上圖,可以看出警示規則的觸發時間、狀態變化,告警類型等等,
以上述例子而言,
名稱"Nat1"的入站網路流量超過了設定的閾值300M,從而觸發了警報


參考文件

編輯或刪除 CloudWatch 告警

建立警示以停止、終止、重新啟動或復原 EC2 執行個體








2024年3月7日 星期四

如何利用跑分軟體測試 AWS EC2 的效能

在各種場景中,您可能會需要在事前確認您的 EC2 效能是否符合業務需求,這時可利用「Geekbench 6」跑分軟體進行測試,完測結果會顯示各項系統資訊、跑分結果及核心效能。


以下範例使用 OS 為 Ubuntu、EC2 規格為 c6i.4xlarge,透過 CLI 安裝 Geekbench 6 的步驟:


1. 切換到自己設定要存放壓縮檔的目錄


2. 使用 wget 指令下載 Geekbench 6 壓縮檔。目前 6.2.2 是 Geekbench 6 官網最新的版本。

wget https://cdn.geekbench.com/Geekbench-6.2.2-Linux.tar.gz


3. 下載完成後,解壓縮

tar xf Geekbench-6.2.2-Linux.tar.gz


4. 然後進入 Geekbench 目錄:

cd Geekbench-6.2.2-Linux


5. 執行跑分測試:

./geekbench6


6. 測試結果並不會顯示在 console 上,而是會看到:

Upload succeeded. Visit the following link and view your results online:

  https://browser.geekbench.com/v6/cpu/xxxxxx

此 URL 就是您的受測機器產生的測試結果(xxxxx為 Geekbench 自動產生的跑分編號)。

Geekbench 6 網站上也可以看到其他不同規格的跑分資料。

https://browser.geekbench.com/search?utf8=%E2%9C%93&q=Amazon+EC2


7. 測試完成後若不想保留 Geekbench 6 的相關檔案就刪除下載的壓縮檔及解壓資料夾:

rm Geekbench-6.2.2-Linux.tar.gz 

rm -r Geekbench-6.2.2-Linux


除了使用 Geekbench 6 查看 EC2 效能,也可以利用 Vantage 這個網站查看 AWS 或 Azure 各種實例的核心資訊、以及位在不同區域之間所需的花費:

https://instances.vantage.sh/?region=ap-southeast-1&selected=c7g.4xlarge



參考資料:

Ubuntu 安裝 Geekbench 6 流程

https://medium.com/@dobszaijani/how-to-install-and-run-geekbench-6-on-ubuntu-from-the-terminal-89312d5dc757


Geekbench 6 官網

https://www.geekbench.com/


Vantage 官網

https://www.vantage.sh/


2024年3月5日 星期二

阿里雲正在運行中的ECS不停機下調整帶寬-不會中斷服務方式

 

阿里雲ECS調整帶寬


Q.不關機的情況下調整帶寬會停機嗎?

A.不會停機,且不會中斷服務


Q. ECS固定公網IP轉為彈性公網IP有沒有中斷風險?

A.不會中斷


Q.為何其他ECS可以帶寬上限可至200,我某台ECS上限為100MPbs

A.原因是 ECS 的計費方式,限制了上限

1. ECS 若「包年包月」,搭配的 " 固定公網 ",可以到 200M

2. ECS 若「按量計費」,搭配的 " 固定公網 ",只能到 100M 

解決方案

1. ECS 需將「按量計費」轉成「包年包月」,再調整 固定公網 的按量上限

2. ECS 想維持「按量計費」,但要把 " 固定公網 ",轉成 " 彈性公網 “,就可以調整上限


產品改成彈性公網EIP步驟

1.進行資源變配


2.更改流量帶寬峰值

3.可調整到200M


4.若上述無法進行,就開立工單或是更改彈性EIP


5.改完再到公網EIP控制台,進行變配


6.就能針對這個彈性EIP調整到需求



提醒:注意判斷目前的Public IP位址若為浮動制,也就是隨時會被變更. 
倘如有靜態IP位址需求,記得要去轉換成EIP,EIP綁定後一樣可隨時調整至200Mbps。
如架構或資源有相關異動時,最好要安排在維護停機時間進行,將服務影響的層面降到最低。
這才是正確做法。



參考資料:https://www.alibabacloud.com/help/zh/ecs/user-guide/convert-the-public-ip-address-of-an-instance-in-a-vpc-to-an-eip#concept-l2l-jgn-xdb

AWS虛擬機(VM)變更執行體類型

AWS 官方文件有說明,若變更執行體類型會需要重開。

如若欲想要的支援實例與現行的支援實例組態相容,可用變更EBS後端支援實例的實例類型;如若它們的組態與類型並不相容,則無法變更原始支援的實例類型。

必須先停止由 Amazon EBS 支援的實例,然後才能變更其執行個體類型。當實例停止時,請確保您已計劃停機時間。停止實例並更改其實例類型可能需要幾分鐘時間,重新啟動實例所花費的時間則由應用程式的啟動腳本決定。


支援之實例需遵循指示與考量事項

要使用的指示取決於執行個體的根磁碟區,以及執行個體類型是否與執行個體的目前組態相容。


 相容類型的考量事項

1. 必須先停止 Amazon EBS 支援的實例,才能變更其執行個體類型。

2.停止並啟動支援的實例時,會將支援的實例移至新硬體,執行個體具有公有IPv4地址,Aws會釋出新地址執行新的公有IPv4地址,如不需要更變,請使用彈性IP地址。

3.不能更變 Spot 執行個體的支援的實例類型

4.當支援的實例位於 Auto Scaling 群組中,Amazon EC2 Auto Scaling 服務會將停止的支援實例標記為運作狀態不良,且可能會終止它並啟動取代用支援實例。如要避免,可在變更執行支援的實例時,暫停群組的擴展程序

5.在變更具有 NVMe執行個體存放區磁碟區之支援實例的支援的實例類型時,更新後的支援的實例可能具有其他支援的實例存放區磁碟區。

6.可連接到執行的 Amazon EBS 磁碟區數目上限,取決於支援的實例類型和實例個體大小,如支援的實例類型或大小不支援連接的執行個體的磁碟機數量,就無法變更這樣的支援實例類型or大小。



 
參考以下文件:

https://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/ec2-instance-resize.html 


2024年3月1日 星期五

阿里雲 域名轉移至其他帳號(限制)


根據阿里雲的規定,為了確保網域交易的安全性和穩定性,新註冊或轉入的網域在60天內是不允許轉出或進行帳號間轉移操作的。 




單純只是在阿里雲的帳號間的域名轉換沒有轉換註冊商的話,是不受60天限制
但阿里雲有分國際站與中國站,如是要在不同站點帳號間轉換的話,雖同樣都是阿里雲的帳號也還是會受到60天限制


可在下圖處操作域名帳號轉移




2024年2月27日 星期二

AWS Public IP insights 資源顯示問題

2月使用中的 Public IPv4 開始進行收費 

目前這組帳號在 Public IP insights 顯示只有一組 IP(如圖一),
但依據費用平台下載的 CUR 費用並且撈對應的 Resource ID,詳細資訊請參考附件(請參考附件 CUR)

CUR 內篩選 usage type 欄位 並過濾重複資訊可得到以下 Resource ID (如下格式)
UsageType:APN1-PublicIPv4:InUseAddress

ResourceID
arn:aws:ec2:ap-northeast-1:012345678901:network-interface/eni-0123456789abcdefg
arn:aws:ec2:ap-northeast-1:098756432102:network-interface/eni-abcdefg0123456789


Q1. 是什麼原因造成 Public IP insights 只能看到部分資源 IP ?
如果升級到 advance 版本的話是否可以看到更多的資源? 具體可以看到哪些資訊呢?
Ans:
在檢查了您的環境後,我發現 Public IP Insight 已經進行了更新,在 IPAM Public IP Insight 控制台上新增了幾組更多的 IP。

從目前情況來看,IPAM Public IP Insight 需要一些時間來從您的帳戶收集數據並將其整理在 Public IP Insight 儀表板上。

Public IP Insight 是 AWS 提供的免費功能,用於統一查看所有 Public IPv4 地址,這將使您更輕鬆地監視、分析和審核在 AWS 服務中使用的 Public IPv4 地址。

Public IP Insight 能夠監視多種類型的 Public IPv4 地址,Elastic IP addresses (EIPs)、EC2 Public IPv4 地址、BYOIPv4 地址和 Service-managed IPv4  地址。

值得注意的是,Public IP Insight在高級和免費版本的 IPAM 中並沒有差異,它提供的功能在免費和高級版本之間是相同的。

如果您需要更多關於 IPAM PublicInsight的資訊,請參閱附上的文檔 [1] 和 [2],同時也可以參考文檔 [3] 以獲取有關 IPAM 免費和高級版本之間差異的更多信息。

Q2. CUR 中的 UsageType 顯示為 APN1-PublicIPv4:InUseAddress,要如何查找 resource id 上的對應資源?
Ans: 
您可以從 UsageType 篩選 APN1-PublicIPv4:InUseAddress,依 P 欄 ResourceId 的 Region 與 ID 資訊可找到相應的 ENI (網路介面),可再從 ENI 查看與其關聯的 AWS 資源。



2024年2月26日 星期一

AZURE虛擬機(VM)升級大小與排查重啟現有VM 的部署問題

 Azure 升級 VM 一定會重開,所以需要先有停機準備


如果虛擬機器目前正在運行,更改其大小會導致其重新啟動。


嘗試啟動已停止的 Azure 虛擬機器 (VM) ,或調整現有 Azure VM 大小時,遇到的常見錯誤是分配失敗。當叢集或區域沒有可用的資源或不支援VM 要求的時間較長時,會發生此錯誤。




問題1:啟動已停止的VM時發生錯誤

解決方案
停止可用性集中的所有 VM,然後重新啟動每個 VM。
所有VM停止後,選擇每個已停止的VM,然後按一下「啟動」。稍後重試重啟請求。

問題2:調整現有VM的大小時發生錯誤

解決方案
使用較小的 VM 大小重試請求。
如果請求的VM大小無法變更:
停止可用性集中的所有VM。
所有VM停止後,將所需的VM大小調整為更大的大小。
選擇調整大小的VM,並按一下已“啟動”,然後啟動每個已停止的VM。

問題3 : 停止、啟動、重新啟動或重新安裝現有VM時發生錯誤

解決方案
嘗試重新套用虛擬機器狀態。 此操作將重新執行 VM 預配,並協助解決執行 VM 作業時 VM 預配失敗時發生的 VM 狀態故障。

導航到停滯在失敗狀態的VM。
參考以下文件:

https://learn.microsoft.com/zh-cn/azure/virtual-machines/sizes/resize-vm?tabs=portal

https://learn.microsoft.com/zh-cn/troubleshoot/azure/virtual-machines/restart-resize-error-troubleshooting?source=recommendations 

2024年2月14日 星期三

AWS因維護原廠通知要如何提前避開,防止機器重啟方法(遷移到新主機)

如收到AWS維護通知信:
Amazon EC2 Maintenance: Instance scheduled for reboot [AWS Account ID: XXXXXXXXX]  維護通知


信件內容會提到:

* 在此維護活動期間我的實例會發生什麼?

在維護期間,實例將重新啟動。重新啟動通常需要幾分鐘才能完成。重新啟動後,您的執行個體將保留其 IP 位址、DNS 名稱以及本機執行個體儲存磁碟區上的任何資料。

* 當我停止並啟動實例時會發生什麼?

【您可以在計劃維護時段之前隨時停止和啟動實例。這會將實例遷移到新主機,並且實例無需進行計劃維護。 】 請注意,當您停止和啟動執行個體時,任何本機執行個體儲存磁碟區上的資料都不會保留。

您可以在計劃的維護時段之前隨時停止和啟動實例(配合自己維運時間先進行)。 這會將實例遷移到新主機,實例將不必進行計劃維護。

排程在指定時段機器會reboot ,若不想讓機器reboot,必須在指定時段前(維護前)將機器 停止開始不可直接reboot,EC2 需要 停止 再 開始 才會遷移底層。(很重要,很重要)

如用 reboot 重啟沒有替換底層 ,AWS 還是會在通知的時間 maintenance window 重啟了機器

在 AWS 頁面上 reboot 不等同於 stop start



reboot 執行個體會保持在同一個主機上,沒有使用 EIP , public ip 也不會被替換。

stop start 會替換執行個體到新的主機,若沒有使用 EIP ,public ip 會被替換。


排程EC2關機後,再重新啟動即可

參考以下文件:

https://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/Stop_Start.html

https://repost.aws/zh-Hant/knowledge-center/ec2-scheduled-maintenance-action


操作介面

可參考以下文件:

https://docs.aws.amazon.com/zh_cn/msk/latest/developerguide/msk-reboot-broker.html


reboot 和 stop start 更多的詳細資訊與比較可以參考:

https://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html#lifecycle-differences


關於AWS可能對EC2進行的排程事件詳細資訊,可以參考:

https://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html





AWS Cloudfront 出現403, 404 錯誤如何檢查相關資訊?

 AWS Cloudfront 出現403, 404 錯誤如何檢查相關資訊?

進入控制台

1.      開啟Cloudfront Log




2.      查看requests錯誤率





如何利用AWS CloudTrail建立線索找到RDS的kms key

 

觀念釐清:

若想要的是 "資源組態" 紀錄,應使用 AWS Config 而非 CloudTrail,因 CloudTrail 是記錄帳號所呼叫的 AWS API

 

若欲使用 "建立線索"(CloudTrail Trail) 的方式[文下方文檔A] 進行查詢,待完成建立後 Trail 會將日誌檔案傳送至 S3 或是 CloudWatch Logs,接著針對 S3/CloudWatch Logs 使用 Athena/CloudWatch Logs Insights 進行語法查詢相關 RDS API 呼叫紀錄:

createDBInstance, modifyDBInstance, StartDBinstance, StopDBinstance...

即可於查詢結果中的 responseElements 找到 kmsKeyId 的資訊。

 

關於 responseElements kmsKeyId 的資訊,也可以於 CloudTrail 搜尋 90 天內相關 RDS 的紀錄,通過將頁面拉至 responseElements 區塊,即可找到上述所提及的 kmsKeyId 資訊。





CloudTrail 建立和更新線索說明文件

 https://docs.aws.amazon.com/zh_tw/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail-by-using-the-console.html

2024年1月30日 星期二

Azure WAF 如何設置只允許 HTTP Method - GET 訪問

 

需求:

1、只要方法不是 GET

2Then 就全部 【拒绝流量】

 

 

建立及設定流程:

 

1.      點選建立WAF   












2.     依需求選擇WAF種類--全域WAF(FrontDoor)/區域WAF(應用程式閘道) 

  












3.     新增自訂規則 

  










4.     自行填寫規則名稱及優先順序後,接著設定規則條件 

  


























比對類型:字串

比對變數:RequestMethod

運算:判斷是否符合運算子

運算子:等於 (此例的比對變數為RequestMethod,所以只有等於”)

比對值:GET*

(中間 號可新增多重條件)

最後為符合條件的執行動作(此例為拒絕流量)

 


*支援HTTP Method的比對值

GET

POST

PUT

HEAD

刪除

LOCK

UNLOCK

設定檔

OPTIONS

PROPFIND

PROPPATCH

MKCOL

複製

MOVE

PATCH

CONNECT

https://learn.microsoft.com/zh-tw/azure/web-application-firewall/afds/waf-front-door-custom-rules#priority-action-types-and-match-conditions

 

  

參考資料: 

應用程式閘道WAF

https://learn.microsoft.com/zh-tw/azure/web-application-firewall/ag/ag-overview


 FrontDoor WAF

https://learn.microsoft.com/zh-tw/azure/web-application-firewall/afds/afds-overview




AWS 帳戶異常活動處理方式

搜尋此網誌