View a markdown version of this page

Tutorial: Mengkonfigurasi akses jaringan pribadi menggunakan Linux Bastion Host - Amazon Managed Workflows for Apache Airflow

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

Tutorial: Mengkonfigurasi akses jaringan pribadi menggunakan Linux Bastion Host

Tutorial ini memandu Anda melalui langkah-langkah untuk membuat terowongan SSH dari komputer Anda ke server web Apache Airflow untuk lingkungan Amazon Managed Workflow untuk Apache Airflow. Ini mengasumsikan Anda telah membuat lingkungan Amazon MWAA. Setelah diatur, Linux Bastion Host bertindak sebagai server lompat yang memungkinkan koneksi aman dari komputer Anda ke sumber daya di VPC Anda. Anda kemudian menggunakan add-on manajemen proxy SOCKS untuk mengontrol pengaturan proxy di browser Anda untuk mengakses UI Apache Airflow Anda.

catatan

Tutorial ini berlaku untuk mode akses jaringan pribadi. Jika Anda memilih Akses jaringan publik dan pribadi, Anda tidak memerlukan host bastion untuk mengakses UI Apache Airflow karena dapat diakses melalui internet.

Jaringan pribadi

Tutorial ini mengasumsikan Anda telah memilih mode akses jaringan pribadi untuk server web Apache Airflow Anda.

Gambar ini menampilkan arsitektur untuk lingkungan Amazon MWAA dengan akses jaringan pribadi.

Mode akses jaringan pribadi membatasi akses ke UI Apache Airflow untuk pengguna dalam Amazon VPC Anda yang telah diberikan akses ke kebijakan IAM untuk lingkungan Anda.

Saat Anda membuat lingkungan dengan akses jaringan pribadi, Anda harus mengemas semua dependensi Anda dalam arsip roda Python (.whl), lalu mereferensikan .whl di file Andarequirements.txt. Untuk petunjuk tentang mengemas dan menginstal dependensi Anda menggunakan roda, lihat M engelola dependensi menggunakan roda Python.

Gambar berikut menggambarkan di mana menemukan opsi Jaringan pribadi di konsol Amazon MWAA.

Gambar ini menggambarkan di mana menemukan opsi Jaringan pribadi di konsol Amazon MWAA.

Kasus penggunaan

Anda dapat menggunakan tutorial ini setelah Anda membuat lingkungan Amazon MWAA. Anda harus menggunakan Amazon VPC, grup keamanan VPC, dan subnet publik yang sama dengan lingkungan Anda.

Sebelum Anda mulai

  1. Periksa izin pengguna. Pastikan akun Anda di AWS Identity and Access Management (IAM) memiliki izin yang cukup untuk membuat dan mengelola sumber daya VPC.

  2. Gunakan Amazon MWAA VPC Anda. Tutorial ini mengasumsikan bahwa Anda mengaitkan host bastion ke VPC yang ada. Amazon VPC harus berada di wilayah yang sama dengan lingkungan Amazon MWAA Anda dan memiliki dua subnet pribadi, seperti yang didefinisikan dalam. Buat jaringan VPC

  3. Buat kunci SSH Anda perlu membuat kunci SSH Amazon EC2 (.pem) di Wilayah yang sama dengan lingkungan Amazon MWAA Anda untuk terhubung ke server virtual. Jika Anda tidak memiliki kunci SSH, lihat Membuat atau mengimpor pasangan kunci di Panduan Pengguna Amazon EC2.

Tujuan

Dalam tutorial ini, Anda akan melakukan hal berikut:

  1. Buat instance Linux Bastion Host menggunakan CloudFormation template untuk V PC yang ada.

  2. Otorisasi lalu lintas masuk ke grup keamanan instance bastion menggunakan aturan masuk pada port. 22

  3. Otorisasi lalu lintas masuk dari grup keamanan lingkungan Amazon MWAA ke grup keamanan instance bastion.

  4. Buat terowongan SSH ke instance bastion.

  5. Instal dan konfigurasikan FoxyProxy add-on untuk browser Firefox untuk mengakses UI Apache Airflow.

Langkah 1: Buat contoh benteng

Bagian berikut menjelaskan langkah-langkah untuk membuat instance bastion Linux.

Buka konsol Amazon Elastic Compute Cloud di https://console.aws.amazon.com/ec2/, dan buat instans Amazon EC2 di salah satu subnet publik di VPC yang digunakan untuk lingkungan Amazon MWAA Anda.

catatan

Kami menyarankan Anda mengizinkan penerusan TCP pada instans Amazon EC2. TCP forwarding berarti penerusan TCP SSH — memungkinkan ssh -L/-D terowongan melalui host. AllowTcpForwardingDirektif di daemon SSH config (/etc/ssh/sshd_config) mengontrol pengaturan ini. Ini default yes pada sebagian besar AMI Amazon Linux dan Ubuntu, tetapi sering dinonaktifkan pada AMI bastion yang diperkeras.

Langkah 2: Buat terowongan SSH

Langkah-langkah berikut menjelaskan cara membuat terowongan SSH ke benteng Linux Anda. Terowongan SSH menerima permintaan dari alamat IP lokal Anda ke benteng Linux, itulah sebabnya penerusan TCP untuk benteng Linux diatur ke langkah sebelumnyatrue.

macOS/Linux
Untuk membuat terowongan menggunakan baris perintah
  1. Buka halaman Instans di konsol Amazon EC2.

  2. Pilih instans.

  3. Salin alamat di Public IPv4 DNS. Misalnya, ec2-4-82-142-1.compute-1.amazonaws.com.

  4. Di command prompt Anda, navigasikan ke direktori tempat kunci SSH Anda disimpan.

  5. Jalankan perintah berikut untuk terhubung ke instance bastion menggunakan ssh. Ganti nilai sampel dengan nama kunci SSH Anda dimykeypair.pem.

    ssh -i mykeypair.pem -N -D 8157 ec2-user@YOUR_PUBLIC_IPV4_DNS
Windows (PuTTY)
Untuk membuat terowongan menggunakan PuTTY
  1. Buka halaman Instans di konsol Amazon EC2.

  2. Pilih instans.

  3. Salin alamat di Public IPv4 DNS. Misalnya, ec2-4-82-142-1.compute-1.amazonaws.com.

  4. Buka PuTTY, pilih Sesi.

  5. Masukkan nama host di Nama Host sebagai ec2-user@ YOUR_PUBLIC_IPV4_DNS dan port sebagai. 22

  6. Perluas tab SSH, pilih Auth. Di file Kunci Pribadi untuk otentikasi, pilih file “ppk” lokal Anda.

  7. Di bawah SSH, pilih tab Tunnels, lalu pilih opsi Dinamis dan Otomatis.

  8. Di Port Sumber, tambahkan 8157 port (atau port lain yang tidak digunakan), lalu biarkan port Tujuan kosong. Pilih Tambahkan.

  9. Pilih tab Sesi dan masukkan nama sesi. Sebagai contoh, SSH Tunnel.

  10. Pilih Simpan, Buka.

    catatan

    Anda mungkin perlu memasukkan frase sandi untuk kunci publik Anda.

catatan

Jika Anda menerima Permission denied (publickey) kesalahan, sebaiknya gunakan AWSSupport-TroubleshootSSH alat ini, dan pilih J alankan Otomasi ini (konsol) untuk memecahkan masalah pengaturan SSH Anda.

Langkah tiga: Konfigurasikan grup keamanan bastion sebagai aturan masuk

Akses ke server dan akses internet reguler dari server diperbolehkan dengan grup keamanan pemeliharaan khusus yang melekat pada server tersebut. Langkah-langkah berikut menjelaskan cara mengonfigurasi grup keamanan bastion sebagai sumber lalu lintas masuk ke grup keamanan VPC lingkungan.

  1. Buka halaman Lingkungan di konsol Amazon MWAA.

  2. Pilih lingkungan.

  3. Pada panel Jaringan, pilih grup keamanan VPC.

  4. Pilih Edit aturan masuk.

  5. Pilih Tambahkan aturan.

  6. Pilih ID grup keamanan VPC Anda di daftar dropdown Sumber.

  7. Biarkan opsi yang tersisa kosong, atau atur ke nilai defaultnya.

  8. Pilih Simpan aturan.

Langkah empat: Salin URL Apache Airflow

Langkah-langkah berikut menjelaskan cara membuka konsol Amazon MWAA dan menyalin URL ke UI Apache Airflow.

  1. Buka halaman Lingkungan di konsol Amazon MWAA.

  2. Pilih lingkungan.

  3. Salin URL di UI Airflow untuk langkah-langkah selanjutnya.

Langkah lima: Konfigurasikan pengaturan proxy

Jika Anda menggunakan terowongan SSH dengan penerusan port dinamis, Anda harus menggunakan add-on manajemen proksi SOCKS untuk mengendalikan pengaturan proksi di peramban Anda. Misalnya, Anda dapat menggunakan --proxy-server fitur Chromium untuk memulai sesi browser, atau menggunakan FoxyProxy ekstensi di FireFox browser Mozilla.

Opsi satu: Siapkan Terowongan SSH menggunakan penerusan port lokal

Jika Anda tidak ingin menggunakan proxy SOCKS, Anda dapat mengatur terowongan SSH menggunakan penerusan port lokal. Contoh perintah berikut mengakses server web Apache Airflow dengan meneruskan lalu lintas pada port lokal 8157.

  1. Buka jendela prompt perintah baru.

  2. Masukkan perintah berikut untuk membuka terowongan SSH.

    ssh -i mykeypair.pem -N -L 8157:YOUR_VPC_ENDPOINT_ID-vpce.us-east-1.airflow.amazonaws.com:443 ec2-user@YOUR_PUBLIC_IPV4_DNS

    -Lmenandakan penggunaan penerusan port lokal yang dapat Anda gunakan untuk menentukan port lokal yang digunakan untuk meneruskan data ke port jarak jauh yang diidentifikasi pada server web lokal node.

  3. Masukkan http://localhost:8157/ di browser Anda.

    catatan

    Anda mungkin perlu menggunakanhttps://localhost:8157/.

Opsi dua: Proxy menggunakan baris perintah

Anda dapat menggunakan sebagian besar browser web untuk mengkonfigurasi proxy menggunakan baris perintah atau parameter konfigurasi. Misalnya, dengan Chromium Anda dapat memulai browser dengan perintah berikut:

chromium --proxy-server="socks5://localhost:8157"

Ini memulai sesi browser yang menggunakan terowongan ssh yang Anda buat pada langkah-langkah sebelumnya untuk memproksi permintaannya. Anda dapat membuka URL lingkungan Amazon MWAA Pribadi Anda (dengan https://) sebagai berikut:

https://YOUR_VPC_ENDPOINT_ID-vpce.us-east-1.airflow.amazonaws.com/home.

Opsi tiga: Proxy menggunakan FoxyProxy untuk Mozilla Firefox

Contoh berikut menunjukkan konfigurasi FoxyProxy Standar (versi 7.5.1) untuk Mozilla Firefox. FoxyProxy menyediakan satu set alat manajemen proxy. Ini memungkinkan Anda menggunakan server proxy untuk URL yang cocok dengan pola yang sesuai dengan domain yang digunakan oleh Apache Airflow UI.

  1. Di Firefox, buka halaman ekstensi FoxyProxy Standar.

  2. Pilih Tambahkan ke Firefox.

  3. Pilih Tambahkan.

  4. Pilih FoxyProxy ikon di bilah alat browser Anda, pilih Opsi.

  5. Salin kode berikut dan simpan secara lokal sebagaimwaa-proxy.json. Ganti nilai sampel YOUR_HOST_NAME dengan URL Apache Airflow Anda.

    { "e0b7kh1606694837384": { "type": 3, "color": "#66cc66", "title": "airflow", "active": true, "address": "localhost", "port": 8157, "proxyDNS": false, "username": "", "password": "", "whitePatterns": [ { "title": "airflow-ui", "pattern": "YOUR_HOST_NAME", "type": 1, "protocols": 1, "active": true } ], "blackPatterns": [], "pacURL": "", "index": -1 }, "k20d21508277536715": { "active": true, "title": "Default", "notes": "These are the settings that are used when no patterns match a URL.", "color": "#0055E5", "type": 5, "whitePatterns": [ { "title": "all URLs", "active": true, "pattern": "*", "type": 1, "protocols": 1 } ], "blackPatterns": [], "index": 9007199254740991 }, "logging": { "active": true, "maxSize": 500 }, "mode": "patterns", "browserVersion": "82.0.3", "foxyProxyVersion": "7.5.1", "foxyProxyEdition": "standard" }
  6. Pada panel Imp or Pengaturan dari FoxyProxy 6.0+, pilih Pengaturan Impor dan pilih file. mwaa-proxy.json

  7. Pilih OK.

Langkah enam: Buka UI Apache Airflow

Langkah-langkah berikut menjelaskan cara membuka UI Apache Airflow Anda.

  1. Buka halaman Lingkungan di konsol Amazon MWAA.

  2. Pilih Open Airflow UI.

Apa selanjutnya?