Pemecahan masalah AWS CloudShell - AWS CloudShell

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. Anda juga dapat mencari jawaban dan memposting pertanyaan di Forum AWS CloudShell Diskusi. Ketika Anda memasuki forum ini, Anda mungkin diminta untuk masuk AWS. Anda juga dapat kontak kami secara langsung.

Memecahkan masalah kesalahan

Ketika Anda menemukan salah satu kesalahan terindeks berikut, Anda dapat menggunakan solusi berikut untuk mengatasi kesalahan ini.

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.

(kembali ke atas)

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.

(kembali ke atas)

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.

(kembali ke atas)

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

(kembali ke atas)

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.

(kembali ke atas)

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.

  1. 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
  2. Di editor, pergi ke akhir teks file yang ada, tekan i untuk masuk ke mode Sisipkan, dan kemudian tambahkan pernyataan berikut.

    $PSStyle.OutputRendering = 'PlainText'
  3. Setelah Anda mengedit, 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.

(kembali ke atas)

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 bekerja 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.

(kembali ke atas)

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 untuk AWS Tools for PowerShell.

(kembali ke atas)

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 Wilayah yang tidak mendukungnya. Pastikan Anda menjalankan Docker di Region yang didukung, untuk informasi tentang Wilayah mana yang mendukung penggunaan container Docker AWS CloudShell, lihat Docker Regions.

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 pushwaktunya 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 Connect Anda VPC ke jaringan lain dan dokumentasi 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. (TindakanHapus CloudShell lingkungan).