AWS S3 CLI - ไม่สามารถเชื่อมต่อกับ URL ปลายทาง


118
$ aws s3 ls

Could not connect to the endpoint URL: "https://s3.us-east-1a.amazonaws.com/"

อะไรคือปัญหา?


สิ่งนี้เกิดขึ้นกับฉันเมื่อพยายามสร้างโดเมน cloudsearch us-east-2ฉันต้องใช้us-east-1?
Jason Goemaat

คำตอบ:


260

คุณอาจมีบางอย่างผิดปกติในโปรไฟล์เริ่มต้นสำหรับภูมิภาคเริ่มต้น

ตรวจสอบไฟล์ของคุณที่~/.aws/configคุณมีสิ่งที่ต้องการ

[default]
region=us-east-1a
...

แก้ไขภูมิภาคเป็นregion=us-east-1แล้วคำสั่งจะทำงานได้อย่างถูกต้อง


3
ฉันมีรายการผิดคล้ายกันใน ~ / .aws / config ซึ่งสร้างโดยคำสั่ง 'aws configure' โดยค่าเริ่มต้นจะแนะนำชื่อภูมิภาคของฉัน "มุมไบ" ซึ่งฉันยอมรับ นี่คือปัญหา เมื่อฉันแทนที่ด้วย ap-south-1 คำสั่ง (aws s3 ls) ก็เริ่มทำงาน ขอบคุณ
Anurag

1
ขอบคุณมาก. ผมที่ยังเหลืออยู่บนหัวของฉันตอนนี้ปลอดภัยไปอีกสักครู่ ...
copper.hat

1
ขอบคุณ. ฉันไม่รู้ว่าคุณรู้ได้อย่างไร
user890332

2
aws s3 ls --region us-east-1ผมมีข้อผิดพลาดที่คล้ายกันและพบว่ามันยังสามารถแก้ไขได้โดยการระบุภูมิภาคเป็นตัวเลือกบรรทัดคำสั่ง:
Kurt Peek

3
ฉันหวังว่าพวกเขาจะสามารถส่งเงินบริจาคเพื่อตอบคำถามเช่นนี้ได้
RayLoveless

8

ก่อนอื่นให้คุณใช้ 'aws configure' จากนั้นป้อนคีย์การเข้าถึงและคีย์ลับและภูมิภาค ภูมิภาคที่คุณป้อนจะมีความสำคัญสำหรับปัญหานี้ พยายามป้อนข้อมูลเช่น 's3.us-east-1' ไม่ใช่ 's3.us-east-1a' มันจะแก้ปัญหาได้


6

บริการ AWS บางอย่างมีให้บริการเฉพาะในภูมิภาคที่ไม่ตรงกับภูมิภาคจริงของคุณ หากเป็นกรณีนี้คุณสามารถแทนที่การตั้งค่ามาตรฐานได้โดยการเพิ่มขอบเขตในคำสั่ง cli จริงของคุณ

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

ในตัวอย่างนี้ภูมิภาคถูกบังคับให้เป็น eu-west-1 (เช่นไอร์แลนด์):

aws s3 ls --region=eu-west-1

ทดสอบและใช้กับเวิร์กโฟลว์ aws เพื่อลบผู้ใช้:

aws workmail delete-user --region=eu-west-1 --organization-id [org-id] --user-id [user-id]

ฉันได้แนวคิดมาจากกระทู้นี้และมันเหมาะกับฉัน - ฉันจึงอยากแบ่งปัน หวังว่าจะช่วยได้!


5

หากวิธีแก้ปัญหาที่ระบุข้างต้นใช้งานไม่ได้ให้ตรวจสอบสิทธิ์และการตั้งค่าไฟร์วอลล์ของคุณด้วย ในกรณีของฉันการเพิ่มตัวแปรสภาพแวดล้อมพร็อกซีไม่ได้ผล

สำหรับ Linux หรือ Mac

$ export HTTP_PROXY=http://<YOUR PROXY IP>:<PORT>

$ export HTTPS_PROXY=http://<YOUR PROXY IP>:<PORT>

สำหรับ Windows

set HTTP_PROXY=http://<YOUR PROXY IP>:<PORT>

set HTTPS_PROXY=http://<YOUR PROXY IP>:<PORT> aws cli Windows

ใส่คำอธิบายภาพที่นี่


5

คุณควรระบุภูมิภาคในสคริปต์ CLI ของคุณแทนที่จะใช้พื้นที่เริ่มต้นที่ระบุโดยใช้การกำหนดค่า aws (เป็นคำตอบที่ได้รับความนิยมสูงสุดในปัจจุบัน) คำตอบอื่นพูดถึงเรื่องนี้ แต่ไวยากรณ์ไม่ถูกต้องหากคุณใช้ CLI ผ่าน AWS Tools for Powershell

ตัวอย่างนี้บังคับให้ภูมิภาคเป็น us-west-2 (Northern California) ไวยากรณ์ PowerShell:

aws s3 ls --region us-west-2

2

อาจมีบางอย่างผิดปกติกับภูมิภาคเริ่มต้นขณะกำหนดค่า aws ในกรณีของคุณ URL ระบุว่า " https://s3.us-east-1a.amazonaws.com/ "

ในพรอมต์คำสั่งของคุณ

AWS กำหนดค่าป้อนคีย์ของคุณตอนนี้แก้ไขภูมิภาคของคุณจากเราตะวันออก-1a เพื่อเราตะวันออก-1

โปรดตรวจสอบไวยากรณ์ตาม CLI ที่คุณใช้ สิ่งนี้จะเป็นประโยชน์


1

สมมติว่าโปรไฟล์ของคุณ~/aws/configกำลังใช้ภูมิภาค (แทน AZ ตามคำถามเดิมของคุณ) อีกสาเหตุหนึ่งคือลูกค้าของคุณไม่สามารถเชื่อมต่อs3.us-east-1.amazonaws.comได้ ในกรณีของฉันฉันไม่สามารถแก้ไขชื่อ DNS นั้นได้เนื่องจากข้อผิดพลาดในการกำหนดค่าเครือข่ายของฉัน การแก้ไขปัญหา DNS ช่วยแก้ปัญหาของฉันได้


0

สองสิ่งที่ฉันได้ทำเพื่อแก้ไขสิ่งนี้:

  1. อัปเดต CLI ของฉันและได้รับข้อผิดพลาดนี้ (ข้อผิดพลาดก่อนหน้านี้คือ " aws connection aborted error 10013")
  2. พยายาม nslookup aws s3 endpoing: nslookup s3.us-east-2.amazonaws.com

    คำขอ DNS หมดเวลา หมดเวลา 2 วินาที เซิร์ฟเวอร์: ที่อยู่ที่ไม่รู้จัก: 192.168.10.1

-> อืมแปลกมาก

  1. ไปที่การแก้ไขปัญหาเครือข่าย windows และเลือกเพื่อทดสอบการเข้าถึงหน้าเฉพาะ แจ้งว่าไฟร์วอลล์ Windows บล็อกการเชื่อมต่อ แก้ไขสิ่งนี้

  2. ได้รับข้อผิดพลาดใหม่หลังจากแก้ไขคำขอผ่าน firewal:

    เกิดข้อผิดพลาด (RequestTimeTooSkewed) เมื่อเรียกใช้การดำเนินการ ListBuckets: ความแตกต่างระหว่างเวลาร้องขอและเวลาปัจจุบันมีขนาดใหญ่เกินไป

  3. อัปเดตวันที่และเวลาของฉันเป็นอัตโนมัติ -> คงที่


0

คุณควรทำสิ่งต่อไปนี้ใน CLI: 1. aws configure '
2. ป้อนคีย์การเข้าถึง 3. คีย์ลับอินพุต 4. จากนั้นภูมิภาคเช่น: eu-west-1 (ปล่อย a หรือ b ไว้หลัง 1)


0

ทุกคนมีค่าเริ่มต้นที่แตกต่างกันและที่น่าสนใจก็จะเปลี่ยนไปเรื่อย ๆ ตัวอย่างเช่นตอนแรกฉันอยู่ในระดับโลกและหลังจากนั้น 15 นาทีก็จะแสดงโอไฮโอ (ซึ่งก็คือus-east-2)

แนวทางที่ดีที่สุดคือตรวจสอบในระหว่างการทำงานของคุณ - ในคอนโซลของพื้นที่ทำงาน AWS ของคุณเพียงแค่เปิดใช้งาน ทางด้านขวาด้านบนใกล้กับชื่อของคุณบนแถบด้านบน ตรวจสอบชื่อภูมิภาคของคุณและคลิกที่ลูกศรลงเพื่อดูภูมิภาคของคุณ

ในประเภท AWS CLI aws configureหรือaws2 configureให้สิทธิ์การเข้าถึงและรหัสลับของคุณจากนั้นในภูมิภาคเริ่มต้นให้เขียนภูมิภาคของคุณแล้วกด Enter

คุณจะสามารถเข้าถึงชุดภูมิภาคเฉพาะได้อย่างแน่นอนและจะใช้งานได้


0

วิธีแก้ปัญหาของฉันคือเรียกใช้:

    sudo aws configure

ป้อนข้อมูลรับรองของคุณแล้วเรียกใช้:

    sudo aws s3 ls

วิธีแก้ปัญหาที่แตกต่างกันคือการตรวจสอบให้แน่ใจว่าพื้นที่ในไฟล์. os / config นั้นเหมือนกับปลายทาง


0

ใน Windows ให้เรียกใช้คำสั่ง aws configure อีกครั้งและรีเซ็ตภูมิภาคโดยไม่มีตัวอักษรเช่นหากภูมิภาคของคุณเป็น us-east-1a คุณต้องเปลี่ยนเป็น us-east-1 เพื่อให้ทำงานได้

ใส่คำอธิบายภาพที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.