ประสบการณ์จริงของ API ตัวแทนระหว่างประเทศของ Alibaba Cloud และไลบรารีสคริปต์อัตโนมัติ CLI
ในการดำเนินการและบำรุงรักษาระบบคลาวด์คอมพิวติ้งและการพัฒนาส่วนหลังในช่วงไม่กี่ปีที่ผ่านมาความเข้าใจที่ยิ่งใหญ่ที่สุดของฉันคือ:
อย่าใช้มือของคุณในการทำงานที่สามารถทำให้เครื่องจักรทำงานได้
ฉันยังจำได้ตอนที่ฉันเริ่มติดต่อกับบริการคลาวด์ครั้งแรกสิ่งแรกที่ฉันทำเมื่อฉันไปทำงานทุกวันคือเปิดเบราว์เซอร์ลงชื่อเข้าใช้คอนโซล Alibaba Cloud และดูรายการตัวอย่าง ECS แบบยาวการจัดสรรภาระงาน SLB ถังเก็บข้อมูล OSS และฐานข้อมูล RDS คลิกเพื่อตรวจสอบสถานะเมื่อคุณต้องการสร้างเซิร์ฟเวอร์เป็นชุดแก้ไขกฎของกลุ่มความปลอดภัยหรือขยายกำลังการผลิตในกรณีฉุกเฉินในช่วงดึกคุณจะรีบมากขึ้นเพราะกลัวว่าคุณจะคลิกปุ่มผิดบนหน้าเว็บเพื่อเปลี่ยนการกำหนดค่าสภาพแวดล้อมการผลิต
จนกระทั่งวันหนึ่งเนื่องจากฉันลบเกตเวย์ของสภาพแวดล้อมการทดสอบบนคอนโซลโดยไม่ได้ตั้งใจฉันจึงนอนดึกและเขียนสคริปต์อัตโนมัติตัวแรกในชีวิตทันใดนั้นฉันก็เปิดขึ้น: คอนโซลมีไว้สำหรับมือใหม่ในการเริ่มต้นและแก้ไขปัญหาเป็นครั้งคราวและการดำเนินการและการบำรุงรักษาระบบคลาวด์เนทีฟที่มีประสิทธิภาพอย่างแท้จริงต้องอาศัย
API และ CLI (เครื่องมือบรรทัดคำสั่ง)
.
ในบทความของวันนี้ฉันต้องการพูดคุยกับคุณเกี่ยวกับวิธีที่ฉันสร้างไลบรารีสคริปต์อัตโนมัติของ Alibaba Cloud ของฉันเองอย่างไรก็ตามฉันจะแบ่งปันสคริปต์ความถี่สูงสองสามบทที่ทำงานทุกวันในสภาพแวดล้อมการผลิตจริงฉันหวังว่าจะช่วยให้ทุกคนหลุดพ้นจากความขมขื่นของ "คลิกเมาส์และเจ็บมือ"
ตัวแทนระหว่างประเทศของ Alibaba Cloud
1.ทำไมคุณต้องมีไลบรารีสคริปต์อัตโนมัติของคุณเอง?
หลายคนคิดว่าตอนนี้คอนโซลของผู้ขายระบบคลาวด์เจ๋งมากและมองเห็นได้ดีทำไมต้องเรียน API และ CLI?
เหตุผลนั้นง่ายมาก:
ประสิทธิภาพความถูกต้องและความสามารถในการทำซ้ำ
บอกลาแรงเสียดทานภายในของการใช้แรงงานซ้ำๆ: เมื่อคุณต้องการจัดการเซิร์ฟเวอร์2เครื่องให้คลิกที่คอนโซลอย่างรวดเร็วแต่เมื่อตัวเลขนี้กลายเป็น20, 200หรือแม้แต่คลัสเตอร์หลายพื้นที่ที่มีอยู่ในภูมิภาคการดำเนินการด้วยตนเองก็เป็นเกมภัยพิบัติ.
การลดข้อผิดพลาดของมนุษย์ (Fat-finger errors): การดำเนินการและการบำรุงรักษาในช่วงดึกเป็นวิธีที่ง่ายที่สุดในการง่วงนอนและสคริปต์จะไม่เหนื่อยมันจะดำเนินการอย่างเคร่งครัดตามตรรกะที่คุณเขียนหลังจากการทดสอบหลายๆครั้งการดำเนินการแต่ละครั้งจะแม่นยำ100%
ตระหนักถึงวงปิดของโครงสร้างพื้นฐานที่เป็นรหัส (IaC): จัดการทรัพยากรผ่านสคริปต์และโค้ดไม่เพียงแต่สามารถควบคุมเวอร์ชันได้และสามารถตรวจสอบการเปลี่ยนแปลงได้แต่ยังตระหนักถึงความยืดหยุ่นในระดับที่สองของธุรกิจและการกู้คืนระบบ
2.การเลือกเครื่องมือ: คนงานต้องลับคมเครื่องมือก่อนหากต้องการทำงานให้ดี
ตัวแทนระหว่างประเทศของ Alibaba Cloud
ก่อนที่จะเขียนสคริปต์เราจำเป็นต้องเลือกเครื่องมือที่เหมาะสม Alibaba Cloud นำเสนอระบบนิเวศของนักพัฒนาที่สมบูรณ์อย่างเป็นทางการโดยส่วนใหญ่มีเครื่องมือหลักดังต่อไปนี้:
Alibaba Cloud CLI (aliyun): เครื่องมือบรรทัดคำสั่งที่พัฒนาโดยใช้ภาษา Go เหมาะอย่างยิ่งสำหรับสคริปต์เชลล์ของเครื่องปฏิบัติการ Linux และเครื่องบำรุงรักษาเพื่อสืบค้นสถานะได้อย่างรวดเร็วและดำเนินการจัดการวงจรชีวิตอย่างง่าย
SDK อย่างเป็นทางการ (Python / Go / Node.js): หากความต้องการระบบอัตโนมัติของคุณเกี่ยวข้องกับการตัดสินเชิงตรรกะที่ซับซ้อนการโต้ตอบฐานข้อมูลหรือการเชื่อมโยงส่วนหน้าและส่วนหลังขอแนะนำอย่างยิ่งให้ไปที่ SDK โดยตรงสิ่งที่ฉันใช้บ่อยที่สุดโดยส่วนตัวคือ
Python (alibabacloud_ecs20140526ฯลฯ) การเขียนที่สดชื่นและการสนับสนุนห้องสมุดที่ครอบคลุม
OpenAPI Developer Portal: นี่คือสิ่งประดิษฐ์ (api.aliyun.com) คุณสามารถดีบัก API แต่ละตัวทางออนไลน์ได้และจะสร้างโค้ดตัวอย่างสำหรับแต่ละภาษาโดยตรงซึ่งช่วยลดเวลาในการเข้าถึงเอกสารได้มาก
เคล็ดลับการกำหนดค่าสภาพแวดล้อมพื้นฐาน
ก่อนเริ่มเขียนสคริปต์อย่าลืมผ่าน
Aliyun configure
กำหนดค่า AccessKey ID และ AccessKey Secret ของคุณแนะนำให้ใช้
บัญชีย่อย RAM
และให้สิทธิ์ขั้นต่ำอย่าเข้ารหัส AK/SK ของบัญชีหลักในสคริปต์โดยตรงความปลอดภัยเป็นสิ่งแรกเสมอ
3.แบบฝึกหัดการต่อสู้จริง: สคริปต์อัตโนมัติความถี่สูงสี่บทที่ทำให้ฉันเรียกว่า "Zhenxiang"
ในคลังสคริปต์รายวันของฉันสคริปต์สี่ตัวถูกใช้บ่อยที่สุดครอบคลุมเกือบ80% ของสถานการณ์การดำเนินการและการบำรุงรักษาประจำวัน
1.การสำรองข้อมูลอัตโนมัติของสแนปชอตสภาพแวดล้อมการผลิตและสคริปต์การล้างข้อมูลที่หมดอายุ
ข้อมูลไม่มีค่าแต่หากมีการพิมพ์และลบสแนปชอตบนคลาวด์ดิสก์ด้วยตนเองไม่เพียงแต่ต้องใช้เวลานานเท่านั้นแต่ยังมีแนวโน้มที่จะสร้างค่าใช้จ่ายมากเกินไปอีกด้วย
ตรรกะหลัก: ใช้ Python SDK เพื่อสำรวจดิสก์บนคลาวด์ทั้งหมดที่มีแท็กเฉพาะสร้างสแนปชอตของวันที่ปัจจุบันโดยอัตโนมัติและคำนวณจำนวนวันที่เก็บไว้และล้างสแนปชอตเก่าที่มีอายุมากกว่า7วันโดยอัตโนมัติ
คู่มือการหลีกเลี่ยงหลุม: อย่าลืมเพิ่มการจับข้อยกเว้นในสคริปต์บางครั้งเนื่องจากดิสก์บนคลาวด์กำลังติดตั้งหรือมีงานสแนปชอตอื่นๆกำลังทำงานอยู่คำขอสร้างจะรายงานข้อผิดพลาดและคุณสามารถนอนหลับได้อย่างสงบโดยการบันทึกบันทึก
2.สคริปต์การซิงโครไนซ์อัตโนมัติสำหรับรายการที่อนุญาตพิเศษกลุ่มความปลอดภัยหลายรายการ
บริษัทมักมีเพื่อนร่วมงานที่ส่งนักพัฒนาหรือทำงานในสถานที่อื่นที่จำเป็นต้องเข้าถึงเซิร์ฟเวอร์ทดสอบชั่วคราวการไปที่คอนโซลด้วยตนเองเพื่อเปลี่ยน IP ของกลุ่มความปลอดภัยเป็นเพียงฝันร้าย
ตรรกะหลัก: ฉันเขียนเว็บขนาดเล็ก Hook กับ CLI เมื่อ IP เครือข่ายสาธารณะแบบไดนามิกของเพื่อนร่วมงานเปลี่ยนไปคำขอจะถูกส่งไปยังระบบภายในและสคริปต์ส่วนหลังจะเรียก API กลุ่มความปลอดภัยของ Alibaba Cloud โดยอัตโนมัติเพื่อลบ IP เก่าและเพิ่ม IP ใหม่กระบวนการทั้งหมดใช้เวลาเพียง3วินาทีซึ่งปลอดภัยและสะดวกสบาย
3.สคริปต์การตรวจสอบการหมดอายุทรัพยากรและการแจ้งเตือน
การหยุดชะงักทางธุรกิจที่เกิดจากการหมดอายุของเซิร์ฟเวอร์คลาวด์ชื่อโดเมนและใบรับรอง SSL มักเป็นหายนะ
ตรรกะหลัก: ตรวจสอบทรัพยากรคลาวด์ทั้งหมดที่กำลังจะหมดอายุ (เช่นภายใน7วันภายใน3วัน) ภายใต้บัญชีผ่าน CLI เป็นประจำ (เช่นทุกเช้า) และส่งการแจ้งเตือนการ์ดผ่าน DingTalk หรือหุ่นยนต์ WeChat ขององค์กร
ผลกระทบ: ตั้งแต่เรียกใช้สคริปต์นี้ไม่มีฉากที่น่าอับอายที่เว็บไซต์ไม่สามารถเปิดได้เนื่องจากลืมต่ออายุ
4.การตรวจสอบสถานะทรัพยากรข้ามพื้นที่ที่มีอยู่
เมื่อจัดการโหนดไมโครเซอร์วิสหลายร้อยโหนดตาเปล่าไม่สามารถระบุได้อย่างรวดเร็วว่าซีพียูตัวอย่างใดสูงเกินไปเป็นเวลานานและแบนด์วิดท์ใดเต็ม
ลอจิกหลัก: ใช้ API เพื่อดึงจำนวนตัวบ่งชี้ของ CloudMonitor (Cloud Monitor) เป็นกลุ่ม
ตามโหนดที่ผิดปกติจะถูกกรองออกและมีการสร้างรายงานสุขภาพในรูปแบบ Markdown ซึ่งจะถูกโยนลงในกลุ่มงานโดยตรง
4.การคิดขั้นสูง: โครงสร้างธุรกิจทั่วโลกและการเพิ่มประสิทธิภาพต้นทุน
ในขณะที่ธุรกิจไปต่างประเทศนักพัฒนาและบริษัทในต่างประเทศจำนวนมากได้เริ่มติดต่อกับการจัดการหลายบัญชีการเชื่อมต่อเครือข่ายข้ามภูมิภาคและการปรับใช้โหนดในต่างประเทศ
ตัวแทนจำหน่ายอาลีบาบาคลาวด์ระหว่างประเทศ
ในขั้นตอนนี้วิธีการวางแผนต้นทุนบนคลาวด์อย่างสมเหตุสมผลและเพลิดเพลินกับการจัดการการเรียกเก็บเงินที่ยืดหยุ่นมากขึ้นและการสนับสนุนทางเทคนิคได้กลายเป็นประเด็นที่ทุกคนกังวล
หากคุณกำลังจัดการกับโครงสร้างบัญชีข้ามชาติการทำงานร่วมกันแบบคลาวด์หรือแสวงหาการตั้งถิ่นฐานที่ยืดหยุ่นมากขึ้นและการสนับสนุนในท้องถิ่นให้เลือกที่จะเชื่อมต่อกับบริษัทที่เชื่อถือได้
ตัวแทนจำหน่ายอาลีบาบาคลาวด์ระหว่างประเทศ
มักจะนำมาซึ่งความสะดวกสบายมากมายผ่านช่องทางตัวแทนบริษัทต่างๆไม่เพียงแต่จะได้รับโซลูชันบัญชีที่เหมาะกับการเดินทางไปต่างประเทศของตนเองมากขึ้นเท่านั้นแต่ยังได้รับความยืดหยุ่นมากขึ้นในการจัดการแบบรวมศูนย์หลายบัญชีการปฏิบัติตามข้อกำหนดทางการเงินและการจัดหาทรัพยากรแน่นอนว่าไม่ว่าความสัมพันธ์ทางธุรกิจระดับล่างจะได้รับการปรับเปลี่ยนอย่างไรการดำเนินการและการบำรุงรักษาอัตโนมัติระดับบนและการจัดการสคริปต์ API ยังคงเป็นจุดเริ่มต้นหลักในการลดต้นทุนและเพิ่มประสิทธิภาพท้ายที่สุดการใช้รหัสเพื่อควบคุมทรัพยากรคลาวด์ที่ซับซ้อนถือเป็นความโรแมนติกที่ยากที่สุดสำหรับวิศวกร.
5.เขียนไว้ตอนท้าย: ระบบอัตโนมัติไม่มีจุดสิ้นสุด
การเขียนสคริปต์การดำเนินงานและการบำรุงรักษาประจำวันไม่เพียงแต่เป็นงานด้านเทคนิคเท่านั้นแต่ยังเป็นการเปลี่ยนแปลงวิธีคิดอีกด้วยเมื่อใดก็ตามที่ฉันเห็นการเปลี่ยนแปลงแบทช์ที่เดิมต้องใช้การคลิกที่ยุ่งยากเป็นเวลาครึ่งชั่วโมงตอนนี้ฉันพิมพ์คำสั่งกด Enter และดื่มน้ำลายในไม่กี่วินาทีความรู้สึกของการควบคุมนั้นไม่มีใครเทียบได้
สคริปต์นางฟ้าที่ด้านล่างของกล่องกดมีอะไรบ้างในคลังสคริปต์อัตโนมัติของคุณยินดีต้อนรับสู่การฝากข้อความไว้ในพื้นที่แสดงความคิดเห็นเพื่อดำเนินการ "ความเกียจคร้าน" ให้ถึงที่สุดและใช้รหัสเพื่อปลดปล่อยมือของคุณ!

