
Halo semuanya. Minggu depan, kelas-kelas pada kursus
Layanan Cloud akan dimulai. Kami memberi Anda perhatian singkat menceritakan kembali
pelajaran terbuka "AWS EC2-service". Itu dilakukan oleh
Egor Zuev , seorang guru dan spesialis dalam layanan cloud dengan pengalaman lebih dari 10 tahun. Dalam seminar ini, kami meninjau layanan AWS EC2, mengkodekan dan menyebarkan aplikasi sederhana, mengangkat database, dan juga memeriksa replikasi gambar dan load balancers.
Ikhtisar Layanan AWS EC2
EC2 (elastic compute cloud) adalah layanan yang menyediakan daya komputasi dengan menyediakan mesin virtual / fisik dengan gambar yang dibuat sebelumnya dari sistem operasi (misalnya, Ubuntu, Debian, Windows).
Jenis contoh tersedia untuk dipilih:

Adapun gambar, AWS EC2 menggunakan AMI (gambar mesin Amazon), yang juga merupakan gambar dari sistem operasi pra-dibangun yang akan digunakan oleh instance EC2. Analogi terdekat adalah disk virtual dengan sistem yang sudah diinstal, misalnya, dalam Virtual Box.
Penting untuk diketahui bahwa ketika kita mengkonfigurasi mesin dan memilih gambar, kita perlu mengkonfigurasi akses. Karena mesin akan berada di cloud, kami dan pengguna lain perlu menjangkau itu. Untuk melakukan ini, konfigurasikan grup Keamanan - seperangkat aturan (kebijakan), yang berlaku untuk instance EC2 dan termasuk izin untuk lalu lintas masuk dan keluar.
Bekerja dengan konsol
Segera setelah mendaftar untuk layanan ini, Anda akan dibawa ke konsol AWS EC2. Di sana Anda dapat memilih EC2 dan jenis mesin tempat kami akan menyebarkan semuanya. Dalam kasus kami, pilih Server Ubuntu.


Poin penting : pada langkah nomor 2, kami tertarik pada
t2micro (ditandai dengan stiker hijau),
karena semua yang lain akan dibayar.
Dalam tiga langkah berikutnya, kita meninggalkan pengaturan default, tetapi langkah 6 harus diberi perhatian khusus. Di sini Anda perlu memasukkan nama grup, misalnya, backend-security-group, dan kemudian segera menambahkan aturan sehingga hanya port ke-80 yang dapat terhubung dari dunia luar.

Pada langkah ketujuh, klik Luncurkan dan mulai instance. Tetapi sebelum itu, sistem akan meminta Anda untuk membuat kunci untuk menghubungkan melalui ssh. Ketika semua langkah selesai, dibutuhkan 1-2 menit untuk menginisialisasi.
Instance yang dibuat disebut backend.
Video terperinci tentang pengaturan .
Koneksi
Jika seseorang lupa tentang seluk-beluk koneksi, layanan akan segera memberi tahu Anda tentang hal itu:

Anda dapat menggunakan program terpisah untuk menyambungkan, misalnya, Bitvise SSH Client - alat yang sangat nyaman.
Mesin segera memiliki alamat IP publik dan pribadi. Kami menggunakan publik untuk akses ke mesin, yang kami kendarai, mengaksesnya dengan ssh. Kami menulis ubuntu sebagai nama pengguna, lalu kami mengimpor kunci yang kami buat. Yang tersisa hanyalah login dengan mobil. Omong-omong, kita akan melakukan semua tindakan dari bawah root, untuk memasukkan yang kita ketik perintah
sudo su .
Detail koneksi.Kami menghubungkan database
Sebagai basis data, diputuskan untuk menggunakan PostgreSQL. Untuk melanjutkan, buat instance baru dengan pengaturan berikut:
- masukkan 16 GB di kolom Ukuran (langkah nomor 4);
- Nama grup keamanan disebut basis data-keamanan-kelompok (langkah nomor 6);
- tambahkan aturan dalam konfigurasi dengan memilih PostgreSQL dari sub-daftar (langkah nomor 6).
Ngomong-ngomong, di sini di bidang IP-address Anda dapat mengarahkan grup keamanan, dalam kasus kami, kami berbicara tentang grup backend-security-group. Dengan demikian, setiap orang yang termasuk dalam grup ini akan mendapatkan akses ke database di jaringan pribadi.
Di sini Anda dapat mendengarkan keajaiban apa yang dimiliki jaringan pribadi ini.
Hasilnya, kami mendapatkan dua instance di konsol - backend dan database.
Rincian koneksi DB.Kami membuat dan menyebarkan aplikasi
Buat proyek baru menggunakan WebStorm dan Node.js. Tugas kita adalah
menulis aplikasi sederhana yang hanya akan melakukan dua hal - menanggapi ping dan menghitung jumlah permintaan permintaan ke titik akhir tertentu dan, karenanya, mengeluarkannya.
Kami akan
menyebarkan aplikasi dalam dua tahap. Untuk menyebarkan, pergi ke mesin yang disebut backend, lakukan pembaruan, instal Node.js, lakukan git clone, instal perpustakaan.
Selanjutnya, kami
menaikkan pangkalan . Harap dicatat bahwa Node dan Postgres bekerja pada mesin yang berbeda. Momen kebenaran -
koneksi ke aplikasi melalui alamat publik. Hore, semuanya bekerja!

Tahap selanjutnya adalah
pembuatan gambar AMI kita sendiri , yang akan tersedia untuk kita. Berdasarkan gambar AMI ini, kami dapat membuat salinan backend kami dan menyebarkannya dalam dua klik. Untuk melakukan ini, buka "Gambar" - "Buat Gambar".

Setelah membuat gambar,
kami membuat pengaturan yang diperlukan. Ada beberapa opsi: misalnya, Anda perlu menentukan ukuran minimum hard disk. Kita berbicara tentang ukuran snapshot, yaitu, pada kenyataannya, snapshot akan dihapus dari hard drive tempat kita menginstal semuanya. Kita dapat mengatakan bahwa AMI adalah entitas virtual yang terdiri dari pengaturan gambar dan foto dengan OS yang diinstal (dalam kasus kami, OS dengan Node.js diinstal, dan aplikasi kami).
Poin penting : dibutuhkan sekitar lima menit untuk membuat snapshot, di mana mesin akan dalam status ditahan ("semakin gemuk" gambar Anda, semakin banyak waktu akan tahan).
Beri nama gambar, misalnya,
backend-ami . Nama disajikan di sini:

Setelah membuat gambar, kita dapat menggandakannya dan mendapatkan salinan mesin yang sama hanya dalam beberapa klik. Dan untuk terhubung ke mesin tidak secara terpisah, tetapi melalui
penyeimbang beban . Ada beberapa penyeimbang untuk dipilih, yang berbeda dalam menyeimbangkan algoritma.
Menyiapkan penyeimbang yang dipilih tidak akan menyebabkan kesulitan, meskipun ada
nuansa yang penting untuk diingat.

Model harga
AWS EC2 menawarkan 4 model harga. Tangkapan layar di bawah ini berisi deskripsi tiga di antaranya: Dicadangkan, Pasar Spot, dan Berdasarkan Permintaan. Ngomong-ngomong, dalam pelajaran terbuka, kami menggunakan model On-Demand.
Lebih lanjut tentang model.Selain pilihan model, layanan AWS EC2 juga bagus karena terintegrasi (seperti banyak produk AWS lainnya) dengan sistem pemantauan AWS -
Cloudwatch . Sistem pemantauan ini dikonfigurasi secara fleksibel dan memungkinkan Anda memantau konsumsi sumber daya dan anggaran. Hanya dengan beberapa klik, Anda dapat menetapkan batas penggunaan sumber daya EC2, setelah itu Anda akan menerima pemberitahuan, misalnya, melalui surat.
Tetap menambahkan bahwa pelajaran terbuka itu sangat informatif. Dan jika Anda tertarik pada topik ini, lebih baik untuk menonton seluruh webinar sehingga Anda tidak kehilangan apa pun.