Akses Layanan AWS dari IBM z/OS dengan menginstal AWS CLI - AWS Prescriptive Guidance

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

Akses Layanan AWS dari IBM z/OS dengan menginstal AWS CLI

Souma Ghosh, Paulo Vitor Pereira, dan Phil de Valence, Amazon Web Services

Ringkasan

The AWS Command Line Interface (AWS CLI) adalah alat open source untuk mengelola beberapa AWS layanan dengan menggunakan perintah dalam shell baris perintah. Dengan konfigurasi minimal, Anda dapat menjalankan perintah dari sesi baris perintah seperti command prompt, terminal, dan bash shell untuk mengimplementasikan fungsionalitas yang setara dengan yang disediakan oleh browser AWS Management Console berbasis.

Semua AWS infrastruktur sebagai layanan (IaaS) administrasi, manajemen, dan fungsi akses dalam AWS Management Console tersedia di AWS API dan. AWS CLI Anda dapat menginstal AWS CLI pada z/OS mainframe IBM untuk langsung mengakses, mengelola, dan berinteraksi dengan Layanan AWS dari z/OS. AWS CLI Ini memungkinkan pengguna dan aplikasi untuk melakukan berbagai tugas, seperti:

  • Mentransfer file atau kumpulan data antara penyimpanan objek z/OS Amazon Simple Storage Service (Amazon S3) dan melihat konten bucket

  • Memulai dan menghentikan AWS sumber daya yang berbeda; misalnya, memulai pekerjaan batch di AWS Mainframe Modernization lingkungan

  • Memanggil AWS Lambda fungsi untuk menerapkan logika bisnis umum

  • Mengintegrasikan dengan kecerdasan buatan dan pembelajaran mesin (AI/ML) dan layanan analitik

Pola ini menjelaskan cara menginstal, mengkonfigurasi, dan menggunakan AWS CLI pada z/OS. You can install it globally, so it's available to all z/OS pengguna, atau pada tingkat pengguna. Pola ini juga merinci cara menggunakan AWS CLI dalam sesi baris perintah interaktif dari z/OS Unix System Services (USS) atau sebagai pekerjaan batch.

Prasyarat dan batasan

Prasyarat

  • Komunikasi jaringan dari z/OS ke AWS

    Secara default, AWS CLI mengirim permintaan ke Layanan AWS dengan menggunakan HTTPS pada port TCP 443. AWS CLI Agar berhasil menggunakan, Anda harus dapat membuat koneksi keluar pada port TCP 443. Anda dapat menggunakan salah satu perintah z/OS USS berikut (beberapa di antaranya mungkin tidak diinstal di lingkungan Anda) untuk menguji konektivitas jaringan dari z/OS ke AWS:

    ping amazonaws.com dig amazonaws.com traceroute amazonaws.com curl -k https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-welcome.html
  • AWS credentials

    Untuk berkomunikasi dengan AWS Cloud layanan dari z/OS, Anda harus mengonfigurasi beberapa kredensil dengan hak istimewa untuk mengakses target. AWS CLI Akun AWS Untuk perintah terprogram ke AWS, Anda dapat menggunakan kunci akses, yang terdiri dari ID kunci akses dan kunci akses rahasia. Jika Anda tidak memiliki access key, Anda dapat membuatnya dari AWS Management Console. Sebagai praktik terbaik, jangan gunakan kunci akses untuk pengguna Akun AWS root untuk tugas apa pun kecuali pengguna root diperlukan. Sebagai gantinya, buat pengguna IAM administrator baru dan persiapkan izin hak istimewa paling sedikit untuk mengatur pengguna dengan kunci akses. Setelah Anda membuat pengguna, Anda dapat membuat ID kunci akses dan kunci akses rahasia untuk pengguna ini.

    Awas

    AWS Identity and Access Management (IAM) pengguna memiliki kredensi jangka panjang yang menghadirkan risiko keamanan. Untuk membantu mengurangi risiko ini, kami menyarankan agar Anda memberikan pengguna ini hanya izin yang mereka perlukan untuk melakukan tugas dan menghapus pengguna ini ketika mereka tidak lagi diperlukan.

  • IBM Python untuk z/OS

    AWS CLI Memerlukan Python 3.8 atau yang lebih baru. IBM telah mengaktifkan Python untuk berjalan z/OS dengan IBM Open Enterprise Python untuk z/OS. IBM Open Enterprise Python tersedia tanpa biaya melalui Shopz SMP/E, atau Anda dapat mengunduh file PAX dari situs web IBM. Untuk petunjuk, lihat dokumentasi instalasi dan konfigurasi untuk IBM Open Enterprise Python untuk z/OS.

Batasan

  • Petunjuk penginstalan yang disediakan dalam pola ini hanya berlaku untuk AWS CLI versi 1. Versi terbaru dari versi AWS CLI ini adalah 2. Namun, pola ini menggunakan versi yang lebih lama karena metode instalasi berbeda untuk versi 2, dan executable biner yang tersedia untuk versi 2 tidak kompatibel dengan sistem. z/OS

Versi produk

  • AWS CLI versi 1

  • Python 3.8 atau yang lebih baru

Arsitektur

Tumpukan teknologi

  • Mainframe berjalan z/OS

  • Layanan Sistem z/OS UNIX Mainframe (USS)

  • Mainframe Open MVS (OMVS) - Antarmuka perintah lingkungan z/OS shell UNIX

  • Disk mainframe, seperti perangkat penyimpanan akses langsung (DASD)

  • AWS CLI

Arsitektur target

Diagram berikut menunjukkan AWS CLI penyebaran pada IBM z/OS. Anda dapat memanggil AWS CLI dari sesi pengguna interaktif, seperti SSH, dan sesi telnet. Anda juga dapat memanggilnya dari pekerjaan batch dengan menggunakan bahasa kontrol pekerjaan (JCL), atau dari program apa pun yang dapat memanggil perintah shell z/OS Unix.

AWS CLI pada z/OS mainframe IBM yang mengakses layanan AWS.

AWS CLI Berkomunikasi dengan Layanan AWS titik akhir melalui jaringan. TCP/IP Koneksi jaringan ini dapat terjadi melalui internet atau melalui AWS Direct Connect koneksi pribadi dari pusat data pelanggan ke pusat AWS Cloud data. Komunikasi diautentikasi dengan AWS kredensil dan dienkripsi.

Otomatisasi dan skala

Anda dapat menjelajahi kemampuan Layanan AWS dengan AWS CLI dan mengembangkan skrip shell USS untuk mengelola AWS sumber daya Anda dari z/OS. Anda juga dapat menjalankan AWS CLI perintah dan skrip shell dari lingkungan z/OS batch, dan Anda dapat mengotomatiskan pekerjaan batch untuk berjalan pada jadwal tertentu dengan mengintegrasikan dengan penjadwal mainframe. AWS CLI perintah atau skrip dapat dikodekan di dalam parameter (PARMs) dan prosedur (PROCs), dan dapat diskalakan dengan mengikuti pendekatan standar memanggil PARM atau PROC dari pekerjaan batch yang berbeda dengan parameter yang berbeda.

Alat

Praktik terbaik

  • Untuk alasan keamanan, batasi izin akses ke direktori USS tempat detail kunci AWS akses disimpan. Izinkan akses hanya ke pengguna atau program yang menggunakan AWS CLI.

  • Jangan gunakan kunci akses pengguna Akun AWS root untuk tugas apa pun. Sebagai gantinya, buat pengguna IAM administrator baru untuk Anda sendiri dan atur dengan kunci akses.

Awas

Pengguna IAM memiliki kredensi jangka panjang yang menghadirkan risiko keamanan. Untuk membantu mengurangi risiko ini, kami menyarankan agar Anda memberikan pengguna ini hanya izin yang mereka perlukan untuk melakukan tugas dan menghapus pengguna ini ketika mereka tidak lagi diperlukan.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Instal Python 3.8 atau yang lebih baru.

  1. Masuk ke antarmuka prompt perintah z/OS USS dengan menggunakan salah satu metode berikut:

    • Gunakan perintah Time Sharing Option (TSO) OMVS dari panel Interactive System Productivity Facility (ISPF), atau

    • Gunakan SSH atau telnet untuk terhubung ke IP partisi logika mainframe (LPAR).

      Pola ini mengasumsikan bahwa cliuser adalah userid yang digunakan untuk masuk ke lingkungan USS dan /u/cliuser/ merupakan direktori home untuk pengguna. Anda dapat mengatur direktori home pengguna secara berbeda di z/OS lingkungan Anda tergantung pada persyaratan instalasi Anda.

  2. Ikuti panduan instalasi untuk IBM Open Enterprise Python untuk z/OS untuk menginstal Python 3.8 atau yang lebih baru jika belum diinstal.

Administrator mainframe z/OS

Tetapkan variabel lingkungan USS.

Tambahkan variabel lingkungan ke profil. Anda dapat menambahkan ini ke /u/cliuser/.profile file untuk pengguna individu (cliuser) atau ke /etc/profile file untuk semua pengguna.

catatan

Pola ini mengasumsikan bahwa Python telah diinstal di /u/awscli/python direktori. Jika direktori instalasi Anda berbeda, perbarui kode yang sesuai.

# Python configuration export BPXKAUTOCVT='ON' export CEERUNOPTS='FILETAG(AUTOCVT,AUTOTAG) POSIX(ON)' export TAGREDIR_ERR=txt export TAGREDIR_IN=txt export TAGREDIR_OUT=txt # AWS CLI configuration export PATH=/u/cliuser/python/bin:$PATH export PYTHONPATH=/u/cliuser/python:$PYTHONPATH
Administrator mainframe z/OS

Uji instalasi Python.

Jalankan perintah python:

python --version

Output harus mengkonfirmasi bahwa Anda memiliki Python 3.8 atau yang lebih baru diinstal dengan benar.

Administrator mainframe z/OS

Verifikasi atau instal pip.

  1. Perintah pip biasanya diinstal secara otomatis ketika Anda menginstal Python dari situs web IBM. Untuk memverifikasi, jalankan perintah:

    pip —-version

    Jika pip diinstal, perintah ini harus menampilkan versi yang diinstal.

  2. Jika perintah pip tidak ditemukan, instal pip dengan menjalankan perintah berikut:

    python -m ensurepip --upgrade

    Untuk opsi penginstalan lainnya, lihat dokumentasi pip.

Administrator mainframe z/OS

Instal AWS CLI versi 1.

  1. Untuk menginstal AWS CLI, jalankan perintah:

    python -m pip install awscli

    Output harus serupa dengan yang berikut ini.

    Successfully installed PyYAML-6.0.1 awscli-1.32.23 botocore-1.34.23 colorama-0.4.4 docutils-0.16 jmespath-1.0.1 pyasn1-0.5.1 python-dateutil-2.8.2 rsa-4.7.2 s3transfer-0.10.0 urllib3-2.0.7
  2. Ubah izin aws yang dapat dieksekusi dengan menjalankan perintah berikut. Pastikan untuk memperbarui direktori placeholder <python_installation_dir> dengan jalur instalasi Python Anda.

    chmod 744 <python_installation_dir>/bin/aws
  3. Jalankan perintah berikut untuk menguji AWS CLI instalasi:

    aws --version

    Output harus menunjukkan versi AWS CLI, Python, dan botocore, mirip dengan yang berikut ini.

    aws-cli/1.32.3 Python/3.9.5 OS/390/27.00 botocore/1.34.3
Administrator mainframe z/OS
TugasDeskripsiKeterampilan yang dibutuhkan

Konfigurasikan tombol AWS akses, Wilayah default, dan output.

AWS CLI Dokumentasi menjelaskan berbagai opsi untuk mengatur AWS akses. Anda dapat memilih konfigurasi sesuai dengan standar organisasi Anda. Contoh ini menggunakan konfigurasi kredensi jangka pendek.

  1. Konfigurasikan AWS CLI dengan perintah berikut:

    aws configure
  2. Berikan detail untuk item berikut saat diminta. ID kunci akses dan nilai kunci akses rahasia berasal dari kunci yang Anda peroleh saat Anda menetapkan AWS kredensional dalam langkah-langkah Prasyarat.

    AWS Access Key ID [None]: ASIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-east-1 Default output format [None]: aws configure set aws_session_token IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

    Konfigurasi ini, termasuk kunci akses, disimpan di /u/cliuser/.aws folder. Untuk alasan keamanan, batasi folder ini untuk mengizinkan akses hanya ke pengguna atau program yang menggunakan file. AWS CLI

Administrator AWS, administrator Mainframe, z/OS pengembang z/OS Mainframe

Uji AWS CLI.

  1. Jalankan perintah berikut di command prompt untuk menguji AWS CLI dengan perintah sederhana:

    aws s3 ls

    Output harus mencantumkan semua bucket S3 untuk yang dikonfigurasi Akun AWS tanpa kesalahan.

  2. Ikuti instruksi dalam dua epos berikutnya untuk mentransfer data dari USS ke Amazon S3. Anda dapat memilih salah satu dari dua opsi ini:

    • Opsi 1 (epik berikutnya): Secara interaktif mentransfer file nilai dipisahkan koma (CSV) EBCDIC ke Amazon S3 dan menanyakan file dari Amazon Athena.

    • Opsi 2: Transfer kumpulan data panjang tetap EBCDIC ke Amazon S3 sebagai pekerjaan batch.

z/OS Administrator mainframe, pengembang z/OS Mainframe
TugasDeskripsiKeterampilan yang dibutuhkan

Unduh dan transfer file CSV sampel.

  1. Unduh sales-records.csv dari bagian Lampiran. File ini menyediakan contoh file CSV dengan catatan penjualan.

  2. Transfer file ke z/OS USS.

  3. Verifikasi bahwa /u/cliuser/sales-records.csv file tersebut dapat dibaca dalam format EBCDIC di USS dengan menggunakan editor teks pilihan Anda.

Pengembang aplikasi, pengembang Mainframe z/OS

Buat bucket S3 dan unggah file CSV.

  1. Buat bucket S3 untuk menyimpan file CSV.

    aws s3 mb s3://<s3_bucket_name>

    di <s3_bucket_name> mana nama unik untuk ember; misalnya:

    aws s3 mb s3://DOC-EXAMPLE-BUCKET1
  2. Unggah file CSV dari z/OS USS ke bucket S3:

    aws s3 cp <csv_file_path> s3://<s3_bucket_name>

    Misalnya:

    aws s3 cp /u/cliuser/sales-records.csv s3://DOC-EXAMPLE-BUCKET1
  3. Buat daftar isi bucket S3 dan konfirmasikan bahwa mereka menyertakan file yang diunggah:

    aws s3 ls s3://<s3_bucket_name>

    Misalnya:

    aws s3 ls s3://DOC-EXAMPLE-BUCKET1
Pengembang aplikasi, pengembang Mainframe z/OS

Lihat bucket S3 dan file yang diunggah.

  1. Masuk ke AWS Management Console dan buka konsol Amazon S3.

  2. Arahkan untuk melihat bucket S3 baru dan objek yang diunggah.

Untuk informasi selengkapnya tentang mengunggah objek, lihat Memulai Amazon S3 di dokumentasi Amazon S3.

AWS Umum

Jalankan kueri SQL pada tabel Amazon Athena.

  1. Buka konsol Amazon Athena.

  2. Buat tabel baru (misalnya,DOC-EXAMPLE-BUCKET) dengan menggunakan data CSV dari Amazon S3. Untuk informasi selengkapnya, lihat Menanyakan Inventaris Amazon S3 dengan Amazon Athena di dokumentasi Amazon S3.

  3. Jalankan SELECT kueri terhadap tabel untuk melihat data.

    SELECT * FROM <table_name>;

    Misalnya:

    SELECT * FROM DOC-EXAMPLE-BUCKET;

Output dari query SQL akan menampilkan isi file CSV Anda.

AWS Umum, Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Unggah file sampel.

  1. Unduh sales-records-fixed.txt dari bagian Lampiran. Ini adalah contoh file dengan catatan penjualan. Ganti nama file teks; misalnya, menjadiUSER.DATA.FIXED.

  2. Transfer file ke z/OS sebagai dataset fixed-blocked (FB), 256 record length (LRECL), physical sequential (PS).

  3. Gunakan utilitas daftar kumpulan data untuk memverifikasi bahwa kumpulan USER.DATA.FIXED data dapat dibaca dalam format EBCDIC di bawah opsi ISPF 3.4. Lihat bagian Informasi tambahan misalnya keluaran.

Pengembang mainframe z/OS

Buat batch JCL.

Kodekan JCL batch sebagai berikut untuk membuat bucket S3 tujuan, mengunggah kumpulan data, dan mencantumkan konten bucket. Pastikan untuk mengganti nama direktori, nama file, dan nama bucket ke nilai Anda sendiri.

//AWSCLICP JOB ACTINFO1,'IBMUSER',CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1), // NOTIFY=&SYSUID,TIME=1440 //*--------------------------------------------------------- //* Sample job for AWS CLI //*--------------------------------------------------------- //USSCMD EXEC PGM=BPXBATCH //STDERR DD SYSOUT=* //STDOUT DD SYSOUT=* //STDENV DD * export PATH=/u/cliuser/python/bin:$PATH //STDPARM DD * SH export _BPXK_AUTOCVT=ON; aws s3 mb s3://DOC-EXAMPLE-BUCKET2; cp "//'USER.DATA.FIXED'" /tmp/tmpfile; aws s3 cp /tmp/tmpfile s3://DOC-EXAMPLE-BUCKET2/USER.DATA.FIXED; rm /tmp/tmpfile; aws s3 ls s3://DOC-EXAMPLE-BUCKET2; /*
Pengembang mainframe z/OS

Kirimkan pekerjaan batch JCL.

  1. Kirimkan job JCL yang Anda kodekan pada langkah sebelumnya.

  2. Periksa status pekerjaan di System Display and Search Facility (SDSF). Jika berhasil, pekerjaan harus diakhiri dengan kode pengembalian 0.

  3. Output standar (STDOUT) dari log pekerjaan menunjukkan keberhasilan pembuatan bucket, upload dataset, dan daftar konten bucket. Untuk contoh ilustrasi layar, lihat bagian Informasi tambahan.

Pengembang mainframe z/OS

Lihat kumpulan data yang diunggah ke bucket S3.

  1. Masuk ke AWS Management Console dan buka konsol Amazon S3.

  2. Arahkan untuk melihat file yang diunggah di bucket pengujian.

  3. Anda dapat memproses USER.DATA.FIXED file lebih lanjut atau menganalisisnya dengan menggunakan layanan analitik seperti Amazon Redshift.

AWS Umum

Sumber daya terkait

Informasi tambahan

USER.DATA.FIXED dalam opsi ISPF 3.4 (utilitas daftar dataset)

Melihat isi kumpulan data di z/OS.

SYSOUT dari pekerjaan batch yang dikirimkan

Output standar dari log pekerjaan.

Lampiran

Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip