برنامه نویسی

یک برنامه انتصاب کلینیک AWS با استفاده از Docker و SNS ساده

استفاده از برنامه های تمام پشته در AWS لازم نیست که بسیار زیاد باشد.

در این مقاله ، من نشان خواهم داد که چگونه یک سیستم مدیریت قرار ملاقات کلینیک را با استفاده از Docker ، Fastapi و چند سرویس اصلی AWS ساخته ام. این برنامه به بیماران اجازه می دهد تا قرار ملاقات های آنلاین را به صورت آنلاین رزرو کنند ، اعلان های زمان واقعی را ارسال کنند و راهی امن برای مدیریت داده ها برای مدیریت داده ها فراهم می کنند – همه در یک تنظیم سبک و مقیاس پذیر.

اگر به دنبال کسب تجربه در زمینه استقرار میکروسرویس در AWS هستید ، این پروژه دوستانه مبتدی مکانی عالی برای شروع است!

بررسی اجمالی پروژه

این سیستم امکان پذیر است:

  • بیماران برای رزرو قرارها از طریق یک رابط کاربری وب ساده.
  • اعلان های پیام کوتاه/ایمیل در زمان واقعی با استفاده از AWS SNS.
  • سرپرستان برای دسترسی به پس زمینه ایمن از طریق OpenVPN.

این معماری با تنظیم سبک و مدولار خود ، برای مبتدیان و نمونه های اولیه سریع مناسب است.

معماری سیستم کلینیک

نمای کلی معماری AWS

1. تنظیم VPC

  • بلوک CIDR: 12.0.0.0/16
  • تقسیم کردن عمومی وت خصوصی زیر شبکه برای انزوا و کنترل بهتر.
  • دروازه اینترنتی برای خدمات عمومی
  • دروازه اجازه می دهد تا موارد خصوصی به طور ایمن به اینترنت دسترسی پیدا کنند (برای به روزرسانی ها و غیره).

2. اجزای زیر شبکه عمومی

تعادل بار برنامه (ALB)

  • مسیرهای ترافیک ورودی (HTTP/HTTPS) به خدمات پس زمینه.
  • از طریق گروه های امنیتی که دسترسی به فقط درگاه های وب را محدود می کنند ، ایمن می شوند.

سرور OpenVPN

  • مستقر در یک نمونه EC2 با IP الاستیکبشر
  • امکان دسترسی ایمن و رمزگذاری شده به خدمات داخلی را فراهم می کند.
  • فقط در دسترس است بندر UDP 1194بشر

3. اجزای زیر شبکه خصوصی

این جایی است که منطق اصلی برنامه زندگی می کند – جدا شده از اینترنت.

خدمات میکروسرویس dockerized

با استفاده از یک نمونه EC2 مستقر شده است داکر آهنگسازی، سیستم شامل:

خدمت بندر شرح
جبهه 8000 وب سایت عمومی
سرویس بیمار 8001 ثبت نام/داده های بیمار را مدیریت می کند
خدمت پزشک 8002 پزشکان و برنامه ها را مدیریت می کند
سرویس انتصاب 8003 رزرو و در دسترس بودن
سرویس اعلان 8004 تأییدیه ها را از طریق SNS ارسال می کند

هر سرویس از سبک وزن استفاده می کند python3.12-slim پایه با فریپی با ماوراء بنفش برای عملکرد سریع

پایگاه داده postgresql

  • در زیر شبکه خصوصی dockerized.
  • سوابق بیمار ، پزشک و قرار ملاقات را ذخیره می کند.
  • فقط از درون VPC قابل دسترسی است.

4. دسترسی مدیر با OpenVPN

  • Admins برای دسترسی به شبکه خصوصی از طریق مشتری VPN وصل می شود.
  • پس از تأیید اعتبار ، مدیر با استفاده از یک مشتری SQL به نمونه PostgreSQL در زیر شبکه خصوصی دسترسی پیدا می کند.
  • بدون قرار گرفتن در معرض پایگاه داده مستقیم در اینترنت – همیشه.

5

  • متعادل کننده بار برنامه یک را فراهم می کند نقطه پایانی DNS برای جبهه
  • خدمات در چندین منطقه در دسترس بودن مستقر می شوند (us-east-1a واد us-east-1b) برای افزایش مقاومت.

6. اعلان های زمان واقعی با AWS SNS


7. اقدامات امنیتی

امنیت ساخته شده است ، در آن پیچیده نشده است:

  • نقش ها و سیاست های IAM: دسترسی AWS را محدود و مدیریت کنید.
  • گروه های امنیتی: فقط درگاه های لازم باز هستند.
  • زیر شبکه های خصوصی: خدمات بحرانی در حال حاضر در اینترنت نیستند.
  • OpenVPN: سرپرستان فقط می توانند پس از تأیید اعتبار به سیستم های داخلی دسترسی پیدا کنند.

8. نظارت و مشاهده

  • AWS CloudWatch آهنگ ها:

    • معیارهای EC2
    • گزارش های تحویل SNS
    • گزارش های برنامه از میکروسرویس

این به تنظیم عملکرد و هشدار کمک می کند.


9. برای مقیاس پذیری طراحی شده است

  • بوالانسی مقیاس بندی افقی خدمات را امکان پذیر می کند.
  • میکروسرویس های Docker می تواند به طور مستقل به روز شود.
  • اسنک به طور خودکار بار پیام رسانی را افزایش می دهد.

10. پیشرفت های آینده

در اینجا در نقشه راه بعدی برای تهیه این تولید وجود دارد:

  • ✅ پشتیبانی HTTPS را با استفاده از SSL در متعادل بار اضافه کنید.
  • ✅ استفاده کنید AWS RDS برای مدیریت postgresql.
  • ✅ یک خط لوله CI/CD (AWS CodePipeline) بسازید.
  • ✅ مهاجرت به ECS یا سابق برای ارکستراسیون بهتر کانتینر.
  • ✅ استفاده کنید مسیر 53 برای مسیریابی سطح دامنه.
  • ✅ فعال کردن وافبا نگهبانبا بازرس برای امنیت پیشرفته
  • ✅ هشدار را برای خرابی یا نفوذ تنظیم کنید.

thoughts افکار نهایی

این پروژه به من آموخت که چگونه می توانم بهترین روشهای زیرساخت را با معماری میکروسرویس ترکیب کنم ، همه در حالی که ایمن و مقیاس پذیر هستیم. این یک پایه محکم برای برنامه های فناوری بهداشت ، سیستم های انتصاب و حتی سیستم عامل های تجارت الکترونیکی است.

اگر سفر خود را با AWS ، Docker یا Cloud Security شروع می کنید ، این معماری نمونه ای دستی را با ارزش دنیای واقعی ارائه می دهد.

به من اطلاع دهید که شما چه فکر می کنید – و من دوست دارم بشنوم که چگونه شما این تنظیمات را گسترش داده یا بهبود می بخشد!


نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا