商品編號:DJAA2V-A900BYKWA

AWS CDK 完全學習手冊:打造雲端基礎架構程式碼 IaC(iT邦幫忙鐵人賽系列書)

驚喜優惠
$474
$600
  • 登記抽

    【12月24力】APP限定 指定品下單登記抽 SONY LinkBuds Open藍牙耳機(隨機)

  • 登記抽

    【12月24力】APP限定 全站指定品單筆滿$5500登記抽微軟Surface AI觸控筆電

  • 登記送

    【全家】單筆滿$350純取貨/取貨付款訂單登記送熱厚濃靜岡抹茶拿鐵兌換券乙張(限量)

付款方式
出貨
  • PChome 倉庫出貨,24小時到貨
配送
宅配滿$490免運,超取滿$350免運
  • 宅配到府(本島/低溫)
    滿$699免運
  • 宅配到府(本島/常溫)
    滿$490免運
  • 超商取貨(常溫)
    滿$350免運
  • 超商取貨(低溫)
    滿$699免運
  • i郵箱(常溫)
    滿$290免運
商品詳情
作者:
ISBN:
9789864349203
出版社:
出版日期:
2021/11/12
  • 內文簡介

  • <內容簡介>

    第一本從無到有教你撰寫 AWS CDK 的中文書籍!
    為不會寫的你獻上超豐富 Sample Code,照抄也能成為 AWS CDK 達人!

    本書改編並延伸自第 12 屆 iT 邦幫忙鐵人賽獲得 DevOps 組冠軍的《用 CDK 定義 AWS 架構》系列文章,以簡單、好讀的行文風格詳述技術細節,並提供完整的程式碼範例與說明,一步一步帶領新手從零開始踏上 AWS CDK 技術達人之路。

    一般而言,在 AWS 上部署雲端基礎架構有兩種做法:使用 AWS CloudFormation、或直接使用 AWS 管理主控台 (AWS Management Console) 手動建置。

    在 2019 年時,AWS 推出了全新的開發套件 AWS Cloud Development Kit (AWS CDK),透過利用 AWS CDK 套件,開發者可以定義整個雲端基礎架構使用程式的方法,同時提升可讀性,並可撰寫測試程式來減少失誤的可能性,此外,還可以達到快速複製的效果。

    然而,目前為止 AWS CDK 最美中不足的一點,便是可利用的中文資源仍相當稀少,因此本書希望以新手開發者的角度出發,用熟悉的中文伴隨大家走過艱辛的前段上手過程,本書內容將會使用 AWS 管理主控台配合 AWS CDK 程式,使用交互比對的方式協助讀者裡解、並從入門到精通 AWS CDK。


    ★本書特色:

    中文書籍
    學習一款新的軟體,最令人擔憂的往往是閱讀英文文件所需大量耗費的時間。
    全亞洲第一本 CDK 中文書,用中文帶你快速上手、學習撰寫 AWS CDK。

    一步一腳印
    從使用 AWS CDK 指令開始,以新手角度出發,透過 Code Review 的形式,帶你理解每一行 Code 代表的意義,一步一步帶領你走入學習 AWS CDK 的大門。

    高實用性的工具書
    本書內容囊括多種因應工作場景可能須開發的主題,讀者可將本書當作工具書,依據使用情境找到合適的章節並直接參考取用。

    自動化部署 LAMP(Linux、Apache、MariaDB、PHP)叢集
    對於大多數的開發者來說,親手製作可自動化部署的 LAMP 伺服器並非一件容易的事情,本書針對 LAMP 的自動化部署提供詳盡的解說,讓閱讀後的你也能輕鬆使用 EC2 打造高可用可自動部署的 LAMP 伺服器叢集。

    在 AWS 上部署 Docker 容器解決方案
    在 AWS 上有多種 Docker 容器解決方案,在什麼狀況下要使用 ECS 或是 EKS,讓你傻傻分不清楚嗎?本書將以入門等級的簡單範例,協助讀者理解 ECS 與 EKS 兩種服務,並教會你如何根據應用情境挑選合適的容器部署解決方法。

    開發自動部署的 CDK Construct Library
    寫出好用的程式後分享給更多人吧!
    教你如何從無到有寫一個自己的 CDK Construct Library,無論運用在開源貢獻、公司專案或私人案件,成為自己 Library 自己開發的技術達人。


    ★專家推薦:

    本書將會是華人社群裡面最珍貴的 CDK 參考書之一, 期待越來越多人可以透過這本書一窺 CDK 的奧妙, 並且跟著 Clarence 一起學習, 讓再複雜的 Cloud 也都可以在自己的 IDE 開發環境裡面自由定義與掌握。
    Pahud Hsieh / Pahud Dev Youtube頻道主

    Clarence 在本書中由簡入深、逐一搭配一個個的場景案例,且細心繪製情境架構圖、配合著場景案例整理範例程式碼,帶大家一步一步上手 AWS CDK。
    Ernest Chiang / AWS Community Hero
    Director of Product & Technology Integration, PAFERS Tech

    透過本書你可以輕鬆地踏入 AWS CDK 的世界, 裡面有許多的範例可以涵蓋你日常的實用情境, 讓你除了學 AWS CDK 之外還可以學 AWS 架構, 體驗到 AWS CDK 的強大之處, 為你增加硬技能。
    Neil Kuan / AWS Community Builder
    Cloud Engineer, Cathay FHC established Digital, Data & Technology (DDT)


    ★目錄:

    第1章 AWS CLOUD DEVELOPMENT KIT (AWS CDK)

    1.1 . AWS Cloud Development Kit(AWS CDK)基礎介紹
    1.1.1 AWS CDK 可以解決的問題
    1.1.2 AWS CDK 的介紹
    1.2 安裝 AWS CDK Toolkit(cdk command)
    1.2.1 安裝 AWS CLI version 2 macOS
    1.2.2 安裝 AWS CLI version 2 Windows
    1.2.3 安裝 AWS CDK Toolkit macOS
    1.2.4 安裝 AWS CDK Toolkit Windows
    1.3 設定 AWS CLI
    1.3.1 使用 aws configure 設定 AWS CLI
    1.3.2 aws configure 加入設定檔名稱
    1.4 你的第一個 AWS CDK 專案
    1.5 CDK 指令介紹
    1.6 參考資源

    第2章 CDK SAMPLE 學習之路

    2.1 如何開始 AWS CDK 的學習
    2.1.1 分析 AWS CDK sample-app
    2.1.1.1 資料夾與檔案的簡略介紹
    2.1.1.2 bin/hello-cdk.ts程式介紹
    2.1.1.3 lib/hello-cdk-stack.ts程式介紹
    2.2 執行 AWS CDK sample-app
    2.3 簡易修改 AWS CDK sample-app
    2.3.1 移除設定值修改回預設
    2.3.2 新增 Outputs
    2.3.3 執行修改過後的 CDK
    2.4 移除整個 sample-app
    2.4.1 確定 CloudFormation 有看到 HelloCdkStack
    2.4.2 確定 HelloCdkStack 消失在 CloudFormation
    2.5 本章小結

    第3章 使用 AWS CDK部署 SERVERLESS 應用程式

    3.1 Serverless 介紹
    3.1.1 傳統的機房部署
    3.1.2 AWS 提供的 Serverless 服務有哪些
    3.2 使用 AWS CDK 建立 API Service
    3.2.1 建立 AWS CDK 專案名稱 APIService
    3.2.2 修改 AWS CDK Lambda 讓 Lambda 程式使用獨立檔案
    3.2.3 處理 AWS CDK API Gateway 限定進入 Lambda 的 API Path
    3.2.4 修改 AWS CDK API Gateway讓每個 API 程式使用獨立檔案
    3.3 使用 AWS CDK 建立 API Service 支援自訂網域
    3.4 本章小結

    第4章 使用 AWS CDK部署靜態網站

    4.1 靜態網頁與動態網頁的區分
    4.2 使用 AWS CDK 建立靜態網頁服務
    4.3 使用 AWS CDK 建立靜態網頁服務並設定 CloudFront 與自訂網域
    4.4 . 本章小結

    第5章 使用 AWS CDK 部署可自動擴展的 LAMP 伺服器叢集

    5.1 Amazon EC2 執行個體
    5.2 Amazon VPC
    5.2.1 使用 AWS CDK 定義 Amazon VPC
    5.2.1.1 預設的 AWS CDK Amazon VPC 定義
    5.2.1.2 修改預設 AWS CDK Amazon VPC NAT Gateway 數量為 0
    5.2.1.3 減少預設 AWS CDK Amazon VPC NAT Gateway 數量
    5.3 AWS CDK 部署 Amazon EC2
    5.3.1 部署 Amazon EC2 使用 Key pair
    5.3.2 部署 Amazon EC2 使用 AWS Session Manager
    5.3.3 部署 Amazon EC2 使用 Default VPC
    5.4 使用 AWS CDK 架設 LAMP
    5.4.1 Bastion Host
    5.4.1.1 使用 AWS CDK 架設Bastion Host
    5.4.1.2 藉由 AWS SSM 讓本機可以使用 SSH 連線到 EC2
    5.4.2 使用 CDK 自動部署 LAMP 伺服器
    5.4.2.1 LAMP 腳本撰寫
    5.4.2.2 EC2 使用 User data 執行LAMP 安裝腳本
    5.5 部署含有負載平衡的 LAMP 伺服器
    5.5.1 Elastic Load Balancing
    5.5.1.1 使用 AWS CDK 部署 Application Load Balancer
    5.5.1.2 使用 AWS CDK 部署 Network Load Balancer
    5.6 部署可自動擴展的 LAMP 伺服器
    5.6.1 Auto Scaling
    5.6.1.1 使用 AWS CDK 部署 Auto Scaling
    5.7 本章小結

    第6章 使用 AWS CDK 部署可自動擴展的 AMAZON ELASTIC CONTAINER SERVICE (AMAZON ECS)叢集

    6.1 Amazon Elastic Container Service (Amazon ECS)
    6.2 使用 ECS 部署 Web Service
    6.2.1 使用 Amazon EC2 與 Amazon EC2 Spot 部署 ECS Cluster
    6.2.2 使用 Amazon EC2 與 Amazon EC2 Spot 部署 ECS Task 與 Service
    6.2.3 使用 Amazon EC2 與 Amazon EC2 Spot 部署 ECS Web 服務
    6.2.4 使用 AWS Fargate 與 AWS Fargate Spot 部署 ECS Web 服務
    6.2.4.1 ECS 使用 AWS Fargate的好處
    6.2.4.2 ECS 使用 AWS Fargate的壞處
    6.2.5 使用 AWS Fargate 與 Amazon EC2 Spot 混搭部署 ECS Web 服務
    6.3 使用 ECS 部署多 Port 服務
    6.4 使用 ECS 部署 Web Service 與整合 RDS 資料庫
    6.4.1 Amazon Relational Database Service(Amazon RDS)
    6.4.2 Amazon Aurora
    6.4.3 使用 AWS CDK 部署 Amazon Aurora RDS
    6.4.4 ECS Task 使用 AWS Secret Manager 保管的密碼
    6.5 本章小結

    第7章 使用 AWS CDK 部署AMAZON ELASTIC KUBERNETES SERVICE(EKS)

    7.1 Amazon Elastic Kubernetes Service (Amazon EKS)
    7.1.1 AWS EKS 發布歷史
    7.1.2 AWS EKS 價格
    7.1.3 AWS EKS 架構
    7.1.4 AWS CDK 部署AWS EKS
    7.1.4.1 AWS CDK 部署 AWS EKS 使用 EC2 Instance
    7.1.4.2 AWS CDK 部署 AWS EKS 使用 EC2 Spot
    7.1.4.3 AWS CDK 部署 AWS EKS 將機器加入 Taint
    7.1.4.4 AWS CDK 部署 AWS EKS 使用 GPU 類型 EC2 Instance
    7.1.4.5 AWS CDK 部署 AWS EKS 使用 Inf1 類型 EC2 Instance
    7.1.4.6 AWS CDK 部署 AWS EKS 創建含有 GPU 的 Pod
    7.1.4.7 AWS CDK 部署 AWS EKS 創建含有 AWS Inferentia 的 Pod
    7.1.4.8 AWS CDK 部署 AWS EKS Service
    7.2 本章小結

    第8章 AWS CDK 使用CONSTRUCT LIBRARY

    8.1 使用 projen 讓 AWS CDK更簡單更好處理
    8.1.1 為什麼要使用 projen
    8.1.2 AWS CDK 專案更新成 projen 專案
    8.1.2.1 創建 projen 專案
    8.1.2.2 移動主程式到 src 資料夾
    8.1.2.3 修改測試程式
    8.1.2.4 修改成 projen 後部署到 AWS 試試看
    8.1.2.5 使用 projen 排除檔案

    第9章 製作 CDK CONSTRUCT LIBRARY

    9.1 第一個 CDK Construct Library 範例
    9.1.1 計畫Library的介面
    9.1.2 使用 projen 建立CDK Construct Library專案
    9.1.3 撰寫 CDK Construct Library主程式
    9.1.4 撰寫 CDK Construct Library測試
    9.1.5 上傳 CDK Construct Library到 GitHub
    9.1.5.1 創建 npm Access Token
    9.1.5.2 填入 npm Access Token 到 GitHub Secrets
    9.1.5.3 Push NyanCat 到 GitHub Repo
    9.1.5.4 查看 npm 發布
    9.1.6 發步 CDK Construct Library到 PyPI
    9.1.6.1 註冊 PyPI 與取得 PyPI API Token
    9.1.6.2 註冊 Mergify 讓 GitHub 支援自動批准與自動合併
    9.1.6.3 修改 projen 支援 PyPI 發布
    9.1.7 產生 CDK Construct Library 文件
    9.1.8 更新 CDK Construct Library
    9.1.9 CDK Construct Library 自動升級依賴
    9.1.9.1 取得 GitHub Personal Access Token
    9.1.9.2 新增 projen 支援定期自動升級依賴
    9.1.9.3 projen定期自動升級依賴
    9.1.9.4 projen定期自動升級依賴沒有自動 Merge
    9.2 本章小結

    附錄 A

    A.1 安裝 VISUAL STUDIO CODE 並安裝 AWS TOOLKIT
    A.2 安裝 TYPESCRIPT 套件使用 NPM 或 Yarn
    A.3 安裝 AWS SESSION MANAGER
    A.4 KUBERNETES TOOLS安裝
    A.5 CDK 錯誤處理
    A.6 CDK 開發小撇步


    <作者簡介>

    林侃賦(Clarence)

    現職
    ⭐️ 長問科技雲端技術資深工程師
    ⭐️ 田茂智能互聯雲端解決方案技術

    顧問
    ⭐️ 天銳國際實業雲端技術顧問
    ⭐️ 綠頁技術顧問

    曾任
    ⭐️ SITCON Camp 2015副召集人
    ⭐️ SITCON、COSCUP、HITCON 等資訊社群研討會擔任工作人員

    ⭐ 長期從事網站後端開發、DevOps、Linux作業系統、雲端系統架構設計以及雲端系統安全等工作。
    ⭐ 經營個人部落格,樂於分享技術知識,並將平時開發過程遭遇的問題撰寫成文章,向讀者分享解決方法。
    ⭐ 第12 屆 iT 邦幫忙鐵人賽 DevOps 組以《CDK 定義 AWS 架構》榮獲冠軍。

    Twitter
    https://twitter.com/clarence_lin

    部落格
    https://blog.clarence.tw

    Facebook 粉絲專頁
    https://fb.me/ClarenceTaiwan
購物須知
寄送時間
全台灣24h到貨,遲到提供100元現金積點。全年無休,週末假日照常出貨。例外說明
送貨方式
透過宅配送達。除網頁另有特別標示外,均為常溫配送。
消費者訂購之商品若經配送兩次無法送達,再經本公司以電話與Email均無法聯繫逾三天者,本公司將取消該筆訂單,並且全額退款。
送貨範圍
限台灣本島與離島地區註,部分離島地區包括連江馬祖、綠島、蘭嶼、琉球鄉…等貨件,將送至到岸船公司碼頭,需請收貨人自行至碼頭取貨。注意!收件地址請勿為郵政信箱。
註:離島地區不配送安裝商品、手機門號商品、超大材商品及四機商品。
售後服務
缺掉頁更換新品
執照證號&登錄字號
本公司食品業者登錄字號A-116606102-00000-0
關於退貨
  • PChome24h購物的消費者,都可以依照消費者保護法的規定,享有商品貨到次日起七天猶豫期的權益。(請留意猶豫期非試用期!!)您所退回的商品必須回復原狀(復原至商品到貨時的原始狀態並且保持完整包裝,包括商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性)。商品一經拆封/啟用保固,將使商品價值減損,您理解本公司將依法收取回復原狀必要之費用(若無法復原,費用將以商品價值損失計算),請先確認商品正確、外觀可接受再行使用,以免影響您的權利,祝您購物順心。
  • 如果您所購買商品是下列特殊商品,請留意下述退貨注意事項:
    1. 易於腐敗之商品、保存期限較短之商品、客製化商品、報紙、期刊、雜誌,依據消費者保護法之規定,於收受商品後將無法享有七天猶豫期之權益且不得辦理退貨。
    2. 影音商品、電腦軟體或個人衛生用品等一經拆封即無法回復原狀的商品,在您還不確定是否要辦理退貨以前,請勿拆封,一經拆封則依消費者保護法之規定,無法享有七天猶豫期之權益且不得辦理退貨。
    3. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,一經您事先同意後始提供者,依消費者保護法之規定,您將無法享有七天猶豫期之權益且不得辦理退貨。
    4. 組合商品於辦理退貨時,應將組合銷售商品一同退貨,若有遺失、毀損或缺件,PChome將可能要求您依照損毀程度負擔回復原狀必要之費用。
  • 若您需辦理退貨,請利用顧客中心「查訂單」或「退訂/退款查詢」的「退訂/退貨」功能填寫申請,我們將於接獲申請之次日起1個工作天內審核您的退貨要求,通過審核後將以E-mail回覆通知您,並將委託本公司指定之宅配公司,在5日內前往取件。請您備妥原商品及所有包裝及附件,以便於交付予本公司指定之宅配公司取回(宅配公司僅負責收件,退貨商品仍由特約廠商進行驗收),宅配公司取件後會提供簽收單據給您,請注意留存。
  • 退回商品時,請以本公司或特約廠商寄送商品給您時所使用的外包裝(紙箱或包裝袋),原封包裝後交付給前來取件的宅配公司;如果本公司或特約廠商寄送商品給您時所使用的外包裝(紙箱或包裝袋)已經遺失,請您在商品原廠外盒之外,再以其他適當的包裝盒進行包裝,切勿任由宅配單直接粘貼在商品原廠外盒上或書寫文字。
  • 若因您要求退貨或換貨、或因本公司無法接受您全部或部分之訂單、或因契約解除或失其效力,而需為您辦理退款事宜時,您同意本公司得代您處理發票或折讓單等相關法令所要求之單據,以利本公司為您辦理退款。
  • 本公司收到您所退回的商品及相關單據後,經確認無誤,次日起3~7工作日內退款,退款日當天會再發送E-mail通知函給您。