Mengotomatiskan tugas database dalam edisi SQL Server Express yang berjalan di Amazon EC2 dengan menggunakan AWS Lambda dan Penjadwal Tugas - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengotomatiskan tugas database dalam edisi SQL Server Express yang berjalan di Amazon EC2 dengan menggunakan AWS Lambda dan Penjadwal Tugas

Subhani Shaik, Amazon Web Services

Ringkasan

Pola ini menunjukkan bagaimana menjadwalkan dan mengelola tugas-tugas database dalam edisi SQL Server Express, yang merupakan versi gratis dari SQL Server. Namun, edisi SQL Server Express tidak memiliki layanan SQL Server Agent yang biasanya menangani operasi database otomatis. Pola ini menjelaskan bagaimana Anda dapat menggunakan Penjadwal Tugas dan Lambda sebagai alternatif untuk mengotomatiskan tugas database dalam edisi SQL Server Express yang berjalan pada instans Amazon Elastic Compute Cloud (Amazon). EC2

Penjadwal Tugas adalah utilitas sistem Windows bawaan yang memfasilitasi pelaksanaan otomatis tugas-tugas rutin. Ini menyediakan mekanisme untuk menjadwalkan dan mengelola operasi otomatis, menghilangkan kebutuhan untuk intervensi manual dalam proses berulang. AWS Lambdaadalah layanan komputasi tanpa server yang secara otomatis menjalankan kode sebagai respons terhadap peristiwa, tanpa mengharuskan Anda mengelola infrastruktur yang mendasarinya.

Prasyarat dan batasan

Prasyarat

  • Aktif Akun AWS

  • Virtual Private Cloud (VPC) yang dibuat dengan Amazon Virtual Private Cloud (Amazon VPC)

  • EC2 Instans Amazon dengan Windows Server

  • Volume Amazon Elastic Block Store (Amazon EBS) yang dilampirkan ke instans EC2 Amazon dengan Windows Server

  • Binari SQL Server Express Edition

Batasan

Versi produk

  • SQL Server 2016 atau yang lebih baru dengan edisi SQL Server Express

Arsitektur

Diagram berikut menunjukkan EC2 instans Amazon yang berjalan dengan edisi SQL Server Express diinstal. Instans ini dapat diakses melalui klien Remote Desktop Protocol (RDP) atau dari. AWS Systems Manager Session Manager AWS Key Management Service (AWS KMS) menangani enkripsi data untuk volume Amazon EBS untuk memastikan data-at-rest keamanan. Infrastruktur juga mencakup AWS Identity and Access Management (IAM), yang menyediakan kontrol akses dan mengelola izin untuk pelaksanaan fungsi Lambda. Amazon Simple Storage Service (Amazon S3) menyimpan fungsi Lambda.

EC2 Instans Amazon yang berjalan dengan edisi SQL Server Express diinstal pada subnet pribadi.

Alat

Layanan AWS

  • Amazon Elastic Block Store (Amazon EBS) menyediakan volume penyimpanan tingkat blok untuk digunakan dengan instans Amazon. EC2

  • Amazon Elastic Compute Cloud (Amazon EC2) menyediakan kapasitas komputasi yang dapat diskalakan di. AWS Cloud Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah.

  • AWS Identity and Access Management (IAM) membantu Anda mengelola akses ke AWS sumber daya dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.

  • AWS Key Management Service (AWS KMS) membantu Anda membuat dan mengontrol kunci kriptografi untuk membantu melindungi data Anda.

  • AWS Lambdaadalah layanan komputasi yang membantu Anda menjalankan kode tanpa perlu menyediakan atau mengelola server. Ini menjalankan kode Anda hanya bila diperlukan dan skala secara otomatis, jadi Anda hanya membayar untuk waktu komputasi yang Anda gunakan.

  • Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.

  • AWS Systems Manager Session Manageradalah AWS Systems Manager alat yang dikelola sepenuhnya. Dengan Session Manager, Anda dapat mengelola EC2 instans Amazon, perangkat edge, server lokal, dan mesin virtual ()VMs.

  • Amazon Virtual Private Cloud (Amazon VPC) membantu Anda meluncurkan AWS sumber daya ke jaringan virtual yang telah Anda tentukan. Jaringan virtual ini menyerupai jaringan tradisional yang akan Anda operasikan di pusat data Anda sendiri, dengan manfaat menggunakan infrastruktur yang dapat diskalakan. AWS

Alat lainnya

  • Microsoft SQL Server Management Studio (SSMS) adalah alat untuk mengelola SQL Server, termasuk mengakses, mengkonfigurasi, dan mengelola komponen SQL Server.

  • Python adalah bahasa pemrograman komputer tujuan umum. Anda dapat menggunakannya untuk membangun aplikasi, mengotomatiskan tugas, dan mengembangkan layanan di AWS Cloudaplikasi.

  • Penjadwal Tugas adalah alat Microsoft yang dapat Anda gunakan untuk menjadwalkan tugas rutin di komputer Anda secara otomatis.

Praktik terbaik

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Menerapkan EC2 instans Amazon.

Untuk membuat EC2 instans Amazon, buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/dan pilih Amazon Machine Image (AMI) dari daftar instance yang tersedia untuk Windows Server.

Untuk informasi selengkapnya, lihat Meluncurkan EC2 instance Amazon di AWS dokumentasi.

DBA, AWS DevOps

Instal edisi SQL Server Express.

Untuk menginstal edisi SQL Server Express, selesaikan langkah-langkah berikut:

  1. Untuk terhubung ke EC2 instans Amazon Anda, pilih opsi:

  2. Untuk mengunduh edisi SQL Server Express yang diperlukan, buka Unduhan SQL Server di situs web Microsoft.

  3. Untuk menginstal edisi SQL Server Express, ikuti petunjuk dalam Rencanakan instalasi SQL Server di situs web Microsoft.

DBA, AWS DevOps
TugasDeskripsiKeterampilan yang dibutuhkan

Identifikasi tugas rutin.

Identifikasi tugas rutin yang ingin Anda otomatiskan. Misalnya, tugas-tugas berikut memenuhi syarat untuk otomatisasi:

  • Backup database (Log penuh, diferensial, dan transaksi)

  • Pemeliharaan dan reorganisasi indeks

  • Pembaruan statistik

  • Operasi khusus aplikasi

  • Pembersihan atau pengarsipan data

DBA

Siapkan skrip SQL.

Untuk menyiapkan skrip SQL, lakukan hal berikut:

  1. Buat kueri SQL untuk setiap tugas pemeliharaan. Berikut ini adalah contoh query T-SQL untuk melakukan backup database tertentu: Backup Database <Database_Name> To Disk='C:\Backups\Database_Name.bak'

  2. Simpan file skrip sebagai<File Name>.sql. Kemudian, simpan skrip ke lokasi yang dapat diakses di drive lokal server di EC2 instance Amazon atau berbagi file jaringan.

DBA

Konfigurasikan izin akses.

Untuk mengonfigurasi izin akses, lakukan hal berikut:

  1. Tetapkan izin sistem file yang sesuai. Untuk petunjuk, lihat Mengkonfigurasi izin sistem file untuk akses Database Engine di situs web Microsoft.

  2. Periksa apakah akun layanan SQL Server memiliki akses yang diperlukan. Untuk petunjuk, lihat Mengkonfigurasi akun layanan Windows dan izin di situs web Microsoft.

  3. Verifikasi konektivitas jaringan untuk berbagi jarak jauh. Untuk informasi selengkapnya, lihat Mengakses data menggunakan berbagi file dalam AWS dokumentasi.

DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Buat file batch.

  • Untuk membuat file batch, gunakan editor teks untuk mengetik perintah berikut. Ganti parameter username dan password dengan nilai Anda sendiri. Kemudian simpan file sebagai<Name>.bat.

sqlcmd -S servername -U username -P password -i <T-SQL query path.sql>
  • Untuk membuat file batch untuk tugas SQL, gunakan editor teks dan ketik perintah berikut. Ganti parameterServerName,DatabaseName,username, dan password dengan nilai Anda sendiri. Kemudian simpan file sebagai<Name>.bat.

@echo off sqlcmd -S [ServerName] -d [DatabaseName] -U username -P password -i "PathToSQLScript\Script.sql" -o "PathToOutput\Output.txt"
AWS DevOps, DBA

Buat tugas di Penjadwal Tugas.

Untuk membuat tugas di Penjadwal Tugas, gunakan langkah-langkah berikut:

  1. Untuk membuka Penjadwal Tugas, ketik taskschd.msc di pencarian Windows.

  2. Pilih menu Action, lalu pilih Create Basic Task.

  3. Untuk Nama, berikan nama untuk tugas tersebut, lalu pilih Berikutnya.

  4. Untuk Trigger, pilih opsi kapan Anda ingin tugas dimulai dan kemudian pilih Berikutnya.

  5. Berikan informasi Mulai dan Ulang untuk tugas tersebut, lalu pilih Berikutnya.

  6. Untuk bagian Tindakan, pilih Mulai program dan kemudian pilih Berikutnya.

  7. Untuk Program/skrip, tentukan jalur untuk file batch yang Anda buat di tugas sebelumnya dan kemudian pilih Berikutnya.

  8. Pilih Selesai.

Untuk menjalankan tugas secara manual, klik kanan tugas yang baru dibuat dan kemudian pilih Jalankan.

DBA

Lihat status tugas.

Untuk melihat status tugas di Penjadwal Tugas, gunakan langkah-langkah berikut:

  1. Di Penjadwal Tugas, buka Perpustakaan Penjadwal Tugas, yang menampilkan semua tugas.

  2. Untuk melihat status tugas yang Anda buat sebelumnya, pilih tugas dan kemudian buka tab Riwayat.

DBA, AWS DevOps
TugasDeskripsiKeterampilan yang dibutuhkan

Menerapkan solusinya.

Untuk menerapkan solusi pola ini, gunakan langkah-langkah berikut:

  1. Buat fungsi Lambda. Untuk petunjuk, lihat Membuat fungsi Lambda pertama Anda dalam dokumentasi. AWS

  2. Jadwalkan fungsi Lambda. Untuk petunjuk, lihat Memanggil fungsi Lambda pada jadwal dalam AWS dokumentasi.

  3. Jalankan kueri T-SQL. Untuk informasi selengkapnya, lihat Tutorial: Menggunakan fungsi Lambda untuk mengakses database Amazon RDS dalam dokumentasi. AWS Tutorial ini menjelaskan cara menghubungkan database Amazon RDS dari fungsi Lambda untuk menjalankan kueri SQL

AWS DevOps, DevOps insinyur

Pemecahan Masalah

IsuSolusi

Masalah Lambda

Untuk bantuan terkait kesalahan dan masalah yang mungkin Anda temui saat menggunakan AWS Lambda, lihat Memecahkan masalah di Lambda dalam dokumentasi. AWS

Sumber daya terkait