Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών. Διαβάστε περισσότερα.

Η χρονοβόρα διαδικασία διαμόρφωσης των απαιτούμενων πόρων ένας προς έναν δεν είναι πλέον απαραίτητη για την ανάπτυξη εφαρμογών web και διακομιστών.

Τα προϊόντα Platform-as-a-service (PaaS) όπως το AWS Elastic Beanstalk και το Heroku δημιουργήθηκαν για να επιτρέπουν εφαρμογές που θα αναπτυχθούν και θα διατεθούν στους χρήστες με ελάχιστο έως καθόλου κωδικό και λίγα κουμπιά κλικ.

Λοιπόν, τι είναι το AWS Elastic Beanstalk και πώς μπορείτε να αναπτύξετε τις εφαρμογές ιστού Go στο cloud με το Elastic Beanstalk;

Τι είναι το AWS Elastic Beanstalk;

Το AWS Elastic Beanstalk (AWS EB) είναι ένα προϊόν πλατφόρμας ως υπηρεσίας που προσφέρεται από τις υπηρεσίες Web της Amazon που επιτρέπει τη γρήγορη και εύκολη ανάπτυξη και διαχείριση εφαρμογών και απαιτούμενων πόρων.

Με το Elastic Beanstalk, είναι εύκολο να αναπτύξετε μια εφαρμογή χωρίς να χρειάζεται να ρυθμίσετε όλους τους απαιτούμενους πόρους της όπως

instagram viewer
διακομιστής linux σε EC2, ή μια υπηρεσία παρακολούθησης στο cloudwatch. Το Elastic Beanstalk χειρίζεται όλες τις διαδικασίες ρύθμισης των πόρων και σας επιτρέπει να αναπτύξετε διάφορα είδη εφαρμογών, συμπεριλαμβανομένων των Node.js, Golang, PHP, Docker και ούτω καθεξής.

Δημιουργία ενός απλού διακομιστή Web Golang

Για τους σκοπούς αυτού του σεμιναρίου, απαιτείται να έχετε μια λειτουργική εφαρμογή Golang για ανάπτυξη στο AWS Elastic Beanstalk, επομένως σε αυτήν την ενότητα δημιουργείται ένας απλός διακομιστής ιστού Go.

Χρειάζεστε ένα περιβάλλον ανάπτυξης Golang που έχει ρυθμιστεί στον υπολογιστή σας για να το ακολουθήσετε σε αυτήν την ενότητα.

Το πρώτο βήμα είναι να αρχικοποιήσετε ένα νέο έργο Golang που μπορεί να γίνει από το τερματικό εκτελώντας τις ακόλουθες εντολές:

Μόλις τελειώσετε, μπορείτε να ανοίξετε τον κατάλογο του έργου στο IDE που προτιμάτε. Στον ριζικό κατάλογο του έργου σας, δημιουργήστε έναν φάκελο με το όνομα στατικός και δημιουργήστε ένα index.html αρχείο σε αυτό. Αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στο αρχείο HTML και αποθηκεύστε τον.

html>
<htmllang="en">
<κεφάλι>
<μετασύνολο χαρακτήρων="UTF-8">
<τίτλος>Γειά σου Κόσμε!τίτλος>
κεφάλι>
<σώμα>
<h1>Hello World από την Elastic Beanstalkh1>
σώμα>
html>

Επιστρέψτε στον ριζικό κατάλογο του έργου σας και δημιουργήστε ένα application.go αρχείο. Αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στο δικό σας application.go αρχείο και αποθηκεύστε το. Πρέπει να ονομάσετε το κύριο αρχείο application.go γιατί αυτό είναι το αρχείο που θα αναζητήσει το Elastic Beanstalk για να δημιουργήσει την εφαρμογή σας κατά τη διαδικασία ανάπτυξης.

πακέτο κύριος

εισαγωγή (
"κούτσουρο"
"net/http"
)

funcκύριος() {
στατικό := http. FileServer (http. Σκηνοθεσία("./στατικός"))
http. Λαβή("/", στατικό)

κούτσουρο. Μοιραία (http. ListenAndServe(":5000", μηδέν))
}

Το Elastic Beanstalk χρησιμοποιεί από προεπιλογή μια διαμόρφωση NGINX που προωθεί αιτήματα στην εφαρμογή σας μόνο στη θύρα 5000. Εκτός από την παράκαμψη των προεπιλεγμένων διαμορφώσεων NGINX, η εφαρμογή Golang θα πρέπει πάντα να ακούει στη θύρα 5000 για αιτήματα.

Εάν αποθηκεύσετε το αρχείο και εκτελέσετε το πρόγραμμα στο τερματικό με πηγαίνετε να εκτελέσετε την εφαρμογή.go, θα μπορείτε να κάνετε προεπισκόπηση της στατικής ιστοσελίδας ανοίγοντας τη διεύθυνση localhost: 5000 στο πρόγραμμα περιήγησής σας.

Τώρα έχετε το δείγμα της εφαρμογής σας κατασκευασμένο και έτοιμο για ανάπτυξη. Στην επόμενη ενότητα, θα αναπτύξετε την εφαρμογή στο AWS Elastic Beanstalk.

Ανάπτυξη μιας εφαρμογής Go στο AWS Elastic Beanstalk

Για να αναπτύξετε μια εφαρμογή σε οποιαδήποτε υπηρεσία AWS, όπως το Elastic Beanstalk, χρειάζεστε έναν λογαριασμό cloud AWS. Εάν επί του παρόντος δεν έχετε λογαριασμό AWS, μεταβείτε στο σελίδα εγγραφής του AWS για να δημιουργήσετε ένα νέο δωρεάν.

Υπάρχουν πολλοί τρόποι ανάπτυξης εφαρμογών στο Elastic Beanstalk, συμπεριλαμβανομένου του AWS CLI, της διεπαφής γραμμής εντολών Elastic Beanstalk (EB CLI), και από την κονσόλα Ιστού, αλλά σε αυτό το σεμινάριο, θα μάθετε πώς να αναπτύσσετε στο Elastic Beanstalk από το τερματικό χρησιμοποιώντας το EB CLI εργαλείο.

Μπορείτε να ελέγξετε το Οδηγός εγκατάστασης AWS EB CLI για έναν λεπτομερή οδηγό σχετικά με τον τρόπο εγκατάστασης και ρύθμισης παραμέτρων του EB CLI για να ακολουθήσετε σε αυτήν την ενότητα. Μόλις ολοκληρώσετε την εγκατάσταση και τη διαμόρφωση του EB CLI, μπορείτε τώρα να προχωρήσετε και να ακολουθήσετε τα παρακάτω βήματα για να αναπτύξετε την εφαρμογή Golang.

  1. Ανοίξτε ένα νέο παράθυρο τερματικού και μεταβείτε στον φάκελο έργου της εφαρμογής Go που πρόκειται να αναπτυχθεί χρησιμοποιώντας το CD εντολή.
  2. Τρέξιμο eb init για την προετοιμασία ενός νέου αποθετηρίου Elastic Beanstalk CLI. Όταν εκτελείτε αυτήν την εντολή για πρώτη φορά μετά την εγκατάσταση, το EB CLI θα σας ζητήσει τις αρχικές επιλογές εγκατάστασης, όπως φαίνεται στα βήματα που ακολουθούν.
  3. Αφού επιλέξετε μια προτιμώμενη περιοχή, πρέπει να ρυθμίσετε τα διαπιστευτήρια ταυτότητας ασφαλείας (Αναγνωριστικό κλειδιού πρόσβασης και Μυστικό κλειδί). Υπάρχει ένας ολοκληρωμένος οδηγός που παρέχεται από AWS για τη δημιουργία των διαπιστευτηρίων ασφαλείας στην κονσόλα AWS.
  4. Στη συνέχεια, πρέπει να ορίσετε το όνομα της εφαρμογής που αναπτύσσετε. Από προεπιλογή, αυτό χρησιμοποιεί το όνομα του τρέχοντος φακέλου του έργου σας.
  5. Το επόμενο βήμα είναι να επιλέξετε την πλατφόρμα της εφαρμογής που πρόκειται να αναπτύξετε, σε αυτήν την περίπτωση, θα πρέπει να επιλέξετε την 4η επιλογή αφού αναπτύσσετε μια εφαρμογή Golang.
  6. Η επόμενη ερώτηση σας ρωτά εάν θέλετε να ενεργοποιήσετε μια σύνδεση SSH για την αναπτυγμένη εφαρμογή σας. Αυτό συνιστάται καθώς επιτρέπει την εύκολη απομακρυσμένη πρόσβαση και τον εντοπισμό σφαλμάτων για την εφαρμογή σας, αλλά σε αυτό το σεμινάριο, Οχι επιλέγεται, αφού πρόκειται απλώς για μια απλή εφαρμογή.

    Η γραμμή που υποδεικνύει ότι το CodeCommit δεν μπορούσε να ρυθμιστεί δεν είναι κάτι ανησυχητικό, καθώς οφείλεται στο γεγονός ότι το Git ή οποιοδήποτε άλλο στοιχείο ελέγχου πηγής δεν χρησιμοποιείται στο έργο σε αυτό το παράδειγμα.

  7. Αφού ολοκληρώσετε τα παραπάνω βήματα, θα δημιουργηθεί ένα νέο αποθετήριο Elastic Beanstalk CLI και μπορείτε τώρα να δημιουργήσετε ένα περιβάλλον Elastic Beanstalk για να αναπτύξετε την εφαρμογή σας στα επόμενα βήματα.
  8. Τρέξιμο eb δημιουργία "όνομα περιβάλλοντος" για να δημιουργήσετε ένα νέο περιβάλλον που ονομάζεται καθορισμένο όνομα περιβάλλοντος. Το περιβάλλον δημιουργείται με όλους τους απαιτούμενους πόρους, συμπεριλαμβανομένου ενός στιγμιότυπου EC2, μιας ομάδας αυτόματης κλίμακας, του κάδου S3, του εξισορροπητή φορτίου κ.λπ. Αυτή η διαδικασία διαρκεί περίπου 5-10 λεπτά ανάλογα με την ταχύτητα του δικτύου.

    Ακριβώς όπως όταν εσύ αναπτύξτε έναν στατικό ιστότοπο στο AWS, στην εφαρμογή σας EB εκχωρείται επίσης μια διεύθυνση URL (σημειωμένη στο κόκκινο πλαίσιο στο παραπάνω στιγμιότυπο οθόνης) την οποία μπορείτε να χρησιμοποιήσετε για να αποκτήσετε πρόσβαση στην εφαρμογή Ιστού σας.

  9. Μόλις ολοκληρωθεί με επιτυχία, η εφαρμογή είναι έτοιμη για προεπισκόπηση και μπορείτε να την εκτελέσετε eb ανοιχτό για να ανοίξετε την αναπτυγμένη εφαρμογή στο πρόγραμμα περιήγησής σας. Τώρα πρέπει να δείτε Γειά σου Κόσμε εμφανίζεται στο πρόγραμμα περιήγησής σας χρησιμοποιώντας τη διεύθυνση URL που του έχει εκχωρηθεί από το Elastic Beanstalk.

Κάθε φορά που κάνετε μια αλλαγή στην εφαρμογή σας, μπορείτε να εκτελέσετε eb ανάπτυξη για να προωθήσετε τις πιο πρόσφατες ενημερώσεις στο Elastic Beanstalk. Και για να κλείσετε την εφαρμογή σας και όλους τους πόρους της, μπορείτε να εκτελέσετε eb τερματιστεί.

Έχετε πλέον αναπτύξει με επιτυχία μια εφαρμογή web Golang στο AWS Elastic Beanstalk χρησιμοποιώντας το εργαλείο Elastic Beanstalk CLI. Η διαδικασία είναι πολύ εύκολη και μπορεί να ακολουθηθεί για την ανάπτυξη οποιασδήποτε μορφής εφαρμογής web Golang στο Elastic Beanstalk.

Μπορείτε να ελέγξετε τον πίνακα ελέγχου του Elastic Beanstalk στην κονσόλα AWS για να δείτε την κατάσταση ή οποιαδήποτε άλλη πληροφορία σχετικά με το περιβάλλον και την εφαρμογή σας.

Ανάπτυξη εφαρμογών Ιστού στο Elastic Beanstalk

Το Elastic Beanstalk είναι ένας αξιόπιστος τρόπος για να μεταφέρετε τις εφαρμογές σας από το τοπικό σε live με πολύ εύκολα βήματα. Μπορείτε εύκολα να αναπτύξετε και να διαχειριστείτε τις εφαρμογές σας μικρής και μεγάλης κλίμακας χρησιμοποιώντας οποιοδήποτε από τα μέσα που διατίθενται από το AWS, συμπεριλαμβανομένης της κονσόλας Ιστού, του AWS CLI, του EB CLI, των API AWS ή του AWS SDK.

Για περαιτέρω εξάσκηση με τις γνώσεις που αποκτήθηκαν από αυτό το άρθρο, μπορείτε να εξετάσετε το ενδεχόμενο να δημιουργήσετε ένα CRUD API με το Go και να το αναπτύξετε στο Elastic Beanstalk.