# aws https://www.youtube.com/watch?v=ubCNZRNjhyo https://www.youtube.com/watch?v=BQ0gi9YHuek&ab_channel=AndrewSchmelyun ## 簡介 ![](https://i.imgur.com/Eo1M6k6.png) region地區裡面有多個AZ(可用區) 每一個AZ至少有一個data center 例如台灣可能有多個地區可以交互用這樣 防止遇到天災等 ## 定價 ![](https://i.imgur.com/RWW2Pzj.png) 中間是與用者計費 左邊是先付給額度 右邊是訂閱 ## 功能介紹 https://www.youtube.com/watch?v=_WCjqokBGbg&ab_channel=%E5%9C%96%E8%A7%A3%E7%A8%8B%E5%BC%8F%E6%95%99%E5%AD%B8SamTsai ![](https://i.imgur.com/JDPUxHk.png) ## VPC https://www.youtube.com/watch?v=0YG3vo78gSM&list=PLVVMQF8vWNCKO5nG4tfEIrFJu1rHcEnRk&index=9&ab_channel=%E5%9C%96%E8%A7%A3%E7%A8%8B%E5%BC%8F%E6%95%99%E5%AD%B8SamTsai subnet 會先到local再轉到下一個subnet 每個subnet都有一個route table才能連到下一個subnet ![](https://i.imgur.com/uibG6gI.png) private subnet要到外網 要先去nat gw((這是虛擬主機 可以放在public subnet上面))才能到外 public subnet 直接連到igw ![](https://i.imgur.com/nbkGsp3.png) SG 是ec2的保護協議 類似防火牆 他是stateful 他會記憶你有沒有通過過 如果你已經通過就不用再驗證 跟nacl不太一樣 重點 ![](https://i.imgur.com/IV2JdXu.png) 其實net裡面是不是ec2 是先eni 這可以想成是虛擬網卡 然後放在虛擬主機(ec2上) ## compute ![](https://i.imgur.com/x0BaRs7.png) ## ECS ## EC2 他是data center裡面會slince出來 屬於你的一部份空間 EC2 instans 專門給你用 他不是整台電腦給用戶 ## 費用 ![](https://i.imgur.com/raobbgL.png) 第一種正常 第二種拿空的 別人要你就沒了 可以用在短期可以中斷的 第三種預留 某一個的一段時間內給你用 第四個 儲蓄 約定多少使用量 用來打折 ## ssh連線 https://etrex.tw/free_chatbot_book/aws/aws_setup_ssh.html ### EC2 mode ![](https://i.imgur.com/lSuG5zp.png) cluster manager是用來管理 service(這邊比較是任務 服務的概念) 會有多個service然後 會有task nuber ,task defindation(計算它需要多少ram之類的) container defindation是用決定用那些image這樣 然後 每個service都有一個目標狀態 就是會看有要用多少task defindation 這樣去起對應的task 然後每個task會讓container instance去認領 如果這個認領的task壞掉了 會從新起一個container 去執行 container instance其實就是ec2,所謂的container instnce就是一台linux裡面有docker engine + ecs container agent(用來跟clustermanger溝通) 雲端好處是可以用 附載均衡跟 auto 自動增長ec2那個 ### farget ![](https://i.imgur.com/5ynObgC.png) 他會幫我們管理container instance 我們就只要專門的去當cluster manager ## ECR ### login ![](https://i.imgur.com/rWwPOi7.png) 可以本地pull 注意這邊可以去抓Private repositories 的url 但注意看結尾 沒有repository的名稱 ![](https://i.imgur.com/lku7Z8Z.png) ## EKS 更改kubcli連線對應的 ![](https://i.imgur.com/acWCyjk.png) ### aws-auth configMap 本地cli, app是用iam 但EKS是用root去創建 所以會遇到RBAC的角色權限問題 那如果要把權限給其他角色 要用到aws-auth configMap 所以先去root拿accest token 再把~/.aws/ 底下的token改成root的登入 如何切換登入 ![](https://i.imgur.com/hZKHVXz.png) 當然實際工作要請主管加入mapuse 實際做法用cli登入root 然後edit kubctl的config 加入mapuse ![](https://i.imgur.com/xTp7GdJ.png) ## 注意 每個instance對應的pod都有限制 https://github.com/awslabs/amazon-eks-ami/blob/master/files/max-pods-calculator.sh 可以去這看 記住kube 一開始system就有四個了 所以不能安裝四以下的 在來這問題解決關鍵字 aws eks iam 進去後找max iam是代表ec2資源 ## VPC ![](https://i.imgur.com/zHNFxsV.png) ![](https://i.imgur.com/1r5KBE2.png) ![](https://i.imgur.com/i2huP1K.png) vpc內的submit可以利用internet gateway去連接外部網路 那如果private 要外部資源可以用nat gateway去連別的submit再透過internet gateway去連結外部 這樣有個好處是外部沒有private的ip 記住一樣是區域去區分的 每個區域預設一個vpc ### CIDR ![](https://i.imgur.com/8lVCmBX.png) /後面的數字代表可以有多少能用 這是指private ip的分配如上圖一樣 可以知道這個vpc裡面有多少private ip可以用 ### elastic ips 一個帳號一個區域只能有一個 而且她要付錢 ### 網路 ![](https://i.imgur.com/vpOSNON.png) ACL是子網路 但還是用推薦得比較好 ### vpc peering ![](https://i.imgur.com/Llhc1Ie.png) vpc peering是vpc互相溝通 可以用transit gatewagys控制 ### AWS privatelink 使用她可以連到別的aws service不用經過網路 ## 分散式架構 https://www.youtube.com/watch?v=aqnuKxy_Av8&ab_channel=%E5%9C%96%E8%A7%A3%E7%A8%8B%E5%BC%8F%E6%95%99%E5%AD%B8SamTsai ![](https://i.imgur.com/Ymdtk0w.png) 讀寫分離的情況下 如果寫入還是太多可以使用noSql 不要求一致姓 ## buckets 儲存庫 ## RDS 建立的時候一定要有安全組 如果要連線 不要用預設的要自己建立安全組 然後改成anywhere都可以 https://www.youtube.com/watch?v=0EaG3T4Q5fQ&list=PLy_6D98if3ULEtXtNSY_2qN21VCKgoQAE&index=28 ### AWS Lambda & RDS https://www.youtube.com/watch?v=NRpLW8QIe5o&list=PLVVMQF8vWNCKO5nG4tfEIrFJu1rHcEnRk&index=3&ab_channel=%E5%9C%96%E8%A7%A3%E7%A8%8B%E5%BC%8F%E6%95%99%E5%AD%B8SamTsai ![](https://i.imgur.com/W2fagMR.png) 1 出發lambda可能 要小心lambda可能會被觸發兩次 所以要防呆 2 如果要用lamdba去觸發rds 要小心最大連線 lambda最大1000 但rds要看設定多少 ## Network - VPC-Subnet & Region-AZ https://www.youtube.com/watch?v=6QGuf0O1j4E&list=PLVVMQF8vWNCKO5nG4tfEIrFJu1rHcEnRk&ab_channel=%E5%9C%96%E8%A7%A3%E7%A8%8B%E5%BC%8F%E6%95%99%E5%AD%B8SamTsai ![](https://i.imgur.com/vrvoEAQ.png) 城市上面有很多az vpc是虛擬的 所以多個虛擬可能對應到不同的az 如果有對到 就是高可用性 ## ELB https://www.youtube.com/watch?v=VZD5iLl0E_E&ab_channel=%E5%9C%96%E8%A7%A3%E7%A8%8B%E5%BC%8F%E6%95%99%E5%AD%B8SamTsai ![](https://i.imgur.com/vOFR5Zg.png) 可用ASG分配 auto scaling group會動態增減ec2 用routing Algorithm去分配要到哪個ec2 ## AWS API (IMA) https://godleon.github.io/blog/AWS/AWS-CSA-associate-IAM/ IAM 不一定是人 可以是APP 上面兩個是USER的api key 跟私密要 下面是地區跟你buckets的名稱(唯一) ![](https://i.imgur.com/uTwo5gM.png) region的代號 ![](https://i.imgur.com/t5mOIJU.png) 看buckets的地區 去 aws endpoint 找對應的代號 ![](https://i.imgur.com/IJPaThh.png) ## policy vs permission 我覺得差別在於 policy是用在EKS 因為他沒有fullaccess permission 用在s3 secret-manager ecr ![](https://i.imgur.com/qlrtnzZ.png) ### 權限部分 如果他有group 自己也有權限 會加再一起變成組合 如果有衝突 一個能用 一個不允許 結果會是不允許 記住 拒絕總是覆蓋允許 ## Elastic Beanstalk https://www.youtube.com/watch?v=D0wxC7aZ21A&ab_channel=JimmyLozano 部屬環境 ###### tags: `AWS`