eln-infra-ops

โครงสร้างพื้นฐานภายในที่สร้างกลุ่มเซิร์ฟเวอร์ CI ที่บ้านขึ้นใหม่จากโค้ด โดยวางการตัดสินผ่าน/ไม่ผ่านไว้ที่ kill-test บนเครื่องจริงแทนเอกสารออกแบบ และรับประกันความพร้อมใช้งานแบบไม่หยุดชะงักแม้ในยามเกิดเหตุขัดข้อง

ภาพรวม



โครงสร้างพื้นฐานภายในที่สร้างและดำเนินการกลุ่มเซิร์ฟเวอร์ CI ของบริษัทขึ้นใหม่จากโค้ด แทนที่จะทำงานด้วยมือผ่าน SSH ระบบนี้ใช้ Ansible, Docker Compose และ Terraform / OpenTofu จัดการตั้งแต่การตั้งค่าเซิร์ฟเวอร์เริ่มต้นไปจนถึงการเริ่มบริการทั้งหมดด้วยโค้ด เทมเพลต CI workflow ที่แจกจ่ายให้แต่ละ repository ก็มาจากโครงสร้างพื้นฐานนี้เช่นกัน

เป้าหมายการดำเนินงาน



เป้าหมายคือ full-HA สำหรับทุกบริการ ได้แก่ commander, Portal, DefectDojo, OpenSearch, ระบบมอนิเตอร์ (Grafana/Prometheus), secrets และ runners กล่าวคือแม้โหนดใดโหนดหนึ่งหยุดทำงาน โหนดที่เหลือจะยังคงให้บริการต่อได้โดยไม่หยุดชะงัก การตัดสินผ่าน/ไม่ผ่านไม่ได้อิงจากเอกสารออกแบบ แต่ใช้ kill-test บนเครื่องจริง คือหยุดโหนดหนึ่งแล้วตรวจสอบว่าทุก endpoint ยังตอบสนอง ไม่มีข้อมูลสูญหาย และไม่เกิด split-brain

ฟีเจอร์หลัก

โครงสร้าง CI/CD

มี org self-hosted runner ×10 (light/docker/security) พร้อม workflow security-pr/main/scheduled, Dependabot และการเชื่อมโยงบัญชีช่องโหว่กับ DefectDojo

Observability

ระบบมอนิเตอร์ที่ประกอบด้วย Grafana, Loki, Prometheus, Alertmanager (แจ้งเตือนผ่าน Slack + อีเมล), Tempo + Alloy (OTel), node_exporter, cAdvisor และ Promtail

การค้นหาแบบเต็มข้อความและบันทึกล็อก

OpenSearch และ Dashboards นำเข้าล็อกผ่าน Vector (สุ่มตัวอย่างตามความสำคัญ) พร้อม ISM retention

การสแกนความปลอดภัย

ฝัง Semgrep, Trivy, Gitleaks, CodeQL และ Safe Chain ไว้ใน runner image และ workflow

โครงสร้างบันทึกล็อกบน AWS

ประกอบด้วย S3, Glue (partition projection), Athena และ IAM โดยตรวจสอบเส้นทางล็อกจาก Firehose ผ่าน S3 ไปยัง Athena แล้ว

การควบคุมการเข้าถึง

Cloudflare Access (ล็อกอินด้วย GitHub) ควบคุมการเข้าถึง graph, DefectDojo และ kibana.eln.ne.jp (Grafana ใช้ JWT SSO, DefectDojo ใช้ 2 ชั้น, Dashboards ใช้ Access เท่านั้น)

สถานะ: การดำเนินงานภายใน

ดูผลิตภัณฑ์อื่น ๆ

ติดต่อสอบถามเกี่ยวกับ eln-infra-ops

หากมีคำถามเกี่ยวกับการนำไปใช้งานหรือการเชื่อมต่อ ติดต่อเราได้ตลอดเวลา

eln-infra-ops