برنامه نویسی

استقرار برنامه به طور خودکار در نمونه Lightsail

در این پست قصد دارم توضیح دهم که چگونه به راحتی می توانیم هر برنامه ای را در نمونه Light-Sil مستقر کنیم. هدف از این پست کشف Lightsail است. ما همه کارها را با bash با استفاده از AWSCLI انجام خواهیم داد که می تواند بیشتر در ایجاد خط لوله CICD استفاده شود.

اینجا را بررسی کنید تا درباره Lightsail – AWS Lightsail بیشتر بدانید

رویکرد:

توضیحات تصویر

پيش نياز:

  • حساب AWS
  • دسترسی IAM و کلید مخفی با دسترسی به Lightsail و EMR.
  • AWS CLI
  • داکر

مراحل 1: AWSCLI را در سیستم محلی خود پیکربندی کنید.

اگر با من هستید و از سیستم عامل اوبونتو استفاده می کنید، می توانید مراحل زیر را دنبال کنید.

اگر از سیستم عامل های مختلفی استفاده می کنید، می توانید از اینجا کمک بگیرید: AWSCLI

گام 2: AWSCLI را در محلی خود پیکربندی کنید

  • ترمینال را باز کنید و اجرا کنید aws configureدستور، کلید دسترسی و کلید مخفی را می‌پرسد.
shubham@Shubham~ % aws configure
AWS Access Key ID [****************aaaa]: aaaaaaaaaaaaaaaaaaaaaa
AWS Secret Access Key [****************bbbb]: bbbbbbbbbbbbbbbbbb
Default region name [eu-central-1]: eu-central-1
Default output format [None]: 
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: با استفاده از دستور زیر Grafana Image را در سیستم محلی خود بکشید. شما همچنین می توانید Dockerfile خود را بنا به نیاز خود ایجاد کنید.
docker pull grafana/grafana-enterprise

مرحله 4: مخزن ECR را در AWS ایجاد کنید

  • به کنسول ECR بروید.
  • روی create repo کلیک کنید.
  • به عنوان بهترین روش، باید تنظیمات Visibility را به عنوان خصوصی انتخاب کنید.
  • نام مخزن خود را بدهید. در مورد من داده ام lightsail به عنوان نام مخزن
  • استراحت را به عنوان پیکربندی پیش فرض نگه دارید.
  • روی ایجاد کلیک کنید تا یک مخزن برای شما ایجاد کند.

مرحله 5: تصویر grafana را به ECR فشار دهید.

  • با استفاده از دستور زیر وارد ECR خود شوید
    docker login -u AWS -p $(aws ecr get-login-password --region <region_name>) <aws_account_number>.dkr.ecr.<region_name>.amazonaws.com
  • تصویر خود را با برچسب به عنوان بادبان نوری بسازید
    docker build -t lightsail .
  • پس از اتمام ساخت، تصویر خود را تگ کنید تا بتوانید تصویر را به این مخزن فشار دهید:
    docker tag lightsail:latest <aws_account_number>.dkr.ecr.<region_name>.amazonaws.com/lightsail:latest
  • دستور زیر را اجرا کنید تا این تصویر را به مخزن جدید AWS خود فشار دهید:
    docker push <aws_account_number>.dkr.ecr.<region_name>.amazonaws.com/lightsail:latest

اکنون تصویر Grafana خود را به مخزن ECR منتقل کرده اید که ما آن را از نمونه خارج می کنیم و برای استقرار استفاده می کنیم.

مرحله 6: این مهمترین قدم برای اجرای ما است. ما باید یک فایل sh ​​بسازیم.. فکر می کنیم چرا؟ ما به این فایل نیاز داریم تا برخی از داده های کاربر را با ایجاد نمونه Lightsail ارسال کنیم. محتوای این فایل را یکی یکی خواهیم دید. این مهمترین مرحله برای اتوماسیون است و همانطور که گفتم فرآیند کاملاً خودکار خواهد بود و ما هیچ کاری از کنسول انجام نمی دهیم.
فایل sh ​​را با کد زیر ایجاد کنید
`

  1. sudo su
  2. آپدیت مناسب
  3. snap install docker
  4. سی دی /خانه/رایگان
  5. curl “https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip” -o “awscliv2.zip”
  6. apt install unzip -y
  7. awscliv2.zip را از حالت فشرده خارج کنید
  8. ./aws/install
  9. rm -rf awscliv2.zip
  10. صادرات AWS_ACCESS_KEY_ID=
  11. صادرات AWS_SECRET_ACCESS_KEY=
  12. ورود به سیستم docker -u AWS -p $(aws ecr get-login-password –region ) .dkr.ecr.amazonaws.com
  13. docker pull .dkr.ecr..amazonaws.com/lightsail:latest
  14. docker run -d -p 3000:3000 250373516626.dkr.ecr.eu-central-1.amazonaws.com/lightsail:latest
  15. aws lightsail allocate-static-ip –static-ip-name
  16. aws lightsail attach-static-ip –static-ip-name –instance-name `

توضیح کد بالا برای درک بهتر:

خط 1 – تغییر کاربر به عنوان sudo.
خط 2 – فقط به روز رسانی ساده.
خط 3 – نصب Docker در Lightsail.
خط 6 تا 10 – نصب AWSCLI در نمونه Lightsail.
خط 10 و 11 – این بهترین روش برای عبور مستقیم اعتبار IAM از اینجا نیست. بهترین رویکرد این است که آن را با متغیر محیطی یا از اعتبار ابزار CI خود منتقل کنید.
خط 12 – با ECR ecr-login-password وارد ECR شوید
خط 13 – کشیدن تصویر گرانا از مخزن ECR که در مراحل قبلی فشار داده بودیم.
خط 14 – کانتینر داکر در حال اجرا
خط 15 – یک IP ثابت برای نمونه Lightsail خود ایجاد کنید
خط 16 – اتصال IP Static به نمونه ما.

مرحله 7: با استفاده از دستور زیر یک نمونه Lightsail ایجاد کنید:
aws lightsail create-instances --instance-names grfana --availability-zone eu-central-1a --blueprint-id ubuntu_22_04 --bundle-id nano_2_0 --user-data file://instance.sh

توضیح دستور بالا:
برای ایجاد یک نمونه lightsail 2 پارامتر مهمی که باید پاس کنیم این است: نقشه-ID و بسته شناسه.
blueprint-id اساساً انتخاب پلتفرم، برنامه یا سیستم عاملی است که می خواهید در نمونه خود پیکربندی کنید. در مورد من با اوبونتو می روم. با استفاده از دستور زیر می توانید تمام مقدار موجود Blueprint-id را بررسی کنید:
aws lightsail get-blueprints

و، bundle-id نوع نمونه برای نمونه Lightsail شما است. با استفاده از دستور زیر می توانید تمام مقادیر موجود بسته نرم افزاری را دریافت کنید:
aws lightsail get-bundles

یک عیب مهم این است — داده های کاربر – در اینجا، ما به Lightsail دستور می دهیم تا نوعی از دستورات را با ایجاد نمونه اجرا کند. بنابراین، اساساً هر اسکریپتی که در مراحل بالا ذکر کردیم، با ایجاد نمونه شما اجرا می‌شود.

مرحله 8: به پورتی که برنامه شما در آن اجرا می شود به Lightsail اجازه دهید تا ترافیک در پورت داده شده را بپذیرد. در مورد من پورت 3000 است.
aws lightsail open-instance-public-ports --port-info fromPort=3000,toPort=3000,protocol=TCP --instance-name grfana

مرحله 9: [Optional] DNS را با IP خود وصل کنید.

مرحله 10: از مرورگر با IP ثابت یا با DNS به برنامه خود دسترسی پیدا کنید.

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

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

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

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