ข้ามไปที่เนื้อหา

สภาพแวดล้อม (Environments)

สำรวจเมื่อ: 30 มีนาคม 2569 (2026-03-30) — ข้อมูลจากการสแกนระบบจริงผ่าน VPN

Stack เทคโนโลยี

ระบบเว็บไซต์กรมฯ (S8) + เว็บพอร์ทัล (S9)

Layer เทคโนโลยี เวอร์ชัน
Frontend (CMS) ASP.NET Core (No CLR / Kestrel behind IIS) .NET Core 3.1.7 / .NET 8.0.20
API ASP.NET Web API (.NET Framework) .NET 4.0 (IIS Integrated)
Admin Panel ASP.NET (.NET Framework) .NET 4.0 (IIS Integrated)
Web Server IIS 10.0 Windows Server 2016 (Build 14393)
Database Microsoft SQL Server 2019 Standard 15.0.2000.5 (RTM)
Virtualization Nutanix AHV VirtIO 1.1.6

ระบบ OCIPA (S6)

Layer เทคโนโลยี เวอร์ชัน
Application ASP.NET MVC (Classic — ไม่ใช่ .NET Core) .NET Framework
Web Server IIS 10.0 Server Token: "RLPD"
Protocol HTTP/2 + TLS 1.2 ECDHE-RSA-AES256-GCM-SHA384
Auth Custom /signin + CAPTCHA Session-based (HttpOnly cookies)

ระบบคุ้มครองพยาน (S7)

Layer เทคโนโลยี เวอร์ชัน
Application ASP.NET (.NET Framework) .NET 4.0
Web Server IIS 10.0 (Hosted on WEBFRONT) Windows Server 2016
Database SQL Server (separate instance) Server: 10.136.27.56

ข้อกำหนดสถาปัตยกรรม (จาก TOR)

  • TOR 7.1: สถาปัตยกรรม Micro Service + API
  • TOR 6.4: ข้อกำหนด Single Database ข้ามระบบ

[OPEN] กำหนดวิธีการสำหรับข้อกำหนด Single Database ในสถาปัตยกรรม Microservice — ปัจจุบันมี Database แยก 3 แห่ง: RLPD_WEB (10.136.27.226), RLPD_WITNESS (10.136.27.56), PLNKPRDDB (PSDBPRDDBS01:3412)


สถาปัตยกรรมปัจจุบัน (Current State)

graph LR
    subgraph Internet
        USER[ผู้ใช้งาน]
    end

    subgraph RLPD["RLPD Network (10.136.27.0/24)"]
        subgraph WEBFRONT["WEBFRONT (10.136.27.57)<br/>Windows Server 2016 · IIS 10<br/>16 vCPU · 32 GB RAM"]
            CMS["Web_CMS<br/>.NET Core<br/>ww2.rlpd.go.th"]
            API["Web_API<br/>.NET 4.0<br/>ww2-api.rlpd.go.th"]
            ADMIN["Web_ADMIN<br/>.NET 4.0<br/>ww2-admin.rlpd.go.th"]
            WITNESS_WEB["Web_WITNESS<br/>.NET 4.0<br/>wpis/wpos.rlpd.go.th"]
            WITNESS_API["Web_WITNESS_API<br/>.NET 4.0<br/>:8184"]
            RLPD_LK["RLPD-LK<br/>.NET Core<br/>(sub-app)"]
        end

        subgraph OCIPA["OCIPA (10.136.27.44)"]
            OCIPA_APP["OCIPA v1<br/>ASP.NET MVC<br/>ocipav1.rlpd.go.th"]
        end

        subgraph DBSRV["RLPD-WEBSITE-DB (10.136.27.226)<br/>Windows Server 2019 · SQL Server 2019<br/>16 vCPU · 24 GB RAM"]
            RLPD_WEB_DB[("RLPD_WEB<br/>155 GB data<br/>260 GB log")]
            RLPD_UAT_DB[("RLPD_WEB_UAT<br/>1.6 GB")]
        end

        WITNESS_DB_SRV["Witness DB (10.136.27.56)<br/>RLPD_WITNESS"]
    end

    subgraph External
        PLN["PLN System<br/>PSDBPRDDBS01:3412<br/>PLNKPRDDB"]
    end

    USER --> CMS
    USER --> OCIPA_APP
    USER --> WITNESS_WEB

    CMS --> API
    API --> RLPD_WEB_DB
    ADMIN --> RLPD_WEB_DB
    WITNESS_WEB --> WITNESS_DB_SRV
    WITNESS_API --> WITNESS_DB_SRV
    RLPD_LK --> PLN

ชั้นสภาพแวดล้อม

Production

ระบบ Domain Server IP Port
S8 เว็บไซต์กรมฯ (CMS) ww2.rlpd.go.th WEBFRONT 10.136.27.57 80, 443
S8 เว็บไซต์กรมฯ (API) ww2-api.rlpd.go.th WEBFRONT 10.136.27.57 9090, 443
S8 เว็บไซต์กรมฯ (Admin) ww2-admin.rlpd.go.th WEBFRONT 10.136.27.57 8081, 443
S7 Witness (WPIS) wpis.rlpd.go.th WPIS Production 10.136.27.227 443
S9 Web Portal webportal.rlpd.go.th rlpd7systems 10.136.27.119 443
S4 Mediation (PHP) emediation.rlpd.go.th Mediation PHP 10.136.27.41 443
S4 Mediation (Vue+Node) emediations.rlpd.go.th Mediation Vue+Node 10.136.27.87 443
E-Learning learningportal.rlpd.go.th E-Learning 10.136.27.160 443
Keycloak SSO sso.rlpd.go.th rlpd7systemssso 10.136.27.127 443
S6 OCIPA v1 ocipav1.rlpd.go.th 10.136.27.44 80, 443
Single DB (PSDBPRDDB) RLPDSQLDB 10.136.27.149 3412
DB (RLPD_WEB) RLPD-WEBSITE-DB 10.136.27.226 1433

UAT

ระบบ Server IP Port สถานะ
CMS UAT WEBFRONT 10.136.27.57 7070 Stopped
Admin UAT WEBFRONT 10.136.27.57 7071 Stopped
API UAT WEBFRONT 10.136.27.57 7072 Stopped
Witness UAT WEBFRONT 10.136.27.57 8889 Stopped
OCIPA UAT 10.136.27.144 80, 443 Running
DB UAT (RLPD_WEB_UAT) RLPD-WEBSITE-DB 10.136.27.226 1433 Running

⚠ UAT sites บน WEBFRONT ทั้งหมดหยุดให้บริการ — ต้องเปิดใช้งานก่อนเริ่มพัฒนา

Development

สถานะ: ยังไม่มีสภาพแวดล้อม Development แยก — ต้องจัดเตรียมสำหรับ Phase 2

อัปเดต 1 เม.ย. 2569 — VM ใหม่สำหรับระบบ S1-S3

จากการประชุมประสานงาน วันที่ 1 เมษายน 2569 — ทีมโครงการจะขอให้กรมสร้าง VM ใหม่ สำหรับระบบใหม่ S1, S2 และ S3 โดยใช้ Modern Tech Stack (React/Vite + NestJS + Docker) แยกจาก Infrastructure เดิม อยู่ระหว่างรอการจัดสรรจากทีม IT ของกรม

[OPEN] ~~ต้องวางแผน Development environment สำหรับ 9 ระบบใน Phase 2 — อาจใช้ UAT ที่มีอยู่หรือจัดเตรียม server ใหม่~~ → สำหรับ S1-S3: จะใช้ VM ใหม่ (รอการจัดสรร) / สำหรับ S4-S9: ยังต้องวางแผนเพิ่มเติม


การกำหนดค่าฐานข้อมูล

PSDBPRDDB — Single Database Production (ฐานข้อมูลกลาง)

ข้อมูลจาก VM_Credentials.xlsx (1 เมษายน 2569)

รายการ ข้อมูล
Server 10.136.27.149 (port 3412)
Windows Host 10.136.27.146 (RLPDSQLDB — เครื่องเดียวกับ .149)
Domain rlpd.go.th
Database PSDBPRDDB
Schema ระบบ DB User
PORTAL S9 Web Portal, Service Center RLPD_WEB_PORTAL
WITNESS S7 Witness Protection WITNESS
MEDIATE / mediate2020 S4 Mediation MEDIATE
ComplaintSystem ระบบร้องเรียน (Phase 1) RLPD_WEB_PORTAL
TorturePrevention ระบบป้องกันทรมาน (Phase 1) RLPD_WEB_PORTAL

หมายเหตุสำคัญ

นี่คือ Single Database ตามข้อกำหนด TOR — ระบบ Phase 1 ทั้งหมดใช้ database PSDBPRDDB เดียวกัน โดยแยก schema ตามระบบ ซึ่งตอบคำถาม [OPEN] ว่า "Single Database" หมายถึง SQL Instance เดียว แยก Schema

RLPD_WEB (Production — S8)

รายการ ข้อมูล
Server 10.136.27.226 (RLPD-WEBSITE-DB)
Instance MSSQLSERVER (default)
Database RLPD_WEB
Recovery Model FULL
Compat Level 140 (SQL Server 2017)
Data Size 155 GB
Log Size 260 GB ⚠
Tables 81
ตารางใหญ่สุด Log_PublicActivity (~5 ล้าน rows)
Users 114 accounts
หมายเหตุ ฐานข้อมูลเดิมสำหรับ S8 เว็บไซต์กรมฯ — แยกจาก Single DB (PSDBPRDDB)

RLPD_WITNESS (Legacy — S7)

รายการ ข้อมูล
Server 10.136.27.56 (Legacy — เข้าถึงไม่ได้จาก VPN)
Database RLPD_WITNESS
หมายเหตุ ฐานข้อมูลเดิม — S7 Production ปัจจุบันใช้ PSDBPRDDB (.149) schema WITNESS แทนแล้ว

mediate2020-NEW (Legacy — S4)

รายการ ข้อมูล
Server 10.136.27.43 (Legacy)
Database mediate2020-NEW
หมายเหตุ ฐานข้อมูลเดิมสำหรับ Mediation — ยังใช้โดย Mediation Vue+Node (.87)

SQL Application Accounts

Account สร้างเมื่อ ใช้โดย
sa (built-in) ⚠ ทุก Web App ใช้ sa
mobile_web 2022-05-22 Mobile web interface
app_viewer 2023-09-14 Read-only viewer
rlpd_singledb 2024-10-07 Single DB integration (Phase 2?)

Backup Policy

Database Full Backup Log Backup Retention
RLPD_WEB ทุก ~3 วัน ❌ ไม่มี ไม่ทราบ
RLPD_WEB_UAT ❌ ไม่มี ❌ ไม่มี
System DBs ทุกวัน ไม่ทราบ

Deployment

โครงสร้างไฟล์ Application

E:\WebSite\ ├── Web_CMS\ # CMS Frontend (Production) │ ├── appsettings.json │ ├── web.config │ └── well-know\ # .well-known (SSL verification) ├── Web_API\ # API (Production) │ ├── appsettings.json │ └── web.config ├── Web_ADMIN\ # Admin Panel (Production) │ ├── appsettings.json │ ├── web.config │ └── wwwroot\fileupload\ # File upload directory ├── Web_*_Old\ # เวอร์ชันก่อนหน้า (manual backup) └── Web_*_UAT\ # UAT environments

ขั้นตอน Deployment (สรุปจากโครงสร้างที่พบ)

  1. Build → *.publish output
  2. Backup → คัดลอก folder ปัจจุบันไปเป็น _Old (manual)
  3. Deploy → คัดลอกไฟล์ไปยัง E:\WebSite\Web_<APP>\
  4. Config → อัปเดต appsettings.json (connection string, environment settings)
  5. IIS → Recycle Application Pool

หมายเหตุ: ไม่มี CI/CD pipeline — deployment เป็นแบบ manual copy. ไฟล์ .zip และ .7z ใน E:\ แสดงถึงการ backup ด้วยมือ


Monitoring & Security

Monitoring

Server Agent เวอร์ชัน
WEBFRONT Zabbix Agent 7.2.2
RLPD-WEBSITE-DB Zabbix Agent 7.2.2

Endpoint Security

Server EDR/AV เวอร์ชัน
WEBFRONT SentinelOne + Kaspersky Endpoint Agent 23.4.347
RLPD-WEBSITE-DB Trend Micro Endpoint Basecamp + Windows Defender

Network Security

  • DNS: 10.136.27.15, 10.136.27.16 (internal DNS servers)
  • Firewall: Custom inbound rules สำหรับ HTTP/HTTPS, RDP, Zabbix, SQL
  • VPN: FortiClient SSL VPN (vpn.rlpd.go.th:10443) สำหรับการเข้าถึงจากภายนอก