Amazon EC2 tidak akan membiarkan saya menghapus grup keamanan, mengeluh bahwa grup masih memiliki dependensi. Bagaimana saya dapat menemukan apa dependensi itu?
aws ec2 menggambarkan-keamanan-kelompok tidak mengatakan.
Amazon EC2 tidak akan membiarkan saya menghapus grup keamanan, mengeluh bahwa grup masih memiliki dependensi. Bagaimana saya dapat menemukan apa dependensi itu?
aws ec2 menggambarkan-keamanan-kelompok tidak mengatakan.
Jawaban:
Tempel ID grup keamanan di bagian "Network Interfaces" dari EC2. Ini akan menemukan penggunaan di EC2, EB, RDS, ELB.
CLI: aws ec2 describe-network-interfaces --filters Name=group-id,Values=sg-123abc45
Cara terbaik untuk melakukan ini di konsol AWS EC2, adalah menempelkan nama grup keamanan di bidang pencarian di bagian EC2-> Instances.
Semua instance yang terkait dengan grup keamanan yang ditempelkan kemudian akan terisi-yang akan menjadi objek EC2 (dependensi).
Anda juga dapat menjalankan pencarian ini di bagian ELB dan penawaran AWS lainnya yang memanfaatkan grup keamanan.
Jika Anda mencoba untuk menghapus grup keamanan, Anda perlu 'mengubah grup keamanan' untuk setiap instance (jika mereka berada dalam VPC) atau membuat AMI dan meluncurkan kembali menggunakan grup keamanan yang berbeda-lalu hapus instance lama (jika menggunakan EC2 classic)
Semoga itu bisa membantu-
Anda perlu melihat objek instan EC2 Anda, bukan grup itu sendiri:
$ aws ec2 describe-instances --output text
Kemudian cari "sg- *" atau gunakan alat pemrosesan aliran teks unix standar untuk mengeluarkan data yang Anda butuhkan.
Atau, jika Anda memiliki sedikit contoh, gunakan --output table
untuk daftar yang diformat dengan baik.
aws ec2 describe-instances --output text | grep sg-
Anda dapat menginterogasi aws cli untuk mendapatkan data yang Anda inginkan.
Anda harus:
Anda juga dapat menggunakan perpustakaan, seperti boto https://code.google.com/p/boto/ alih-alih aws cli mentah.
Fungsi Lambda juga dapat memiliki Grup Keamanan. Pada saat penulisan, Amazon tidak mencegah penghapusan grup keamanan yang digunakan oleh fungsi Lambda.
Saya menggunakan ini:
aws lambda list-functions | jq -c '.Functions[] | {FunctionArn, SecurityGroups: (.VpcConfig.SecurityGroupIds[]? // null) }'
Masalah lain adalah SecurityGroups yang bergantung pada SecurityGroups lainnya. Seseorang dapat menggunakan perintah ini untuk menghasilkan daftar Adjacency (dependensi langsung):
aws ec2 describe-security-groups --query "SecurityGroups[*].{ID:GroupId,Name:GroupName,dependentOnSGs:IpPermissions[].UserIdGroupPairs[].GroupId}
Idealnya, hasil ini harus digunakan untuk menemukan penutupan Transitif (semua dependensi, langsung & tidak langsung). Sayangnya, saya gagal menemukan util penutupan Transitive.
Anda dapat menggunakan alat Python ini untuk membuat daftar grup keamanan dengan dependensinya. Itu juga memungkinkan untuk mendaftarkan grup keamanan yang tidak terpakai (usang):
Jawaban yang ditandai salah. Jika Anda melihat Pelanggaran Ketergantungan, kemungkinan Grup Keamanan lain dirujuk dalam konfigurasi IP Permissions (Ingress) Anda. Anda harus mencabut semua izin masuk yang mengandung Grup Keamanan sebagai sumbernya.