iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0

這邊簡單說明一下,在 AWS 的 EKS service ,裡面所需要使用的 service 都要錢才有辦法生存的狀況下,要如何使用會比較節省錢的部分,這邊分成三個部分來跟大家分享撞牆的經驗

Spot instants vs On-demand instants

這邊 Spot Instants 最主要的是要求開啟 Spot instants 的授權,因為 Spot 比開 on-demand 的便宜許多,其原因就是因為 spot 其實會無預警的被關掉,而 On-demand 的不會。

但是對於 Machine Learning 而言,計算資源被關掉其實可能影響不是很大,但是反過來講 online service 的話被關掉就很嚴重,可能需要重啟很多服務,所以在設計上就要確定哪些是 spot instants ,哪些要使用 On-demand 的服務

但是不是一開始就可以直接使用 Spot Instants 的,所以要加一個 service linked role ,在 terraform 如下

resource "aws_iam_service_linked_role" "spotInstants" {
  aws_service_name = "spot.amazonaws.com"
}

放進 Terraform 裡面就是每次建立服務的時候都會去檢查是否有建立 service linked role

Same AZ for Data transit price

另外講到就是資料傳輸的議題,尤其是在Machine Learning 專案裡面會需要大量的傳輸資料,尤其實在訓練的時候會拉資料,但有時候 EKS 跟 Data warehouse 是放在不同的 Region, VPC, Availability Zone 都會造成大量的傳輸而產生大量的費用,所以這部分要特別小心

為了避開費用的產生,如果跨 vpc 的話,記得在 vpc 上面設定 VPC Peering 來減少資料傳輸所產生的費用

https://ithelp.ithome.com.tw/upload/images/20230912/20151483hbZlyKZUu7.png
Figure 1 : VPC peering 的設置的概念

Service Quotas Request

主要的解決狀況是需要特殊或者較多的資源時候,時常會因為 Service Qoutas 的限制,導致無法順利的取得資料,因此要到 AWS Service Quotas 跟 support 要求開資源服務,因為AWS 預設會限制花費比較高使用的狀況,例如 GPU。

同時也是需要在這裡設置 Node Cpu 等等的使用數量,沒記錯的話預設只能使用30 cpu 的數量,則 GPU 的數量是0,因此會常常受到取用的限制

https://ithelp.ithome.com.tw/upload/images/20230912/20151483yrq31OBMsq.png

Figure 2 : Service Quotas 的要求頁面

Reference

Work with Spot Instances

Overview of Data Transfer Costs for Common Architectures


上一篇
{Day 7 : What is EKS-blueprint}
下一篇
{Day 9: Introduction Terraform of IaC}
系列文
Don't be a Machine Learning Engineer30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言