یک برنامه انتصاب کلینیک 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 شروع می کنید ، این معماری نمونه ای دستی را با ارزش دنیای واقعی ارائه می دهد.
به من اطلاع دهید که شما چه فکر می کنید – و من دوست دارم بشنوم که چگونه شما این تنظیمات را گسترش داده یا بهبود می بخشد!