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

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 ke server Web Apache Airflow untuk Amazon Managed Workflows untuk lingkungan Apache Airflow Anda. 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 akan menggunakan add-on manajemen proxy SOCKS untuk mengontrol pengaturan proxy di browser Anda untuk mengakses UI Apache Airflow Anda.

Jaringan pribadi

Tutorial ini mengasumsikan Anda telah memilih mode akses jaringan Private untuk server Web Apache Airflow Anda.

Gambar ini menunjukkan arsitektur untuk lingkungan Amazon MWAA dengan server web pribadi.

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

Saat Anda membuat lingkungan dengan akses server web pribadi, Anda harus mengemas semua dependensi Anda dalam arsip roda Python (.whl), lalu mereferensikan di file Anda. .whl requirements.txt Untuk petunjuk tentang pengemasan dan pemasangan dependensi menggunakan wheel, lihat Mengelola dependensi menggunakan roda Python.

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

Gambar ini menunjukkan 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 VPC Amazon, 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 VPC Amazon MWAA Anda. Tutorial ini mengasumsikan bahwa Anda mengaitkan host bastion ke VPC yang ada. VPC Amazon harus berada di wilayah yang sama dengan lingkungan Amazon MWAA Anda dan memiliki dua subnet pribadi, seperti yang didefinisikan dalam. Buat VPC jaringan

  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 key pair di Panduan Pengguna Amazon EC2.

Tujuan

Dalam tutorial ini, Anda akan melakukan hal berikut:

  1. Buat instance Linux Bastion Host menggunakan AWS CloudFormation template untuk VPC yang ada.

  2. Otorisasi lalu lintas masuk ke grup keamanan instans bastion menggunakan aturan ingress di port. 22

  3. Otorisasi lalu lintas masuk dari grup keamanan lingkungan Amazon MWAA ke grup keamanan instans benteng.

  4. Buat terowongan SSH ke instance bastion.

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

Langkah satu: Buat instance bastion

Bagian berikut menjelaskan langkah-langkah untuk membuat instance bastion linux menggunakan AWS CloudFormation template untuk VPC yang ada di AWS CloudFormation konsol.

Untuk membuat Linux Bastion Host
  1. Buka halaman Deploy Quick Start di AWS CloudFormation konsol.

  2. Gunakan pemilih wilayah di bilah navigasi untuk memilih AWS Wilayah yang sama dengan lingkungan Amazon MWAA Anda.

  3. Pilih Selanjutnya.

  4. Ketik nama di bidang teks nama Stack, sepertimwaa-linux-bastion.

  5. Pada panel Parameter, Konfigurasi jaringan, pilih opsi berikut:

    1. Pilih ID VPC lingkungan Amazon MWAA Anda.

    2. Pilih ID subnet 1 Publik lingkungan Amazon MWAA Anda.

    3. Pilih ID subnet 2 Publik lingkungan Amazon MWAA Anda.

    4. Masukkan rentang alamat yang paling sempit (misalnya, rentang CIDR internal) di CIDR akses eksternal benteng yang diizinkan.

      catatan

      Cara termudah untuk mengidentifikasi rentang adalah dengan menggunakan rentang CIDR yang sama dengan subnet publik Anda. Misalnya, subnet publik dalam AWS CloudFormation template pada Buat VPC jaringan halaman adalah 10.192.10.0/24 dan10.192.11.0/24.

  6. Pada panel konfigurasi Amazon EC2, pilih yang berikut ini:

    1. Pilih kunci SSH Anda di daftar dropdown di Nama pasangan kunci.

    2. Masukkan nama di Nama Host Bastion.

    3. Pilih true untuk penerusan TCP.

      Awas

      Penerusan TCP harus disetel ke true pada langkah ini. Jika tidak, Anda tidak akan dapat membuat terowongan SSH di langkah berikutnya.

  7. Pilih Berikutnya, Berikutnya.

  8. Pilih pengakuan, lalu pilih Buat tumpukan.

Untuk mempelajari lebih lanjut tentang arsitektur Linux Bastion Host Anda, lihat Linux Bastion Host on the AWS Cloud: Architecture.

Langkah kedua: Buat terowongan ssh

Langkah-langkah berikut menjelaskan cara membuat terowongan ssh ke bastion linux Anda. Terowongan SSH menerima permintaan dari alamat IP lokal Anda ke bastion linux, itulah sebabnya penerusan TCP untuk benteng linux diatur ke langkah sebelumnya. true

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

  2. Pilih instans.

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

  4. Di prompt perintah Anda, arahkan 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 DNS IPv4 Publik. Misalnya, ec2-4-82-142-1.compute-1.amazonaws.com.

  4. Buka PuTTY, pilih Session.

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

  6. Perluas tab SSH, pilih Auth. Dalam 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 frasa lulus untuk kunci publik Anda.

catatan

Jika Anda menerima Permission denied (publickey) kesalahan, sebaiknya gunakan alat AWSSupport-TroubleShootSSH, dan pilih Jalankan Otomasi ini (konsol) untuk memecahkan masalah penyiapan SSH Anda.

Langkah ketiga: Konfigurasikan grup keamanan bastion sebagai aturan masuk

Akses ke server dan akses internet reguler dari server diperbolehkan dengan grup keamanan pemeliharaan khusus yang terpasang pada server tersebut. Langkah-langkah berikut menjelaskan cara mengkonfigurasi 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 Networking, 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 Apache Airflow UI.

  1. Buka halaman Lingkungan di konsol Amazon MWAA.

  2. Pilih lingkungan.

  3. Salin URL di Airflow UI untuk 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 browser Mozilla FireFox .

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 antarmuka web Amazon ResourceManagerEC2 dengan meneruskan lalu lintas pada port lokal 8157.

  1. Buka jendela prompt perintah baru.

  2. Ketik perintah berikut untuk membuka terowongan SSH.

    ssh -i mykeypair.pem -N -L 8157:YOUR_VPC_ENDPOINT_ID-vpce.YOUR_REGION.airflow.amazonaws.com:443 ubuntu@YOUR_PUBLIC_IPV4_DNS.YOUR_REGION.compute.amazonaws.com

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

  3. http://localhost:8157/Ketik browser Anda.

    catatan

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

Opsi dua: Proxy melalui baris perintah

Sebagian besar browser web memungkinkan Anda untuk mengkonfigurasi proxy melalui 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 di langkah sebelumnya untuk mem-proxy permintaannya. Anda dapat membuka URL lingkungan Amazon MWAA Pribadi Anda (dengan https://) sebagai berikut:

https://YOUR_VPC_ENDPOINT_ID-vpce.YOUR_REGION.airflow.amazonaws.com/home.

Opsi tiga: Proksi yang digunakan 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 di 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 Pengaturan Impor dari FoxyProxy 6.0+ panel, pilih Pengaturan Impor dan pilih file. mwaa-proxy.json

  7. Pilih OK.

Langkah enam: Buka Apache Airflow UI

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

  1. Buka halaman Lingkungan di konsol Amazon MWAA.

  2. Pilih Buka UI Aliran Udara.

Apa selanjutnya?