Saya memiliki beberapa gambar Linux EC2 yang melakukan pekerjaan pemrosesan malam untuk salah satu proyek saya. Dari waktu ke waktu, saya harus masuk, membuat beberapa perubahan kode, mengkonfigurasi beberapa hal, dan menggabungkan kembali gambar.
Toolset saya untuk operasi ini sangat jarang (SSH ke dalam kotak, mengedit file dalam VIM, WGET file jarak jauh yang saya butuhkan), dan saya curiga ada cara yang jauh lebih baik untuk melakukannya. Saya ingin tahu apa yang dilakukan orang lain di posisi saya.
Apakah Anda menggunakan beberapa bentuk sistem Windowing dan setara remote-desktop untuk mengakses kotak, atau apakah itu semua baris perintah? Mengelola kotak EC2 Windows adalah sepele, karena Anda dapat meremote desktop dan mentransfer file melalui jaringan. Apakah ada yang setara dengan ini di dunia Linux?
Apakah Anda melakukan perubahan konfigurasi / skrip tweak langsung pada mesin? Atau apakah Anda memiliki sesuatu yang diatur pada kotak lokal Anda untuk mengedit file-file ini dari jarak jauh? Atau apakah Anda hanya mengeditnya dari jauh kemudian mentransfernya di setiap penyimpanan?
Bagaimana Anda memindahkan file bolak-balik antara EC2 dan lingkungan lokal Anda? FTP? Semacam Drive yang Dipetakan melalui VPN?
Saya benar-benar perlu menerapkan beberapa praktik terbaik untuk mengelola kotak-kotak ini. Setiap saran untuk menghilangkan rasa sakit akan sangat disambut!
EDIT: Jelas, saya tidak jelas di atas, karena dua tanggapan pertama berkisar pada mengelola dan mengkonfigurasi Instance EC2. Saya hanya ingin tahu cara remote desktop ke Linux Server yang sedang berjalan sehingga memindahkan file dan mengeditnya tidak begitu menyakitkan.
sumber
Jawaban:
Saya tidak melakukan banyak administrasi sistem manual lagi. Saya melihat infrastruktur saya sebagai entitas yang dapat diprogram, dan memperlakukannya seperti itu, dengan mengkonfigurasi sistem dengan alat yang mengotomatisasi manajemen konfigurasi, pemeliharaan simpul EC2, dll. Alat di kotak alat saya:
(1) - Pengungkapan, saya bekerja untuk Opscode. Alat lain mengisi ruang ini seperti Reductive Lab's Puppet.
Saya melakukan bundel AMI ketika saya membuat simpul yang saya butuhkan untuk fungsi tertentu. Misalnya, jika saya membuat server aplikasi Rails, saya akan menginstal semua paket prasyarat untuk menghemat waktu saat membangun.
Ketika semuanya gagal, saya masuk ke sistem dengan SSH. Saya melakukan administrasi sistem manual selama bertahun-tahun, ini topi tua.
Saya tidak menginstal GUI di server kecuali paket memiliki ketergantungan dan satu akan diinstal secara otomatis.
Saya biasanya melakukan dua jenis transfer file / pemeliharaan file.
Untuk paket yang berasal dari platform, saya menggunakan alat manajemen paket standar seperti APT atau YUM. Untuk pemasangan sumber (something.tar.gz) Saya biasanya mengunduh melalui wget.
File konfigurasi biasanya merupakan template ERB yang dikelola oleh Chef.
Saya menggunakan SSH dan SCP / SFTP untuk mentransfer file secara manual.
Saya menyimpan semua yang berhubungan dengan mengelola sistem dalam repositori kontrol perangkat lunak. Inilah alur kerja saya yang khas ketika memperbarui konfigurasi pada satu atau lebih sistem. Saya mulai dari workstation lokal saya.
Ada beberapa lokasi tempat file yang saya gunakan pada node EC2 dapat disimpan.
Saya melakukan banyak pekerjaan di EC2, terutama menguji lingkungan dan perubahan. Sebagai hasil dari alat dan alur kerja saya, saya menghabiskan lebih banyak waktu mengerjakan hal-hal yang benar-benar saya pedulikan dan lebih sedikit berurusan dengan file individual dan memikirkan konfigurasi tertentu.
sumber
Semua perangkat lunak kami dikerahkan melalui RPM. Setiap tipe instance EC2 dijelaskan oleh file kickstart (yang berisi daftar RPM yang akan diinstal ...). Pengaturan kickstart berarti mesin yang berfungsi untuk setiap jenis instance dapat dibangun dari awal dalam waktu sekitar 10 menit.
Kami kemudian memiliki program yang memanggil anaconda (penginstal Red Hat) untuk mengambil file kickstart, menginstal sistem ke direktori, lalu bundel direktori dan dorong ke S3 sebagai Gambar Mesin Amazon. Ini semua satu langkah, jadi saya cukup ketik:
Karena mesin dapat sepenuhnya dibangun kembali, diunggah, dan dijalankan dalam waktu sekitar 40 menit, lebih mudah untuk membuat gambar mesin baru daripada melakukan sysadmin pada instance EC2 (sekali pakai) yang sebenarnya. Oleh karena itu, tidak ada sysadmin yang benar-benar dilakukan pada instance EC2.
sumber
Saya suka NX untuk akses gui jarak jauh. Sangat terdokumentasi dengan baik juga.
sumber
Saya menggunakan nautilus untuk sedikit manajemen file dan ssh untuk perintah. Plug tepat ke sistem Anda seperti Anda berada di dalamnya secara fisik di pusat data. Jika Anda melakukannya dari kotak windows, maka konektivitas semacam ini tidak akan berfungsi karena vfs di windows terbatas.
sumber
Saya pikir Anda tidak memerlukan Remote Desktop untuk tugas-tugas ini.
Seperti yang disebutkan orang lain, Anda dapat menggunakan SFTP untuk mentransfer file antar kotak. Gunakan klien WinSCP untuk terhubung melalui sftp, yang juga dapat Anda gunakan untuk mengedit file pada mesin windows Anda (dengan mengklik dua kali pada mereka) seolah-olah itu ada di mesin lokal Anda. Anda juga dapat menggunakannya untuk menyalin / memindahkan file dari jarak jauh.
Anda juga dapat mempertimbangkan untuk menggunakan Midnight Commander (mc) pada ssh console yang dapat mempercepat operasi file. Untuk menginstal gunakan perintah
yum install mc
atauapt-get install mc
. Setelah itu Anda bisa memulainya dengan mengetikmc
di terminal. Ini juga memiliki built in viewer dan editor yang lebih mudah daripada vim.Jika Anda benar-benar ingin memiliki GUI - yang biasanya tidak kami miliki di server - Anda harus menginstal lingkungan X dan menghubungkannya dengan VNC. Dalam kasus seperti itu, kami terhubung ke server VNC melalui terowongan ssh yang menambahkan keamanan lebih untuk itu.
sumber
Untuk menjawab pertanyaan Anda tentang menyiapkan desktop jarak jauh dengan X, jika Anda menggunakan Debian, baca ini . Ini bukan dokumen terbaik tentang pengaturannya. Ini telah Anda instal terlalu banyak paket, tetapi punya ide yang tepat. Anda benar-benar hanya memerlukan driver video dummy untuk X, dan kemudian membuat VNC memulai desktop X.
sumber
Jika Anda menggunakan ubuntu: kami sedang mempertimbangkan menggunakan lansekap untuk ini, ini merupakan produk komersial oleh tim ubuntu (kanonik) dan akan diintegrasikan dengan perintah-perintah EC2.
sumber
Anda dapat mencoba sesuatu seperti capistrano tetapi jika itu tidak cukup untuk apa setelah Anda maka sepertinya Anda adalah kandidat untuk beberapa jenis manajemen konfigurasi.
Wayang, reductivelabs.com/products/puppet/, benar-benar menonjol di bidang ini, tetapi mungkin sedikit berlebihan bagi Anda kecuali Anda memiliki rencana untuk menjadi lebih besar dan nilainya kerja keras di depan.
Jika Anda menggunakan salah satu distro debian / ubuntu maka saya akan checkout Slack Roles.
Ini adalah pembungkus mewah untuk rsync dan dan shell script. Ini memiliki sangat sedikit pembelajaran di muka dan bekerja dengan baik namun saat Anda tumbuh itu bisa menjadi sedikit tidak jelas.
sumber