Aktifkan pengarsipan DB2 log langsung ke Amazon S3 dalam database IBM Db2 - AWS Prescriptive Guidance

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

Aktifkan pengarsipan DB2 log langsung ke Amazon S3 dalam database IBM Db2

Ambarish Satarkar, Amazon Web Services

Ringkasan

Pola ini menjelaskan cara menggunakan Amazon Simple Storage Service (Amazon S3) sebagai penyimpanan katalog untuk log arsip yang dihasilkan oleh IBM Db2, tanpa menggunakan area pementasan.

Anda dapat menentukan penyimpanan Amazon S3 DB2REMOTE untuk parameter konfigurasi metode arsip log logarchmeth1 dan logarchmeth2. Anda dapat menggunakan logarchmeth1 parameter untuk menentukan tujuan utama untuk log yang diarsipkan dari jalur log saat ini. Dengan kemampuan ini, Anda dapat mengarsipkan dan mengambil log transaksi ke dan dari Amazon S3 secara langsung, tanpa menggunakan area pementasan.

Amazon S3 menyimpan data yang diunggah ke dalamnya setidaknya di tiga perangkat dalam satu. Wilayah AWS Jutaan pelanggan dari semua ukuran dan industri menggunakan Amazon S3 untuk menyimpan cadangan perusahaan mengingat ketersediaannya yang tinggi, opsi penyimpanan yang fleksibel, kebijakan siklus hidup, dan keamanan.

Prasyarat dan batasan

Prasyarat

Batasan

  • Hanya Db2 11.5.7 atau yang lebih baru yang memungkinkan pengarsipan log langsung ke penyimpanan Amazon S3.

  • Beberapa Layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat AWS Layanan menurut Wilayah. Untuk titik akhir tertentu, lihat Titik akhir dan kuota layanan, dan pilih tautan untuk layanan.

  • Di semua konfigurasi, batasan berikut ada untuk Amazon S3:

    • AWS Key Management Service (AWS KMS) tidak didukung.

    • AWS kredensyal berbasis peran AWS Identity and Access Management ((IAM)) atau berbasis token (AWS Security Token Service (AWS STS)) tidak didukung.

Versi produk

  • AWS CLI versi 2 atau yang lebih baru

  • IBM Db2 11.5.7 atau yang lebih baru

  • Linux SUSE Linux Enterprise Server (SLES) 11 atau yang lebih baru

  • Red Hat Enterprise Linux (RHEL) 6 atau lebih baru

  • Windows Server 2008 R2, 2012 (R2), 2016, atau 2019

Arsitektur

Diagram berikut menunjukkan komponen dan alur kerja untuk pola ini.

Alur kerja untuk menggunakan Amazon S3 untuk penyimpanan katalog untuk log arsip yang dihasilkan oleh Db2.

Arsitektur pada AWS Cloud meliputi yang berikut:

  • Virtual Private Cloud (VPC) — Bagian yang terisolasi secara logis dari AWS Cloud tempat Anda meluncurkan sumber daya.

  • Availability Zone - Menyediakan ketersediaan tinggi dengan menjalankan beban kerja Db2 LUW (Linux, Unix, Windows) di pusat data yang terisolasi di dalam. Wilayah AWS

  • Public subnet — Menyediakan akses RDP (Remote Desktop Protocol) untuk administrator dan konektivitas internet melalui gateway NAT.

  • Subnet pribadi - Menghosting database Db2 LUW. Instance Db2 LUW dikonfigurasi dengan parameter. LOGARCHMETH1 Parameter menulis file arsip log database langsung ke jalur Amazon S3 melalui titik akhir gateway.

Berikut ini Layanan AWS memberikan dukungan:

  • Amazon S3 - Berfungsi sebagai lokasi penyimpanan yang tahan lama dan dapat diskalakan untuk file arsip log Db2.

  • Amazon Elastic File System (Amazon EFS) - Menyediakan sistem file bersama yang dikelola sepenuhnya yang dapat digunakan Db2 untuk pencadangan dan pementasan basis data. Db2 juga dapat menggunakan Amazon EFS sebagai titik pemasangan untuk file log sebelum diarsipkan ke Amazon S3.

  • Amazon CloudWatch — Mengumpulkan dan memantau metrik, log, dan peristiwa dari Db2 dan instans yang mendasarinya. EC2 Anda dapat menggunakannya CloudWatch untuk membuat alarm, dasbor, dan respons otomatis terhadap masalah kinerja atau ketersediaan.

Otomatisasi dan skala

  • Pola ini memberikan solusi yang sepenuhnya otomatis untuk menyimpan cadangan arsip log Db2.

  • Anda dapat menggunakan bucket Amazon S3 yang sama untuk mengaktifkan arsip log dari beberapa database Db2.

Alat

Layanan AWS

  • Amazon CloudWatch membantu Anda memantau metrik sumber AWS daya Anda dan aplikasi yang Anda jalankan AWS secara real time.

  • AWS Command Line Interface (AWS CLI) adalah alat open source yang membantu Anda berinteraksi Layanan AWS melalui perintah di shell baris perintah Anda.

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

  • Amazon Elastic File System (Amazon EFS) membantu Anda membuat dan mengonfigurasi sistem file bersama di file AWS Cloud.

  • AWS IAM Identity Centermembantu Anda mengelola akses masuk tunggal (SSO) secara terpusat ke semua aplikasi Anda Akun AWS dan cloud.

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

  • 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-alat lainnya

Praktik terbaik

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Mengatur AWS CLI.

Untuk mengunduh dan menginstal AWS CLI, gunakan perintah berikut:

i) curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" ii) unzip awscliv2.zip iii) sudo ./aws/install
Administrator sistem AWS, administrator AWS

Konfigurasikan AWS CLI.

Untuk mengkonfigurasi AWS CLI, gunakan perintah berikut:

$ aws configure AWS Access Key ID [None]:******************************* AWS Secret Access Key [None]: *************************** Default region name [None]: < aws region > Default output format [None]: text
Administrator sistem AWS, administrator AWS

Buat pengguna IAM.

Untuk membuat pengguna IAM untuk digunakan nanti untuk koneksi database Db2 dengan Amazon S3, gunakan perintah berikut:

aws iam create-user --user-name <unique username>

Berikut ini adalah contoh dari perintah:

aws iam create-user --user-name db_backup_user

Awas

Skenario ini mengharuskan pengguna IAM dengan akses terprogram dan kredensyal jangka panjang, yang menghadirkan risiko keamanan. Untuk mengurangi risiko ini, kami menyarankan agar Anda memberi pengguna ini hanya izin yang mereka perlukan untuk melakukan tugas dan menghapus pengguna ini ketika mereka tidak lagi diperlukan. Kunci akses dapat diperbarui jika perlu. Untuk informasi selengkapnya, lihat kredensyal AWS keamanan dan Kelola kunci akses untuk pengguna IAM dalam dokumentasi IAM.

Administrator sistem AWS

Buat ember Amazon S3.

Untuk membuat bucket Amazon S3 untuk menyimpan cadangan database, gunakan perintah berikut:

aws s3api create-bucket --bucket <unique bucket name> --region <aws region>

Berikut ini adalah contoh perintah:

aws s3api create-bucket --bucket myfirstbucket --region af-south-1

Administrator sistem AWS

Otorisasi pengguna IAM.

Untuk mengizinkan pengguna IAM yang baru dibuat agar memiliki izin Amazon S3, gunakan langkah-langkah berikut:

  1. Untuk membuat file kebijakan IAM baru db2bucket.json untuk bucket Amazon S3, gunakan perintah berikut:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "ListObjectsInBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::myfirstbucket" ] }, { "Sid": "AllObjectActions", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::myfirstbucket/*" ] } ] }
  2. Buat kebijakan IAM berdasarkan db2bucket.json file. Output JSON menunjukkan Nama Sumber Daya Amazon (ARN) untuk kebijakan:. "Arn": "arn:aws:iam::111122223333:policy/db2s3policy"

    aws iam create-policy \ --policy-name db2s3policy \ --policy-document file://db2bucket.json
  3. Lampirkan kebijakan IAM ke pengguna IAM dengan kebijakan ARN.

    aws iam attach-user-policy --user-name db_backup_user --policy-arn "arn:aws:iam::111122223333:policy/db2s3policy"
Administrator sistem AWS, administrator AWS

Buat kunci akses.

Untuk menghasilkan kunci akses untuk mengakses Amazon S3 secara terprogram dari DB2 instance, gunakan perintah berikut:

aws iam create-access-key --user-name <username>

Berikut ini adalah contoh dari perintah:

aws iam create-access-key --user-name db_backup_user

Awas

Skenario ini mengharuskan pengguna IAM dengan akses terprogram dan kredensyal jangka panjang, yang menghadirkan risiko keamanan. Untuk mengurangi risiko ini, kami menyarankan agar Anda memberi pengguna ini hanya izin yang mereka perlukan untuk melakukan tugas dan menghapus pengguna ini ketika mereka tidak lagi diperlukan. Kunci akses dapat diperbarui jika perlu. Untuk informasi selengkapnya, lihat kredensyal AWS keamanan dan Kelola kunci akses untuk pengguna IAM dalam dokumentasi IAM.

Administrator sistem AWS

Buat keystore PKCS.

Untuk membuat keystore PKCS untuk menyimpan kunci dan membuat kunci akses rahasia untuk mentransfer data ke Amazon S3, gunakan perintah berikut:

gsk8capicmd_64 -keydb -create -db "/db2/db2<sid>/.keystore/db6-s3.p12" -pw "<password>" -type pkcs12 -stash
Administrator sistem AWS

DB2 Konfigurasikan untuk menggunakan keystore.

Untuk mengkonfigurasi DB2 untuk menggunakan keystore dengan keystore_type parameter keystore_location dan, gunakan perintah berikut:

db2 "update dbm cfg using keystore_location /db2/db2<sid>/.keystore/db6-s3.p12 keystore_type pkcs12"
Administrator sistem AWS

Buat alias akses DB2 penyimpanan.

Alias akses penyimpanan menentukan bucket Amazon S3 yang akan digunakan. Ini juga menyediakan detail koneksi seperti nama pengguna dan kata sandi yang disimpan di keystore lokal dalam format terenkripsi. Untuk informasi selengkapnya, lihat perintah CATALOG STORAGE ACCESS dalam dokumentasi IBM Db2.

Untuk membuat alias akses penyimpanan, gunakan sintaks berikut:

db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> user '<access_key>' password '<secret_access_key>' container '<bucket_name>'"

Berikut ini adalah contoh:

db2 "catalog storage access alias DB2BKPS3 vendor S3 server s3.us-west-2.amazonaws.com user '*******************' password '*********************' container 'myfirstbucket'"
Administrator sistem AWS
TugasDeskripsiKeterampilan yang dibutuhkan

Perbarui LOGARCHMETH1 lokasi.

Untuk menggunakan alias akses penyimpanan yang Anda tentukan sebelumnya, perbarui parameter LOGARCHMETH1 database, gunakan perintah berikut:

db2 update db cfg for <DBNAME> using LOGARCHMETH1 'DB2REMOTE://<storage_alias_name>//<sub folder>'

Untuk memisahkan log dari file lain, tentukan subdirektori (yaitu, awalan bucket Amazon S3TESTDB_LOGS) untuk menyimpan log dalam bucket S3.

Berikut ini adalah contoh:

db2 update db cfg for ABC using LOGARCHMETH1 'DB2REMOTE://DB2BKPS3//TESTDB_LOGS/'

Anda akan melihat pesan berikut: DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.

Administrator sistem AWS

Mulai ulang DB2.

Mulai ulang DB2 instance setelah mengkonfigurasi ulang untuk pengarsipan log.

Namun, jika LOGARCHMETH1 sebelumnya disetel ke lokasi sistem file apa pun, maka restart tidak diperlukan.

Administrator AWS, administrator sistem AWS
TugasDeskripsiKeterampilan yang dibutuhkan

Periksa log arsip di Amazon S3.

Pada titik ini, database Anda sepenuhnya dikonfigurasi untuk mengarsipkan log transaksi langsung ke penyimpanan Amazon S3. Untuk mengonfirmasi konfigurasi, mulailah menjalankan aktivitas transaksional pada database untuk mulai mengkonsumsi (dan mengarsipkan) ruang log. Kemudian, periksa log arsip di Amazon S3.

Administrator AWS, administrator sistem AWS

Periksa konfigurasi log arsip didb2diag.log.

Setelah Anda memeriksa log arsip di Amazon S3, cari pesan berikut di log DB2 diagnostik: db2diag.log

MESSAGE : ADM1846I  Completed archive for log file "S0000079.LOG" to Completed archive for log file S0000080.LOG to DB2REMOTE://<AWS S3 Bucket Name>/<SID>/log1/db2<sid>/<SID>/NODE0000/LOGSTREAM0000/C0000001/ from /db2/<SID>/log_dir/NODE0000/LOGSTREAM0000/. MESSAGE : ADM1846I  Completed archive for log file "S0000080.LOG" to Completed archive for log file S0000081.LOG to DB2REMOTE://<AWS S3 Bucket Name> /<SID>/log1/db2<sid>/<SID>/NODE0000/LOGSTREAM0000/C0000001/ from /db2/<SID>/log_dir/NODE0000/LOGSTREAM0000/.

Pesan ini mengonfirmasi bahwa file log DB2 transaksi tertutup sedang diarsipkan ke penyimpanan Amazon S3 (jarak jauh).

Administrator sistem AWS

Sumber daya terkait

AWS dokumentasi layanan

Sumber daya IBM