Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemecahan masalah AWS CloudShell
Saat menggunakan AWS CloudShell, Anda mungkin mengalami masalah, seperti ketika Anda meluncurkan CloudShell atau melakukan tugas-tugas utama menggunakan antarmuka baris perintah shell. Informasi yang tercakup dalam Bab ini mencakup cara memecahkan masalah beberapa masalah umum yang mungkin Anda temui.
Untuk jawaban atas berbagai pertanyaan tentang CloudShell, lihat AWS CloudShell FAQs
Memecahkan masalah kesalahan
Ketika Anda menemukan salah satu kesalahan terindeks berikut, Anda dapat menggunakan solusi berikut untuk mengatasi kesalahan ini.
Topik
- Kesalahan: “Tidak dapat memulai lingkungan. Untuk mencoba lagi, refresh browser atau restart dengan memilih Actions, Restart AWS CloudShell ”
- Kesalahan: “Tidak dapat memulai lingkungan. Anda tidak memiliki izin yang diperlukan. Minta IAM administrator Anda untuk memberikan akses ke AWS CloudShell”
- Tidak dapat mengakses AWS CloudShell baris perintah
- Tidak dapat melakukan ping ke alamat IP eksternal
- Ada beberapa masalah dalam mempersiapkan terminal Anda
- Tombol panah tidak berfungsi dengan benar di PowerShell
- Soket Web yang tidak didukung menyebabkan kegagalan untuk memulai sesi CloudShell
- Tidak dapat mengimpor AWSPowerShell.NetCore modul
- Docker tidak berjalan saat menggunakan AWS CloudShell
- Docker kehabisan ruang disk
- docker pushwaktunya habis dan terus mencoba lagi
- Tidak dapat mengakses sumber daya VPC dari AWS CloudShell VPC lingkungan saya
- Yang ENI digunakan oleh AWS CloudShell untuk VPC lingkungan saya tidak dibersihkan
- Pengguna dengan CreateEnvironment izin hanya untuk VPC lingkungan juga memiliki akses ke AWS CloudShell lingkungan publik
- Kredensyal tidak berfungsi di CloudShell
- Tidak dapat mengakses saran sebaris Amazon Q di AWS CloudShell
- Tidak dapat mengakses CLI fitur Amazon Q di AWS CloudShell
Kesalahan: “Tidak dapat memulai lingkungan. Untuk mencoba lagi, refresh browser atau restart dengan memilih Actions, Restart AWS CloudShell ”
Masalah: Ketika Anda mencoba untuk memulai AWS CloudShell dari AWS Management Console, Anda ditolak akses bahkan setelah Anda memiliki izin yang diperlukan dari IAM administrator Anda dan Anda telah menyegarkan browser Anda atau memulai ulang. CloudShell
Solusi: Hubungi AWS Support
Kesalahan: “Tidak dapat memulai lingkungan. Anda tidak memiliki izin yang diperlukan. Minta IAM administrator Anda untuk memberikan akses ke AWS CloudShell”
Masalah: Saat Anda mencoba meluncurkan AWS CloudShell dari AWS Management Console, Anda ditolak aksesnya dan diberi tahu bahwa Anda tidak memiliki izin yang diperlukan.
Penyebab: IAM Identitas yang Anda gunakan untuk mengakses AWS CloudShell tidak memiliki IAM izin yang diperlukan.
Solusi: Minta IAM administrator Anda untuk memberi Anda izin yang diperlukan. Mereka dapat melakukan ini baik dengan menambahkan kebijakan AWS terkelola terlampir (AWSCloudShellFullAccess) atau kebijakan inline yang disematkan. Untuk informasi selengkapnya, lihat Mengelola AWS CloudShell akses dan penggunaan dengan IAM kebijakan.
Tidak dapat mengakses AWS CloudShell baris perintah
Masalah: Setelah memodifikasi file yang digunakan lingkungan komputasi, Anda tidak dapat mengakses baris perintah. AWS CloudShell
Solusi: Jika Anda kehilangan akses setelah salah memodifikasi .bashrc
atau file lainnya, Anda dapat kembali AWS CloudShell ke pengaturan default dengan menghapus direktori home Anda.
Tidak dapat melakukan ping ke alamat IP eksternal
Masalah: Ketika Anda menjalankan perintah ping dari baris perintah (misalnya,ping amazon.com
), Anda menerima pesan berikut.
ping: socket: Operation not permitted
Penyebab: Utilitas ping menggunakan Internet Control Message Protocol (ICMP) untuk mengirim paket permintaan gema ke host target. Ia menunggu gema untuk membalas dari target. Karena ICMP protokol tidak diaktifkan AWS CloudShell, utilitas ping tidak beroperasi di lingkungan komputasi shell.
Solusi: Karena fakta bahwa tidak ICMP didukung di AWS CloudShell, Anda dapat menjalankan perintah berikut untuk menginstal Netcat. Netcat adalah utilitas jaringan komputer untuk membaca dari, dan menulis ke, koneksi jaringan menggunakan TCP atauUDP.
sudo yum install nc nc -zv www.amazon.com 443
Ada beberapa masalah dalam mempersiapkan terminal Anda
Masalah: Saat mencoba mengakses AWS CloudShell menggunakan browser Microsoft Edge, Anda tidak dapat memulai sesi shell, dan browser menampilkan pesan kesalahan.
Penyebab: AWS CloudShell tidak kompatibel dengan versi Microsoft Edge sebelumnya. Anda dapat mengakses AWS CloudShell menggunakan empat versi utama terbaru dari browser yang didukung.
Solusi: Instal versi terbaru browser Edge dari situs Microsoft
Tombol panah tidak berfungsi dengan benar di PowerShell
Masalah: Dalam operasi normal, Anda dapat menggunakan tombol panah untuk menavigasi antarmuka baris perintah dan memindai mundur dan maju melalui riwayat perintah Anda. Tapi, ketika Anda menekan tombol panah dalam versi tertentu dari PowerShell on AWS CloudShell, huruf mungkin salah dikeluarkan.
Penyebab: Situasi di mana tombol panah salah menampilkan huruf adalah masalah yang diketahui dengan versi PowerShell 7.2.x yang berjalan di Linux.
Solusi: Untuk menghapus urutan escape yang mengubah perilaku tombol panah, edit file PowerShell profil dan atur $PSStyle
variabel kePlainText
.
-
Di baris AWS CloudShell perintah, masukkan perintah berikut untuk membuka file profil.
vim ~/.config/powershell/Microsoft.PowerShell_profile.ps1
catatan
Jika Anda sudah masuk PowerShell, Anda juga dapat membuka file profil di editor dengan perintah berikut.
vim $PROFILE
-
Di editor, pergi ke akhir teks file yang ada, tekan i untuk masuk ke mode Sisipkan, dan kemudian tambahkan pernyataan berikut.
$PSStyle.OutputRendering = 'PlainText'
-
Setelah Anda melakukan pengeditan, tekan Esc untuk masuk ke mode perintah. Selanjutnya, masukkan perintah berikut untuk menyimpan file dan keluar dari editor.
:wq
catatan
Perubahan Anda akan berlaku saat berikutnya Anda memulai PowerShell.
Soket Web yang tidak didukung menyebabkan kegagalan untuk memulai sesi CloudShell
Masalah: Saat mencoba memulai AWS CloudShell, Anda berulang kali menerima pesan berikut:Failed to open sessions : Timed out while opening
the session
.
Penyebab: CloudShell tergantung pada WebSocket protokol, yang memungkinkan komunikasi interaktif dua arah antara browser web Anda dan AWS CloudShell. Jika Anda menggunakan browser di jaringan pribadi, akses aman ke internet mungkin difasilitasi oleh server proxy dan firewall. WebSocket Komunikasi biasanya dapat melintasi server proxy tanpa masalah. Namun, dalam beberapa kasus, server proxy WebSockets mencegah agar tidak berfungsi dengan benar. Jika masalah ini terjadi, tidak CloudShell dapat memulai sesi shell dan upaya untuk terhubung akhirnya habis.
Solusi: Batas waktu koneksi mungkin disebabkan oleh masalah selain tidak WebSockets didukung. Jika ini masalahnya, pertama-tama segarkan jendela browser tempat antarmuka baris CloudShell perintah berada.
Jika Anda masih mendapatkan kesalahan batas waktu setelah penyegaran, lihat dokumentasi untuk server proxy Anda. Dan, pastikan bahwa server proxy Anda dikonfigurasi untuk mengizinkan Web Sockets. Atau, hubungi administrator sistem jaringan Anda.
catatan
Katakan bahwa Anda ingin menentukan izin granular dengan mengizinkan daftar tertentu. URLs Anda dapat menambahkan bagian dari AWS Systems Manager sesi URL yang digunakan untuk membuka WebSocket koneksi untuk mengirim input dan menerima output. AWS CloudShell Perintah Anda dikirim ke sesi Systems Manager tersebut.
Format untuk ini StreamUrl yang digunakan oleh Systems Manager adalah
wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output)
.
Wilayah mewakili pengenal Wilayah untuk Wilayah AWS yang didukung oleh AWS Systems Manager. Misalnya, us-east-2
adalah pengenal Wilayah untuk Wilayah Timur AS (Ohio).
Karena session-id dibuat setelah sesi Systems Manager tertentu berhasil dimulai, Anda hanya dapat menentukan wss://ssmmessages.region.amazonaws.com
kapan Anda memperbarui allowlist Anda. URL Untuk informasi selengkapnya, lihat StartSessionoperasi di AWS Systems Manager APIReferensi.
Tidak dapat mengimpor AWSPowerShell.NetCore
modul
Masalah: Saat Anda mengimpor file AWSPowerShell. NetCoremodul di PowerShell byImport-Module -Name AWSPowerShell.NetCore
, Anda menerima pesan kesalahan berikut:
Import-Module: Modul yang ditentukan '. AWSPowerShell NetCore'tidak dimuat karena tidak ada file modul yang valid ditemukan di direktori modul apa pun.
Penyebab: AWSPowerShell.NetCore
Modul digantikan oleh modul AWS.Tools per layanan di. AWS CloudShell
Solusi: Setiap pernyataan impor eksplisit mungkin tidak lagi diperlukan atau perlu diubah ke modul .Tools per layanan terkait AWS.
-
Untuk kebanyakan kasus, selama tidak ada jenis .Net yang digunakan, Anda tidak memerlukan pernyataan impor eksplisit. Berikut ini adalah contoh pernyataan impor.
-
Get-S3Bucket
-
(Get-EC2Instance).Instances
-
-
Jika jenis.Net digunakan, impor modul tingkat layanan ()
AWS.Tools.<Service>
. Berikut ini adalah contoh sintaks.Import-Module -Name AWS.Tools.EC2 $InstanceTag = [Amazon.EC2.Model.Tag]::new("Environment","Dev")
Import-Module -Name AWS.Tools.S3 $LifecycleRule = [Amazon.S3.Model.LifecycleRule]::new()
Untuk informasi lebih lanjut, lihat pengumuman versi 4
Docker tidak berjalan saat menggunakan AWS CloudShell
Masalah: Docker tidak berjalan dengan baik saat menggunakan AWS CloudShell. Anda menerima pesan galat berikut:docker: Cannot connect to the
Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
.
Solusi: Coba mulai ulang lingkungan Anda. Pesan kesalahan ini dapat terjadi ketika Anda menjalankan Docker AWS CloudShell di GovCloud Wilayah yang tidak mendukungnya. Pastikan Anda menjalankan Docker di AWS Wilayah yang didukung. Untuk daftar Wilayah di mana Docker tersedia, lihat AWS Wilayah yang Didukung untuk AWS CloudShell
Docker kehabisan ruang disk
Masalah: Anda menerima pesan kesalahan berikut:ERROR: failed to solve: failed to register layer: write [...]: no space
left on device
.
Penyebab: Dockerfile melebihi ruang disk yang tersedia di. AWS CloudShell Ini dapat disebabkan karena gambar individu yang besar atau terlalu banyak gambar Docker yang sudah ada sebelumnya.
Solusi: Jalankan df -h
untuk menemukan penggunaan disk. Jalankan sudo du -sh /folder/folder1
untuk menilai ukuran folder tertentu yang menurut Anda mungkin besar dan pertimbangkan untuk menghapus file lain untuk mengosongkan ruang. Salah satu opsi adalah mempertimbangkan untuk menghapus gambar Docker yang tidak digunakan dengan menjalankan. docker
rmi
Anda harus menyadari bahwa Docker memiliki ruang terbatas di lingkungan, untuk informasi lebih lanjut tentang Docker, lihat panduan Dokumentasi Docker
docker push
waktunya habis dan terus mencoba lagi
Masalah: Ketika Anda docker push
menjalankannya adalah waktu habis dan terus mencoba lagi tanpa hasil.
Penyebab: Ini dapat disebabkan sebagai akibat dari izin yang hilang, mendorong ke repositori yang salah atau kurangnya otentikasi.
Solusi: Untuk mencoba dan menyelesaikan masalah ini, pastikan Anda mendorong ke repositori yang benar. Jalankan docker
login
untuk mengautentikasi dengan benar. Pastikan Anda memiliki semua izin yang diperlukan untuk mendorong ke ECR repositori Amazon.
Tidak dapat mengakses sumber daya VPC dari AWS CloudShell VPC lingkungan saya
Masalah: Tidak dapat mengakses sumber daya dalam VPC saat menggunakan AWS CloudShell VPC lingkungan saya.
Penyebab: AWS CloudShell VPC Lingkungan Anda mewarisi pengaturan jaringan AndaVPC.
Solusi: Untuk mengatasi masalah ini, pastikan bahwa Anda telah VPC diatur dengan benar untuk mengakses sumber daya Anda. Untuk informasi selengkapnya, lihat VPC dokumentasi Menyambungkan Anda VPC ke jaringan lain dan dokumentasi Network Access Analyzer dan Network Access Analyzer Network Access Analyzer. Anda dapat menemukan IPv4 alamat yang digunakan AWS CloudShell VPC lingkungan, dengan menjalankan perintah di `ip -a` dalam lingkungan Anda di prompt baris perintah, atau di halaman VPC Konsol.
Yang ENI digunakan oleh AWS CloudShell untuk VPC lingkungan saya tidak dibersihkan
Masalah: Tidak dapat membersihkan yang ENI digunakan oleh AWS CloudShell untuk VPC lingkungan saya.
Penyebab: ec2:DeleteNetworkInterface
izin tidak diaktifkan untuk peran Anda.
Solusi: Untuk mengatasi masalah ini, pastikan ec2:DeleteNetworkInterface
izin diaktifkan untuk peran Anda seperti yang ditunjukkan dalam skrip contoh berikut:
{ "Effect": "Allow", "Action": [ "ec2:DeleteNetworkInterface" ], "Condition": { "StringEquals": { "aws:ResourceTag/ManagedByCloudShell": "" } }, "Resource": "arn:aws:ec2:*:*:network-interface/*" }
Pengguna dengan CreateEnvironment
izin hanya untuk VPC lingkungan juga memiliki akses ke AWS CloudShell lingkungan publik
Masalah: Pengguna dibatasi dengan CreateEnvironment
izin hanya untuk VPC lingkungan juga dapat mengakses AWS CloudShell lingkungan publik.
Penyebab: Ketika Anda membatasi CreateEnvironment
izin untuk pembuatan VPC lingkungan saja dan jika Anda telah membuat lingkungan publik, Anda akan menjaga akses Anda ke CloudShell lingkungan publik yang ada sampai lingkungan ini dihapus menggunakan antarmuka pengguna web. Tetapi jika Anda belum pernah menggunakan CloudShell sebelumnya, Anda tidak akan memiliki akses ke lingkungan publik.
Solusi: Untuk membatasi akses ke AWS CloudShell lingkungan publik, IAM administrator harus terlebih dahulu memperbarui IAM kebijakan dengan pembatasan, dan kemudian pengguna harus secara manual menghapus lingkungan publik yang ada menggunakan antarmuka pengguna AWS CloudShell web. (Tindakan → Hapus CloudShell lingkungan).
Kredensyal tidak berfungsi di CloudShell
Masalah: Saat Anda mencoba melakukan AWS CLI
panggilan dari CloudShell, Anda mendapatkan pesan kesalahan Kesalahan Server Internal
.
Penyebab: Berikut ini adalah kemungkinan penyebab masalah ini:
-
putCredentials
APIPanggilan yang CloudShell digunakan untuk menyegarkan kredensional, gagal. APIPanggilan dapat gagal karena kurangnya IAM izin untukputCredentials
bertindak. Untuk informasi selengkapnya, lihat Izin untuk mengakses Layanan AWS. Jika Anda sudah memiliki IAM izin untukputCredentials
bertindak, maka API panggilan dapat gagal karena masalah jaringan atau masalah operasional dengan CloudShell. -
Kredensi Anda tidak lagi valid karena sesi AWS Konsol telah kedaluwarsa, tetapi CloudShell lingkungan Anda masih berjalan. Ketika kredensi Anda tidak lagi valid, CloudShell gagal melakukan panggilan apa punAPI.
Solusi: Coba segarkan halaman web jika Anda sudah memiliki IAM izin yang diperlukan untuk bertindak. putCredentials
Jika masalah tidak teratasi dan Anda terus menerima kesalahan, hubungi AWS Support
Tidak dapat mengakses saran sebaris Amazon Q di AWS CloudShell
Masalah: Setelah Anda beralih ke shell Z, Anda tidak melihat saran sebaris di CloudShell terminal.
Penyebab: Jika Anda menggunakan CloudShell lingkungan yang ada, dotfiles Anda mungkin tidak berisi konfigurasi yang diperlukan untuk saran sebaris Amazon Q.
Solusi: Untuk mengatasi masalah ini, ikuti langkah-langkah berikut:
-
Jalankan
q integrations install dotfiles
. -
Buka CloudShell tab baru.
-
Beralih ke Z shell dengan mengetik
zsh
, dan kemudian tekan Enter.
Tidak dapat mengakses CLI fitur Amazon Q di AWS CloudShell
Masalah: Saat Anda mencoba menggunakan CLI fitur Amazon Q CloudShell, seperti saran sebaris, obrolan, dan terjemahan, Anda mendapatkannya AccessDeniedError
.
Penyebab: Anda tidak memiliki IAM izin yang diperlukan.
Solusi: Minta administrator Anda untuk memberi Anda IAM izin yang diperlukan. Untuk informasi selengkapnya, lihat contoh kebijakan berbasis identitas untuk Pengembang Amazon Q di Panduan Pengguna Pengembang Amazon Q.