โลโก้ Apache Airflow
Analytics และ BIApache License 2.0 (โอเพนซอร์ส)

Apache Airflow คืออะไร และวิธีติดตั้งบน Cloud Server

Apache Airflow คือระบบจัดลำดับงานประมวลผลข้อมูลที่กำหนดขั้นตอนเป็นโค้ด Python แล้วให้ระบบรันตามตาราง ติดตามสถานะ และลองใหม่อัตโนมัติเมื่อล้มเหลว

หมวดหมู่
Analytics และ BI
ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
2 vCPU · RAM 4 GB
ไลเซนส์
Apache License 2.0 (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

Apache Airflow คืออะไร

องค์กรที่ทำงานกับข้อมูลมักมีงานที่ต้องรันตามลำดับ เช่น ดึงข้อมูลจากระบบต้นทาง แปลงข้อมูล แล้วโหลดเข้าคลังข้อมูล การใช้งานตามรอบธรรมดาทำได้แต่ไม่รู้ว่างานไหนล้มเหลวและงานถัดไปยังรันต่อไปทั้งที่ข้อมูลไม่พร้อม

Airflow แก้ด้วยการให้ประกาศขั้นตอนและความสัมพันธ์ระหว่างงานเป็นโค้ด ระบบจะรันตามลำดับที่ถูกต้อง ข้ามงานถัดไปเมื่องานก่อนหน้าล้มเหลว และลองใหม่ตามที่กำหนด

หน้าจอของระบบแสดงสถานะของทุกงานย้อนหลัง ทำให้เห็นทันทีว่างานใดล้มเหลวเมื่อไรและใช้เวลานานผิดปกติหรือไม่ ซึ่งเป็นสิ่งที่ทีมข้อมูลต้องใช้ทุกวัน

แผนผังการวางระบบ Apache Airflow บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 443, 8080 ตัว Apache Airflow และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 2 vCPU แรม 4 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
Apache Airflow ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ Apache Airflow

กำหนดขั้นตอนงานเป็นโค้ด

รีวิวและย้อนกลับได้เหมือนโค้ดทั่วไป

จัดลำดับและจัดการความสัมพันธ์

งานถัดไปรันเมื่องานก่อนหน้าสำเร็จเท่านั้น

ลองใหม่อัตโนมัติเมื่อล้มเหลว

ลดงานที่ต้องแก้ด้วยมือจากปัญหาชั่วคราว

หน้าจอติดตามสถานะย้อนหลัง

เห็นทันทีว่างานใดล้มเหลวและใช้เวลานานผิดปกติ

เชื่อมกับระบบภายนอกได้มาก

มีตัวเชื่อมสำเร็จรูปสำหรับฐานข้อมูลและบริการที่ใช้ทั่วไป

ใช้ Apache Airflow ทำอะไรได้บ้าง

  • งานดึง แปลง และโหลดข้อมูลเข้าคลังข้อมูลตามรอบ
  • งานสร้างรายงานประจำวันที่ต้องรันตามลำดับ
  • งานฝึกและอัปเดตโมเดลตามตาราง
  • งานประมวลผลที่ต้องรันตามลำดับและติดตามผลได้

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ Apache Airflow 3 ระดับ เริ่มจาก 2 vCPU แรม 4 GB ดิสก์ NVMe 40 GB ไปจนถึง 8 vCPU ขึ้นไป แรม 16 GB ขึ้นไป ดิสก์ NVMe 200 GB ขึ้นไป โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
ขั้นต่ำงานไม่กี่ชุดสำหรับทดลอง2 vCPU4 GBNVMe 40 GB
แนะนำงานประจำวันหลายชุดในองค์กรขนาดกลาง4 vCPU8 GBNVMe 100 GB
ใช้งานหนักแยกเครื่องรันงานออกจากเครื่องควบคุม8 vCPU ขึ้นไป16 GB ขึ้นไปNVMe 200 GB ขึ้นไป

ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ

วิธีติดตั้ง Apache Airflow บน Cloud Server ของ THAI DATA CLOUD

ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server

สิ่งที่ต้องเตรียม

  • PostgreSQL สำหรับเก็บสถานะของงาน
  • Redis สำหรับคิวงานเมื่อใช้ตัวรันแบบกระจาย
  • Docker และ Docker Compose
  • พื้นที่เก็บ Log ของงานที่รันย้อนหลัง

ทดสอบบน Ubuntu Server 24.04 LTS ที่ติดตั้ง Docker แล้ว

  1. 1

    ดึงไฟล์ Compose ทางการ

    ตรวจเลขเวอร์ชันล่าสุดจากเอกสารของโครงการก่อนดาวน์โหลด

    mkdir -p /srv/airflow && cd /srv/airflow
    curl -LfO "https://airflow.apache.org/docs/apache-airflow/stable/docker-compose.yaml"
    mkdir -p ./dags ./logs ./plugins
    echo -e "AIRFLOW_UID=$(id -u)" > .env
  2. 2

    เตรียมฐานข้อมูลและบัญชีผู้ดูแล

    docker compose up airflow-init
  3. 3

    เริ่มระบบ

    docker compose up -d
    docker compose ps
  4. 4

    ตั้ง Nginx และ HTTPS

    sudo certbot --nginx -d airflow.example.com
  5. 5

    เขียนขั้นตอนงานชุดแรก

    วางไฟล์ Python ในโฟลเดอร์ dags ระบบจะอ่านและแสดงในหน้าจอโดยอัตโนมัติ

    from airflow import DAG
    from airflow.operators.bash import BashOperator
    import pendulum
    
    with DAG(
        "daily_report",
        start_date=pendulum.datetime(2026, 1, 1, tz="Asia/Bangkok"),
        schedule="0 2 * * *",
        catchup=False,
    ) as dag:
        extract = BashOperator(task_id="extract", bash_command="/opt/scripts/extract.sh")
        transform = BashOperator(task_id="transform", bash_command="/opt/scripts/transform.sh")
        extract >> transform
  6. 6

    ตั้งการแจ้งเตือนเมื่องานล้มเหลว

    ตั้งให้ส่งอีเมลหรือข้อความเข้าแชทขององค์กรเมื่องานล้มเหลว เพราะการมองหน้าจอเองทุกวันไม่ยั่งยืน

อย่าเก็บรหัสผ่านหรือคีย์ไว้ในไฟล์ขั้นตอนงานโดยตรง ให้ใช้ระบบจัดการค่าลับของ Airflow หรือดึงจาก Vault แทน

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
443TCPหน้าจอผ่าน Reverse Proxy
8080TCPพอร์ตภายในของหน้าจอ

สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ

  • เปลี่ยนรหัสผ่านผู้ดูแลระบบและเชื่อมกับระบบยืนยันตัวตนขององค์กร
  • ไม่เก็บค่าลับไว้ในไฟล์ขั้นตอนงาน
  • จำกัดสิทธิ์ให้แต่ละทีมเห็นเฉพาะงานของตัวเอง
  • ตั้งนโยบายลบ Log เก่าเพื่อไม่ให้ดิสก์เต็ม
  • สำรองฐานข้อมูลของระบบเพราะเก็บสถานะของงานทั้งหมด

ทำไมควรรัน Apache Airflow บน Cloud Server ของ THAI DATA CLOUD

Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง

วางไว้ในวง Private Network เดียวกับฐานข้อมูล ทำให้ดึงและเขียนข้อมูลได้เร็ว

ข้อมูลธุรกิจไม่ต้องออกนอกองค์กรระหว่างประมวลผล

เพิ่มเครื่องรันงานได้เมื่อปริมาณงานเพิ่มขึ้นโดยไม่ต้องเปลี่ยนระบบ

คำถามที่พบบ่อยเกี่ยวกับ Apache Airflow

Airflow ต่างจากการตั้งงานตามรอบธรรมดาอย่างไร

งานตามรอบธรรมดารันตามเวลาโดยไม่รู้ว่างานก่อนหน้าสำเร็จหรือไม่ ส่วน Airflow จัดการความสัมพันธ์ระหว่างงาน ลองใหม่เมื่อล้มเหลว และแสดงสถานะย้อนหลัง ซึ่งจำเป็นเมื่อมีงานหลายขั้นที่พึ่งพากัน

ต้องเขียน Python เก่งไหม

ต้องเขียน Python ได้ในระดับใช้งาน เพราะขั้นตอนงานเป็นโค้ด แต่งานส่วนใหญ่เป็นการประกาศลำดับและเรียกใช้ตัวเชื่อมสำเร็จรูป ไม่ได้ต้องเขียนตรรกะซับซ้อนเอง

เหมาะกับองค์กรขนาดไหน

เหมาะเมื่อมีงานข้อมูลหลายขั้นที่ต้องรันตามลำดับและต้องติดตามผลได้ ถ้ามีเพียงสคริปต์ไม่กี่ตัวที่รันวันละครั้ง การตั้งงานตามรอบธรรมดายังเพียงพอและดูแลง่ายกว่ามาก

บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง

ให้เราติดตั้ง Apache Airflow ให้ฟรี บน Cloud Server ในไทย

แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด