View a markdown version of this page

Pemecahan masalah: Membuat dan memperbarui lingkungan Amazon MWAA - 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.

Pemecahan masalah: Membuat dan memperbarui lingkungan Amazon MWAA

Topik di halaman ini berisi kesalahan yang dapat Anda temui saat membuat dan memperbarui Amazon Managed Workflow untuk lingkungan Apache Airflow dan cara mengatasi kesalahan ini.

Memperbarui requirements.txt

Topik berikut menjelaskan kesalahan yang mungkin Anda terima saat memperbaruirequirements.txt.

Saya menentukan versi baru requirements.txt saya dan butuh lebih dari 20 menit untuk memperbarui lingkungan saya

Jika membutuhkan waktu lebih dari dua puluh menit bagi lingkungan Anda untuk menginstal versi baru requirements.txt file, pembaruan lingkungan gagal dan Amazon MWAA akan memutar kembali ke versi stabil terakhir dari image wadah.

  1. Periksa versi paket. Kami merekomendasikan selalu menentukan versi tertentu (==) atau versi maksimum (<=) untuk dependensi Python di Andarequirements.txt.

  2. Periksa log Apache Airflow. Jika Anda mengaktifkan log Apache Airflow, verifikasi grup log Anda berhasil dibuat di halaman grup Log di CloudWatch konsol. Jika Anda mendapatkan log kosong, alasan paling umum adalah karena hilangnya izin dalam peran eksekusi Anda untuk CloudWatch atau Amazon S3 tempat log ditulis. Untuk mempelajari lebih lanjut, lihatPeran eksekusi.

  3. Periksa opsi konfigurasi Apache Airflow. Jika Anda menggunakan Secrets Manager, verifikasi bahwa pasangan kunci-nilai yang Anda tentukan sebagai opsi konfigurasi Apache Airflow telah dikonfigurasi dengan benar. Untuk mempelajari lebih lanjut, lihatMengkonfigurasi koneksi Apache Airflow menggunakan AWS Secrets Manager Rahasia.

  4. Periksa konfigurasi jaringan VPC. Untuk mempelajari lebih lanjut, lihatSaya mencoba membuat lingkungan dan terjebak dalam status Membuat.

  5. Periksa izin peran eksekusi. Peran eksekusi adalah peran AWS Identity and Access Management (IAM) dengan kebijakan izin yang memberikan izin Amazon MWAA untuk memanggil sumber daya AWS layanan lain (seperti Amazon S3,, Amazon SQS CloudWatch, Amazon ECR) atas nama Anda. K Customer-managed unci atau AWS kunci milik Anda juga perlu diizinkan akses. Untuk mempelajari lebih lanjut, lihatPeran eksekusi.

  6. Untuk menjalankan skrip pemecahan masalah yang memeriksa pengaturan dan konfigurasi jaringan Amazon VPC untuk lingkungan Amazon MWAA Anda, lihat skrip Verifikasi Lingkungan di Alat AWS Dukungan aktif. GitHub

Saya mendapatkan paket Tidak dapat menginstal karena OSError [Kesalahan 28] Tidak ada ruang tersisa pada kesalahan perangkat

Kontainer Amazon MWAA memiliki jumlah penyimpanan yang terbatas untuk OS, DAG, runtime, dan pustaka. Untuk informasi selengkapnya, lihat Berapa banyak penyimpanan tugas yang tersedia untuk setiap lingkungan?.

Untuk mengurangi kebutuhan penyimpanan, Anda mungkin dapat menggunakan --no-cache-dir dengan menginstal pustaka dengan skrip startup. Contoh:

#!/bin/sh if [[ "${MWAA_AIRFLOW_COMPONENT}" != "webserver" ]] then # place requirements.txt in DAGs folder, and replace existing requirements.txt with an empty text file pip3 install --no-cache-dir -r /usr/local/airflow/dags/requirements.txt fi

Untuk informasi selengkapnya, lihat Konfigurasikan skrip startup.

Anda juga dapat menginstal pustaka Anda dari file roda Python. Untuk informasi selengkapnya, lihat Opsi dua: Roda Python (.whl).

Plugin

Topik berikut menjelaskan masalah yang dapat Anda temui saat mengonfigurasi atau memperbarui plugin Apache Airflow.

Apakah Amazon MWAA mendukung penerapan UI khusus?

Dimulai dengan Apache Airflow v2.2.2, Amazon MWAA mendukung penginstalan plugin di server web Apache Airflow, dan menerapkan UI khusus. Jika lingkungan Amazon MWAA Anda menjalankan Apache Airflow v2.0.2 atau yang lebih lama, Anda tidak akan dapat menerapkan UI khusus.

Untuk informasi selengkapnya tentang manajemen versi, dan memutakhirkan lingkungan yang ada, lihatVersi Apache Airflow di Amazon Managed Workflows for Apache Airflow.

Membuat bucket

Topik berikut menjelaskan kesalahan yang mungkin Anda terima saat membuat bucket Amazon S3.

Saya tidak dapat memilih opsi untuk setelan S3 Block Public Access

Per an eksekusi untuk lingkungan Amazon MWAA Anda memerlukan izin untuk GetBucketPublicAccessBlock tindakan pada bucket Amazon S3 untuk memverifikasi akses publik yang diblokir bucket. Kami merekomendasikan langkah-langkah berikut:

  1. Ikuti langkah-langkah untuk Mel ampirkan kebijakan JSON ke peran eksekusi Anda.

  2. Lampirkan kebijakan JSON berikut:

    { "Effect":"Allow", "Action":[ "s3:GetObject*", "s3:GetBucket*", "s3:List*" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }

    Ganti placeholder sampel amzn-s3-demo-bucket dengan nama bucket Amazon S3 Anda.

  3. Untuk menjalankan skrip pemecahan masalah yang memeriksa pengaturan dan konfigurasi jaringan Amazon VPC untuk lingkungan Amazon MWAA Anda, lihat skrip Verifikasi Lingkungan di Alat AWS Dukungan aktif. GitHub

Buat lingkungan

Topik berikut menjelaskan kesalahan yang mungkin Anda terima saat membuat lingkungan.

Saya mencoba membuat lingkungan dan terjebak dalam status Membuat

Kami merekomendasikan langkah-langkah berikut:

  1. Periksa jaringan VPC dengan routing publik. Jika Anda menggunakan Amazon VPC dengan akses internet, verifikasi hal berikut:

    1. Bahwa Amazon VPC Anda dikonfigurasi untuk memungkinkan lalu lintas jaringan antara AWS sumber daya berbeda yang digunakan oleh lingkungan Amazon MWAA Anda, seperti yang didefinisikan dalam. Tentang jaringan di Amazon MWAA Misalnya, grup keamanan VPC Anda harus mengizinkan semua lalu lintas dalam aturan referensi mandiri, atau secara opsional menentukan rentang port untuk rentang port HTTPS 443 dan rentang port TCP 5432.

  2. Periksa jaringan VPC dengan perutean pribadi. Jika Anda menggunakan Amazon VPC tanpa akses internet, verifikasi hal berikut:

    1. Bahwa Amazon VPC Anda dikonfigurasi untuk memungkinkan lalu lintas jaringan antara AWS sumber daya yang berbeda untuk lingkungan Amazon MWAA Anda, seperti yang didefinisikan dalam. Tentang jaringan di Amazon MWAA Misalnya, dua subnet pribadi Anda tidak boleh memiliki tabel rute ke gateway NAT (atau instance NAT), atau gateway internet.

  3. Untuk menjalankan skrip pemecahan masalah yang memeriksa pengaturan dan konfigurasi jaringan Amazon VPC untuk lingkungan Amazon MWAA Anda, lihat skrip Verifikasi Lingkungan di Alat AWS Dukungan aktif. GitHub

Saya mencoba membuat lingkungan tetapi menampilkan status sebagai Buat gagal

Kami merekomendasikan langkah-langkah berikut:

  1. Periksa konfigurasi jaringan VPC. Untuk mempelajari lebih lanjut, lihatSaya mencoba membuat lingkungan dan terjebak dalam status Membuat.

  2. Periksa izin pengguna. Amazon MWAA melakukan dry run terhadap kredenSIAL pengguna sebelum membuat lingkungan. Anda Akun AWS mungkin tidak memiliki izin di AWS Identity and Access Management (IAM) untuk membuat beberapa sumber daya untuk suatu lingkungan. Misalnya, jika Anda memilih mode akses Apache Airflow jaringan pribadi, Anda Akun AWS harus diberikan akses oleh administrator ke kebijakan kontrol AmazonMWAAFullConsoleAccess akses untuk lingkungan Anda, yang memungkinkan akun Anda membuat titik akhir VPC.

  3. Periksa izin peran eksekusi. Peran eksekusi adalah peran AWS Identity and Access Management (IAM) dengan kebijakan izin yang memberikan izin Amazon MWAA untuk memanggil sumber daya AWS layanan lain (seperti Amazon S3,, Amazon SQS CloudWatch, Amazon ECR) atas nama Anda. K Customer-managed unci atau AWS kunci milik Anda juga perlu diizinkan akses. Untuk mempelajari lebih lanjut, lihatPeran eksekusi.

  4. Periksa log Apache Airflow. Jika Anda mengaktifkan log Apache Airflow, verifikasi grup log Anda berhasil dibuat di halaman grup Log di CloudWatch konsol. Jika Anda mendapatkan log kosong, alasan paling umum adalah karena hilangnya izin dalam peran eksekusi Anda untuk CloudWatch atau Amazon S3 tempat log ditulis. Untuk mempelajari lebih lanjut, lihatPeran eksekusi.

  5. Untuk menjalankan skrip pemecahan masalah yang memeriksa pengaturan dan konfigurasi jaringan Amazon VPC untuk lingkungan Amazon MWAA Anda, lihat skrip Verifikasi Lingkungan di Alat AWS Dukungan aktif. GitHub

  6. Jika Anda menggunakan Amazon VPC tanpa akses internet, pastikan Anda telah membuat titik akhir gateway Amazon S3, dan memberikan izin minimum yang diperlukan ke Amazon ECR untuk mengakses Amazon S3. Untuk mempelajari selengkapnya tentang membuat titik akhir gateway Amazon S3, lihat berikut ini:

Saya mencoba memilih VPC dan menerima kesalahan Kegag alan Jaringan

Kami merekomendasikan langkah-langkah berikut:

  • Jika Anda mendapatkan Network Failure kesalahan saat mencoba memilih Amazon VPC saat membuat lingkungan, matikan proxy browser yang sedang berjalan, lalu coba lagi.

Saya mencoba membuat lingkungan dan menerima kesalahan layanan, partisi, atau sumber daya “harus dilewati”

Kami merekomendasikan langkah-langkah berikut:

  • Anda mungkin menerima kesalahan ini karena URI yang Anda tentukan untuk bucket Amazon S3 menyertakan '/' di akhir URI. Kami sarankan menghapus '/' di jalur. Nilai harus dalam format berikut:

    s3://amzn-s3-demo-bucket

Saya mencoba membuat lingkungan dan menampilkan status sebagai Ter sedia tetapi ketika saya mencoba mengakses UI Airflow, Balasan Kos ong dari Server atau kesalahan 502 Bad Gateway ditampilkan

Kami merekomendasikan langkah-langkah berikut:

  1. Periksa konfigurasi grup keamanan VPC. Untuk mempelajari lebih lanjut, lihatSaya mencoba membuat lingkungan dan terjebak dalam status Membuat.

  2. Konfirmasikan bahwa setiap paket Apache Airflow yang Anda requirements.txt cantumkan sesuai dengan versi Apache Airflow yang Anda jalankan di Amazon MWAA. Untuk mempelajari lebih lanjut, lihatMenginstal dependensi Python.

  3. Untuk menjalankan skrip pemecahan masalah yang memeriksa pengaturan dan konfigurasi jaringan Amazon VPC untuk lingkungan Amazon MWAA Anda, lihat skrip Verifikasi Lingkungan di Alat AWS Dukungan aktif. GitHub

Saya mencoba membuat lingkungan dan nama pengguna saya adalah sekelompok nama karakter acak

  • Apache Airflow memiliki maksimum 64 karakter untuk nama pengguna. Jika peran AWS Identity and Access Management (IAM) Anda melebihi panjang ini, algoritma hash digunakan untuk menguranginya, sementara tetap unik.

Perbarui lingkungan

Topik berikut menjelaskan kesalahan yang mungkin Anda terima saat memperbarui lingkungan.

Saya mencoba mengubah kelas lingkungan tetapi pembaruan gagal

Jika Anda memperbarui lingkungan ke kelas lingkungan yang berbeda (seperti mengubah an mw1.medium menjadi anmw1.small), dan permintaan untuk memperbarui lingkungan Anda gagal, status lingkungan akan berubah menjadi UPDATE_FAILED status dan lingkungan akan dikembalikan ke, dan ditagih sesuai dengan, versi stabil lingkungan sebelumnya.

Kami merekomendasikan langkah-langkah berikut:

  1. Uji DAG, plugin khusus, dan dependensi Python Anda secara lokal menggunakan aws- mwaa-docker-images on. GitHub

  2. Untuk menjalankan skrip pemecahan masalah yang memeriksa pengaturan dan konfigurasi jaringan Amazon VPC untuk lingkungan Amazon MWAA Anda, lihat skrip Verifikasi Lingkungan di Alat AWS Dukungan aktif. GitHub

Akses lingkungan

Topik berikut menjelaskan kesalahan yang mungkin Anda terima saat mengakses lingkungan.

Saya tidak dapat mengakses UI Apache Airflow

Kami merekomendasikan langkah-langkah berikut:

  1. Periksa izin pengguna. Anda mungkin belum diberikan akses ke kebijakan izin yang dapat Anda gunakan untuk mengakses UI Apache Airflow. Untuk mempelajari lebih lanjut, lihatMengakses lingkungan Amazon MWAA.

  2. Periksa akses jaringan. Ini mungkin karena Anda memilih mode akses jaringan pribadi. Jika URL UI Apache Airflow Anda dalam format berikut387fbcn-8dh4-9hfj-0dnd-834jhdfb-vpce.c10.us-west-2.airflow.amazonaws.com, itu berarti Anda menggunakan perutean pribadi untuk server web Apache Airflow Anda. Anda dapat memperbarui mode akses Apache Airflow ke mode akses jaringan publik, atau membuat mekanisme untuk mengakses titik akhir VPC untuk server Web Apache Airflow Anda. Untuk mempelajari lebih lanjut, lihatMengelola akses ke titik akhir Amazon VPC khusus layanan di Amazon MWAA.