AWS CLI คืออะไรและจะติดตั้งบน Windows, macOS, Docker และ Linux ได้อย่างไร

เผยแพร่แล้ว: 2021-06-03

AWS Command Line Interface หรือ CLI คือชุดเครื่องมือโอเพนซอร์สที่ให้คุณจัดการและทำให้บริการของ AWS เป็นอัตโนมัติโดยใช้คำสั่ง

AWS CLI รองรับหลายแพลตฟอร์ม เช่น Windows, Linux และ macOS และให้การเข้าถึงโดยตรงไปยัง API สาธารณะสำหรับ AWS นอกจากนี้ ระบบอัตโนมัติของงานโครงสร้างพื้นฐานที่น่าเบื่อยังทำได้อย่างง่ายดายในสภาพแวดล้อม CLI

เวอร์ชัน AWS CLI

AWS CLI มีเวอร์ชันหลักสองเวอร์ชัน ได้แก่ เวอร์ชัน 1.x ซึ่งพร้อมใช้งานสำหรับความเข้ากันได้แบบย้อนหลัง ขณะที่เวอร์ชัน 2.x เป็นเวอร์ชันทั่วไปที่มีอยู่ในปัจจุบันและมีไว้สำหรับการใช้งานจริง มันไม่เข้ากันแบบย้อนกลับอย่างสมบูรณ์ ดังนั้นสคริปต์ที่ใช้เวอร์ชัน 1 ของ AWS CLI อาจเข้ากันไม่ได้กับเวอร์ชัน 2

ติดตั้ง AWS CLI

เราจะพูดถึงการติดตั้ง AWS CLI บนแพลตฟอร์มต่างๆ เนื่องจากเวอร์ชัน 2.x เป็นรุ่นทั่วไปที่มีอยู่ในขณะที่เขียนบทความนี้ เราจะครอบคลุมเฉพาะการติดตั้งของรุ่นเดียวกันเท่านั้น

ลินุกซ์

วิธีการติดตั้ง AWS CLI อย่างเป็นทางการบนระบบที่ใช้ Linux มีให้ใช้งานผ่านแพ็คเกจ ZIP ต้องใช้ระบบ 64 บิต/ARM Linux และถือว่าระบบมี unzip , glibc , groff และแพ็คเกจ less ติดตั้งและพร้อมใช้งาน รองรับลีนุกซ์รุ่นหลักๆ ทั้งหมด เช่น CentOS, Fedora, Ubuntu และ Amazon Linux

ในการติดตั้ง AWS CLI เวอร์ชันล่าสุดบน Linux x86 (64 บิต) ให้ใช้คำสั่งต่อไปนี้:

 $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install

เพื่อยืนยันการติดตั้งสำเร็จ ให้รัน:

 $ aws --version aws-cli/2.2.5 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/2.0.0

macOS

การติดตั้ง macOS ของ AWS CLI มีให้อย่างเป็นทางการใน GUI เช่นเดียวกับวิธี CLI หากต้องการใช้ GUI ให้ดาวน์โหลดเวอร์ชันล่าสุดของแพ็คเกจ AWS CLI จากลิงก์ต่อไปนี้: https://awscli.amazonaws.com/AWSCLIV2.pkg และดับเบิลคลิกที่แพ็คเกจที่ดาวน์โหลดเพื่อเปิดตัวติดตั้ง

ทำตามคำแนะนำบนหน้าจอเพื่อทำการติดตั้งให้เสร็จสิ้น ตัวเลือกส่วนใหญ่สามารถปล่อยให้เป็นค่าเริ่มต้นสำหรับข้อกำหนดในการติดตั้งตามปกติ

หากคุณต้องการติดตั้งโดยใช้วิธี CLI ให้ใช้คำสั่งดาวน์โหลดและติดตั้งเวอร์ชันล่าสุดของ AWS CLI ในปัญหาเทอร์มินัลใหม่ด้านล่าง

 $ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" $ sudo installer -pkg AWSCLIV2.pkg -target /

จำเป็นต้องใช้ sudo ในคำสั่งด้านบนหากคุณวางแผนที่จะติดตั้งทั้งระบบ หากคุณต้องการติดตั้งในฐานะผู้ใช้ภายในเครื่องโดยไม่มีสิทธิ์ของผู้ดูแลระบบ มีวิธีแก้ปัญหาแบบง่ายๆ ที่เป็นทางการ

คุณต้องสร้างไฟล์ XML ที่จะจัดเตรียมพาธ /Users/myusername ที่คุณต้องการติดตั้ง AWS CLI เส้นทางนี้ควรเป็นไดเร็กทอรีที่มีอยู่หรือสร้างขึ้นก่อนเปิดตัวติดตั้ง มิฉะนั้นจะล้มเหลว

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <dict> <key>choiceAttribute</key> <string>customLocation</string> <key>attributeSetting</key> <string>/Users/myusername</string> <key>choiceIdentifier</key> <string>default</string> </dict> </array> </plist>

จากนั้นคุณสามารถดำเนินการดาวน์โหลดแพ็คเกจการติดตั้งล่าสุดโดยใช้ curl เป็น:

 $ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"

เมื่อคุณมีแพ็คเกจและ XML การกำหนดค่า XML แล้ว คุณจะสามารถติดตั้ง AWS CLI สำหรับผู้ใช้ในเครื่องได้โดยใช้:

 $ installer -pkg AWSCLIV2.pkg \ -target CurrentUserHomeDirectory \ -applyChoiceChangesXML choices.xml

ที่นี่ AWSCLIV2.pkg เป็นแพ็คเกจที่เราดาวน์โหลดในขั้นตอนก่อนหน้าโดยใช้ curl และ -target ระบุว่าการติดตั้งนั้นมีไว้สำหรับผู้ใช้ในเครื่อง และโดยทั่วไปแล้ว -applyChoiceChangesXML จะระบุตัวติดตั้งว่าเราจะใช้ตัวเลือกที่กำหนดเองซึ่งมีเส้นทางการติดตั้งที่เกี่ยวข้อง /Users/myusername หรืออะไรก็ตามที่ระบุพาธไดเร็กทอรีท้องถิ่นใน XML

ในขั้นสุดท้าย ให้รันคำสั่งต่อไปนี้เพื่อสร้าง symlink ที่จำเป็นซึ่ง AWS CLI กำหนดให้ทำงานอย่างถูกต้อง

 $ sudo ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws $ sudo ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer

หาก $PATH ของคุณมีไดเร็กทอรีที่คุณสามารถเขียนถึง และคุณระบุไดเร็กทอรีนั้นเป็นพาธของเป้าหมาย คุณสามารถรันคำสั่งด้านบนโดยไม่ต้อง sudo แต่ถ้าคุณไม่มีไดเร็กทอรีที่เขียนได้ใน $PATH คุณต้องใช้ sudo เพื่อขออนุญาตเขียนไปยังโฟลเดอร์เป้าหมายที่ระบุ ตำแหน่งเริ่มต้นสำหรับ symlink คือ /usr/local/bin/

ในการตรวจสอบการติดตั้ง ให้ใช้:

 $ which aws /usr/local/bin/aws $ aws --version aws-cli/2.1.29 Python/3.7.4 Darwin/18.7.0 botocore/2.0.0

Windows

สำหรับการติดตั้ง Windows AWS CLI v2 ต้องใช้ Windows รุ่น 64 บิตหรือใหม่กว่าและสิทธิ์ของผู้ดูแลระบบในการติดตั้ง

แพ็คเกจการติดตั้ง Windows ล่าสุดสามารถดาวน์โหลดได้จาก: https://awscli.amazonaws.com/AWSCLIV2.msi และเปิดตัวพร้อมสิทธิ์ผู้ดูแลระบบเพื่อให้การติดตั้งเสร็จสมบูรณ์

หรือคุณสามารถใช้ misexec ใน CLI เพื่อติดตั้งบนบรรทัดคำสั่งได้ดังนี้:

 msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi

คุณสามารถใช้ aws --version ในพรอมต์คำสั่งเพื่อตรวจสอบการติดตั้ง

 C:\>aws --version aws-cli/2.2.7 Python/3.8.8 Windows/10 exe/AMD64 prompt/off

นักเทียบท่า

สุดท้ายนี้ หากคุณไม่ต้องการติดตั้ง AWS CLI บนระบบปฏิบัติการในพื้นที่ของคุณและบังเอิญมีการเข้าถึง Docker ก็เป็นเพียงแค่คำสั่งเดียวในการรันคำสั่ง AWS CLI ดังนี้:

 $ docker run --rm -it amazon/aws-cli command

โดยที่ command คือ command AWS CLI เพื่อดำเนินการ คำสั่งข้างต้นจะเปิดคอนเทนเนอร์ด้วยการตั้งค่า AWS CLI ที่จำเป็น และจะดำเนินการตามคำสั่งที่ระบุโดยตรงและออกเมื่อเสร็จสิ้น

มีตัวเลือกมากมายในการใช้ข้อมูลประจำตัว การกำหนดค่า และตัวแปรสภาพแวดล้อม AWS CLI ที่มีอยู่เป็นอินพุตสำหรับคอนเทนเนอร์ที่ทำให้ทุกอย่างใช้งานได้และพกพาสะดวกยิ่งขึ้น นอกจากนี้ยังมีตัวเลือก alias ในการย่อคำสั่ง long docker ให้สั้นลงให้เรียบง่ายและเข้าใจได้ เช่น การใช้งานโฮสต์ Linux:

 $ alias aws='docker run --rm -it amazon/aws-cli'

อย่าลืมเพิ่มคำสั่งดังกล่าวในไฟล์โปรไฟล์ของเชลล์เพื่อความคงอยู่ เมื่อเสร็จแล้วคุณสามารถใช้เช่น:

 $ aws --version aws-cli/2.1.29 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.0.0dev10

ง่ายและดูดีขึ้น อ่านเพิ่มเติมเกี่ยวกับข้อเสนอและความเป็นไปได้ตาม AWS CLI Docker ที่นี่

สรุป

AWS CLI มอบประสบการณ์ตามคำสั่งเพื่อจัดการโครงสร้างพื้นฐาน AWS ของคุณได้อย่างง่ายดายในการควบคุม โดยเฉพาะอย่างยิ่งกับงานที่ซ้ำซากจำเจ และเปิดประตูสู่การทำงานอัตโนมัติและการจัดการโครงสร้างพื้นฐานเป็นโค้ด (IaC) ในท้ายที่สุด คุณได้เรียนรู้เกี่ยวกับวิธีการติดตั้งบนแพลตฟอร์มต่างๆ ในขั้นตอนต่อไป คุณสามารถอ่านที่นี่เกี่ยวกับวิธีกำหนดค่าเพื่อใช้กับบัญชี AWS ของคุณ