Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Ruby

AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

एप्लिकेशन लिखते समय, आपको एक प्रमुख मुद्दे के बारे में सोचना होगा कि एप्लिकेशन को बाकी दुनिया के साथ कैसे साझा किया जाएगा।

हरोकू पर लॉन्च करने का एक आम तरीका रहा है। इसे स्थापित करना आसान है और पूरी तरह से प्रबंधित है। लेकिन, टीमों के लिए हरोकू को बाद में छोड़ना भी आम बात है। जैसे-जैसे उनका ट्रैफ़िक बढ़ता है, हरोकू बहुत महंगा और अनम्य हो जाता है।

क्या होगा यदि एडब्ल्यूएस जैसे अधिक सामान्य-उद्देश्य वाले प्लेटफॉर्म से मिलने वाले लचीलेपन और लागत-बचत को छोड़े बिना हरोकू जैसी आसानी के साथ एक नया एप्लिकेशन तैनात करना संभव हो? इलास्टिक बीनस्टॉक - एडब्ल्यूएस की एक सेवा का उपयोग करना संभव है।

इस लेख में, मैं आपको एक रेल 6 एप्लिकेशन की स्थापना और इसे एडब्ल्यूएस पर चलाने के लिए इलास्टिकबीनस्टॉक का उपयोग गणना आधार और आरडीएस (रिलेशनल डेटाबेस सर्विस) के रूप में करने जा रहा हूं - विशेष रूप से, पोस्टग्रेज सेवा - डेटा स्टोर के रूप में।

इस ट्यूटोरियल के अंत में, आपको निम्न कार्य करने में सक्षम होना चाहिए:

  1. कुछ मार्गों के साथ एक Rails 6 ऐप सेट करें और इसे स्थानीय रूप से चलाएं।
  2. एडब्ल्यूएस खाता बनाएं।
  3. फ्री-टियर संसाधनों का उपयोग करके Elasticbeanstalk में एक ऐप सेट अप और परिनियोजित करें।

आइए इसमें डुबकी लगाते हैं।

इलास्टिकबीनस्टॉक और आरडीएस क्या हैं?

Elasticbeanstalk क्या है और यह किस समस्या को हल करता है, इसका स्पष्ट विचार प्राप्त करने के लिए, पहले Amazon की EC2 पेशकश के बारे में बात करते हैं।

EC2 का मतलब इलास्टिक कंप्यूट क्लाउड 2 है। यह सेवा आपको VPCs का प्रावधान करने की अनुमति देती है, जो मूल रूप से सिर्फ कंप्यूटर हैं, जो भी आप चुनते हैं (जैसे, Ubuntu)। तब आपका ऐप इस कंप्यूटर के अंदर रहेगा और अपने कार्यों को वितरित करने के लिए इसके संसाधनों, जैसे फ़ाइल सिस्टम और रैम तक पहुंच प्राप्त करेगा। अंत में, आपका ऐप उसी तरह चलेगा जैसे यह आपकी स्थानीय मशीन पर चलता है, केवल अमेज़ॅन के स्वामित्व वाली मशीन में और अमेज़ॅन के बुनियादी ढांचे का उपयोग करके इंटरनेट के माध्यम से पहुँचा जा सकता है।

अब, ऐलिस नाम के एक उपयोगकर्ता की कल्पना करें, जिसने EC2 पर एक उदाहरण का प्रावधान किया है। ऐलिस को निम्न कार्य करने होंगे:

  • उसके ऐप को अनुरोधों की अनुमति देने के लिए एक सुरक्षा समूह सेट करें।
  • लोड बैलेंसर सेट करें।
  • उदाहरण के लिए SSH, अपना ऐप और पर्यावरण रहस्य सेट करें, इत्यादि।

हालांकि यह आपको अपनी मशीन का पूरा नियंत्रण देता है और यह क्या और कैसे चलता है, कभी-कभी, आप ऐप पर ध्यान केंद्रित करना चाहते हैं, न कि बुनियादी ढांचे पर। यहीं इलास्टिकबीनस्टॉक आता है।

इलास्टिकबीनस्टॉक एक सीएलआई प्रदान करता है जो यह सब करना आसान बनाता है और इसमें से अधिकांश को स्वचालित करेगा, जैसे सुरक्षा समूह और लोड बैलेंसर बनाना। जबकि अंतर्निहित आधारभूत संरचना अभी भी ईसी 2 है, इसके ऊपर एक दृश्य डैशबोर्ड के साथ अमूर्तता की एक परत जोड़ दी जाती है जो आपको पर्यावरण चर, डेटाबेस और ऑटो-स्केलिंग सेट करने की अनुमति देती है, साथ ही लॉग प्राप्त करने और अन्य कार्यों को करने की अनुमति देती है। एक बहुत ही सरल तरीका।

रेल क्या है?

वेब एप्लिकेशन को ऊपर और चलाने के लिए कई टूल का उपयोग किया जा सकता है। आमतौर पर, आप जिस पुस्तकालय या ढांचे का उपयोग करते हैं, वह ज्यादातर उस भाषा से निर्धारित होता है जिसमें इसे प्रोग्राम किया जाता है।

यदि आपकी पसंद की भाषा रूबी है, तो एक लोकप्रिय ढांचा जिसे आप उपयोग करना चुन सकते हैं वह है रेल (आधिकारिक तौर पर रूबी ऑन रेल्स कहा जाता है)। 2003 में बेसकैंप में रेल का निर्माण किया गया था, और वर्षों से, यह एक पूर्ण-विशेषताओं और बहुत परिपक्व ढांचे में विकसित हुआ है जिसमें लगभग कुछ भी शामिल है जिसे आप एक आधुनिक वेब ऐप बनाने के बारे में सोच सकते हैं।

कुछ चीजें जो आप रेल के साथ बना सकते हैं उनमें व्यक्तिगत ब्लॉग जितना सरल और एयरबीएनबी और जीथब जैसी जटिल चीजें शामिल हैं। मुझे यकीन है कि आप इन दो कंपनियों से परिचित हैं, और हाँ, ये रेल पर चलती हैं!

हालांकि यह लेख एडब्ल्यूएस के लिए एक रेल ऐप को तैनात करने के उदाहरणों का उपयोग करता है, लेकिन अधिकांश मुख्य अवधारणाएं समान रहती हैं, भले ही इस्तेमाल की जाने वाली भाषा और ढांचे, जैसे कि पायथन/डीजेंगो या पीएचपी/लारावेल।

रेल सेट करना

<ब्लॉकक्वॉट>

ध्यान दें कि दर्शाए गए आदेश बॉक्स से बाहर यूनिक्स/लिनक्स-आधारित सिस्टम पर काम करेंगे। यदि आप विंडोज पर हैं, तो लिनक्स और/या माइक्रोसॉफ्ट विंडोज टर्मिनल के लिए विंडोज सबसिस्टम का उपयोग करने पर विचार करें।

शुरुआत के लिए, अपना रूबी संस्करण सत्यापित करें:

ruby -v

कुछ भी 2.5.0 और ऊपर जाना अच्छा है। यदि नहीं, तो नवीनतम संस्करण प्राप्त करने के लिए यहां जाएं। मेरे पास संस्करण 2.6.5 स्थापित है।

यदि आपकी रूबी स्थापना के साथ सब कुछ ठीक लगता है, तो आगे बढ़ें और रेल स्थापित करें।

gem install rails

एक बार यह आदेश चलने के बाद, अपने रेल संस्करण की पुष्टि करें:

rails --version

यदि आप 6.0.0 से ऊपर कुछ भी देखते हैं, तो आप इस ट्यूटोरियल के बाकी हिस्सों के लिए जाने के लिए अच्छे हैं।

पोस्टग्रेज सेट करना

हम इस ट्यूटोरियल के लिए अपने डेटा स्टोर के रूप में Postgres DB का उपयोग करेंगे। इसे किसी भी प्लेटफॉर्म पर इंस्टॉल करने के लिए यहां एक बेहतरीन गाइड है।

हमारा कोड जोड़ना और चलाना

<ब्लॉकक्वॉट>

हम मूवी डेटा को स्टोर करने के लिए एक साधारण एपीआई का निर्माण करेंगे, जैसे कि नाम, रिलीज का वर्ष और शैली। प्रदर्शन उद्देश्यों के लिए API में केवल 2 समापन बिंदु होंगे, GET और POST।

निम्नलिखित कमांड के साथ एक नया रेल एपीआई ऐप बनाएं:

rails new movie-api --api --database=postgresql
<ब्लॉकक्वॉट>

एक बार उपरोक्त कमांड सफलतापूर्वक चलने के बाद, अगले कमांड को चलाने से पहले डायरेक्टरी को प्रोजेक्ट फोल्डर में बदलना सुनिश्चित करें।

फिर, हम अपना मॉडल बनाने के लिए निम्न कमांड चला सकते हैं:

rails generate model Movie name:string year:integer genre:string

अब डेटाबेस सेट करते हैं और माइग्रेशन चलाते हैं:

rails db:setup
rails db:migrate

यदि ये दो आदेश सफल होते हैं, तो आपको db/migrate में एक नया माइग्रेशन देखने में सक्षम होना चाहिए निम्नलिखित के समान कोड वाला फ़ोल्डर:

class CreateMovies < ActiveRecord::Migration[6.0]
  def change
    create_table :movies do |t|
      t.string :name
      t.integer :year
      t.string :genre

      t.timestamps
    end
  end
end

फिर हम आगे बढ़ेंगे और अपने एपीआई एंडपॉइंट्स के लिए कंट्रोलर लॉजिक कोड जोड़ेंगे:

rails g controller api/Movies

फिर, फ़ाइल में निम्न कोड जोड़ें app/controllers/movies_controller.rb :

class Api::MoviesController < ApplicationController
    # GET /movies
    def show
        @movies = Movie.all
        render json: @movies
    end

    # POST /movies
    def create
        @movie = Movie.new(movie_params)

        if @movie.save
            render json: @movie
        else
            render error: {error: 'Failed to add movie record'}, status: 400
        end
    end

    private

    def movie_params
        params.require(:movie).permit(:name, :year, :genre)
    end
end

चलो मार्ग निर्धारित करते हैं। यह कोड config/routes.rb. में जाता है

Rails.application.routes.draw do
  # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
  namespace :api do
    resource :movies
  end
end

इस बिंदु पर, आप rails routes . का उपयोग करके एक विवेक जांच चला सकते हैं यह सत्यापित करने का आदेश दें कि सब कुछ ठीक से काम कर रहा है। आपको निम्न के जैसा कुछ युक्त आउटपुट देखना चाहिए:AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

अपना सर्वर चलाने से पहले, आइए db/seeds.rb . में कुछ बीज डेटा जोड़ें :

# This file should contain all the record creation needed to seed the database with its default values.
# The data can then be loaded with the Rails db:seed command (or created alongside the database with db:setup).
movies = Movie.create([
    { name: 'Star Wars', year: 1977, genre: 'SCI-FI'}, 
    { name: 'Lord of the Rings', year: 2001, genre: 'Fantasy' }
])

DB में डेटा जोड़ने के लिए निम्न कमांड चलाएँ:

rails db:seed

अब आप निम्न कमांड के साथ एपीआई चला सकते हैं:

rails s

अगर आप https://127.0.0.1:3000/api/movies, . पर नेविगेट करते हैं आपको हमारा बीज डेटा देखना चाहिए:

[
    {
        "id": 1,
        "name": "Star Wars",
        "year": 1977,
        "genre": "SCI-FI",
        "created_at": "2020-01-01T10:04:56.100Z",
        "updated_at": "2020-01-01T10:04:56.100Z"
    },
    {
        "id": 2,
        "name": "Lord of the Rings",
        "year": 2001,
        "genre": "Fantasy",
        "created_at": "2020-01-01T10:04:56.108Z",
        "updated_at": "2020-01-01T10:04:56.108Z"
    }
]

अपना AWS खाता बनाना

शुरुआत के लिए, इस वेबसाइट पर जाएं। यदि आपके पास अभी तक कोई खाता नहीं है, या आपने अपने ब्राउज़र से एक में साइन इन नहीं किया है, तो आपको इस तरह का एक पृष्ठ देखना चाहिए:

AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

आगे बढ़ें और नारंगी Create an AWS Account पर क्लिक करें ऊपरी-दाएँ कोने पर बटन (या यदि आपके पास एक खाता है, तो अपने कंसोल में साइन इन करें)। एक बार साइनअप फॉर्म भरने के बाद (Account Type . चुनना सुनिश्चित करें) Personal . के रूप में अपना पता भरते समय), आपको सीधे कंसोल में छोड़ दिया जाएगा। अपना ईमेल पता सत्यापित करना न भूलें!

अगर चीजें भारी लगें तो चिंता न करें। एक बार जब आप जान जाते हैं कि आप कहाँ जाना चाहते हैं, तो UI नेविगेट करने में काफी आसान है।

एक IAM उपयोगकर्ता सेट करें

अगली चीज़ जो हमें करने की ज़रूरत है वह है एक IAM उपयोगकर्ता स्थापित करना। यह हमें एपीआई कुंजी तक पहुंच प्रदान करेगा जिसका उपयोग हम एसएसएच में कर सकते हैं और हमारे संसाधनों को बाहरी एडब्ल्यूएस से एक्सेस कर सकते हैं।

सुरक्षा उद्देश्यों के लिए डिफ़ॉल्ट व्यवस्थापक क्रेडेंशियल्स का उपयोग करने के बजाय केवल उन संसाधनों तक पहुंच के साथ एक अलग IAM उपयोगकर्ता होना भी एक अच्छा विचार है जिसकी उपयोगकर्ता को आवश्यकता है।

होम पेज पर, IAM सर्च करें और IAM होम पेज पर नेविगेट करें। AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

IAM मुखपृष्ठ पर, IAM Resources, . के अंतर्गत Users: 0. . पर क्लिक करें AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

उसके बाद, Add User. आप अपनी पसंद का उपयोगकर्ता नाम भर सकते हैं और फिर Programmatic access. AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

अगली स्क्रीन पर, Attach existing policies directly . चुनें और फिर AdministratorAccess. . को खोजने के लिए खोज बॉक्स का उपयोग करें AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

अगले पृष्ठ पर, एक नाम टैग जोड़ें ताकि आप बाद में IAM क्रेडेंशियल की सूची से अपने उपयोगकर्ता की पहचान कर सकें:AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

अंत में, समीक्षा पृष्ठ पर, Create User.

अगले पेज पर, अपने क्रेडेंशियल्स का उपयोग करके CSV फ़ाइल डाउनलोड करें। अंतिम भाग के लिए हमें उनकी आवश्यकता होगी।

एक बार जब आपके पास credentials.csv, . नामक फ़ाइल आ जाए आप इसमें मान देखने के लिए इसे किसी भी स्प्रैडशीट ऐप या संपादक में खोल सकते हैं। हम अधिकतर Access key ID में रुचि रखते हैं और Secret accesss key.

आखिरी चीज जो आपको करने की जरूरत है वह है अपने होम फोल्डर में जाना और .aws नामक फोल्डर बनाना है। . इस फोल्डर के अंदर config. . नाम की फाइल रखें ध्यान दें कि फ़ोल्डर का नाम . और फ़ाइल का कोई एक्सटेंशन नहीं है। पूरा पथ कुछ इस तरह होना चाहिए /Users/your-user/.aws/config.

<ब्लॉकक्वॉट>

यदि आप .aws बनाने में असमर्थ हैं फ़ोल्डर और config फ़ाइल, आप इसे अभी के लिए छोड़ सकते हैं। महत्वपूर्ण बात यह है कि सीएसवी फ़ाइल आपके क्रेडेंशियल्स के साथ बाद में उपयोग के लिए उपलब्ध है।

निम्नलिखित को config में रखें फ़ाइल:

[profile eb-cli]
region = us-east-1
aws_access_key_id = your-aws-access-key-id
aws_secret_access_key = your-aws-secret-access-key
<ब्लॉकक्वॉट>

जब आप साइन इन करते हैं तो आप अपने एडब्ल्यूएस क्षेत्र को एडब्ल्यूएस खाता पृष्ठ के ऊपरी दाएं कोने पर पा सकते हैं।

RDS DB बनाएं

अब हम आगे बढ़ेंगे और पोस्टग्रेस डीबी बनाएंगे जिसके साथ हमारा ऐप संचार करेगा। IAM के समान, आप RDS को खोजने और उस पर नेविगेट करने के लिए होम पेज पर सर्चबॉक्स का उपयोग कर सकते हैं।

RDS के होम पेज पर, Create database. . पर क्लिक करें AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

अगले पेज पर, Standard Create चुनें; फिर, Engine Options, . के अंतर्गत PostgreSQL. AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

जैसे ही आप स्क्रॉल करना जारी रखते हैं, Free tier चुनें Templates . के अंतर्गत , और Settings, . के अंतर्गत DB instance identifier . दें movie-api. आप Master username . छोड़ सकते हैं postgres, . के रूप में लेकिन आगे बढ़ो और एक पासवर्ड जोड़ें। AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

अनुभागों को छोड़ें DB instance size, Storage, और Availability & durability. Connectivity, . के अंतर्गत Additional connectivity configuration चुनें और Publicly accessible . सेट करें करने के लिए Yes और VPC Security group करने के लिए Create new. AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

जारी रखें और Database authentication. Additional configuration, Initial database name जोड़ना सुनिश्चित करें; movie_api_db करूंगा। एक बार सेट हो जाने पर, बाकी सब कुछ छोड़ दें और Create database. पर क्लिक करें पृष्ठ के निचले भाग में।

अंत में, वापस RDS डैशबोर्ड पर, VPC Security group . के अंतर्गत डिफ़ॉल्ट समूह पर क्लिक करें दाहिने कॉलम पर:AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

अगले पृष्ठ के निचले भाग में, Inbound select चुनें और निम्नानुसार देखने के लिए नियमों को संपादित करें:AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

साथ ही, सुनिश्चित करें कि Outbound नियम निम्नलिखित की तरह दिखते हैं:AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

इलास्टिकबीनस्टॉक ऐप बनाएं

लोचदार बीनस्टॉक होम पेज पर नेविगेट करें और Create New Application. AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

आवश्यकतानुसार नया आवेदन पत्र भरें। AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

फिर आपको संदेश वाला एक पृष्ठ दिखाई देगा No environments currently exist for this application. Create one now. Create one now.

इसके बाद, Web server environment. AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

अगले भाग में, Environment name बदलें करने के लिए production-env. Domainछोड़ें खाली। फिर, Base Configuration, . के अंतर्गत Preconfigured platform चुनें और Ruby choose चुनें ड्रॉपडाउन से। आप Application code छोड़ सकते हैं Sample application . पर; फिर, आगे बढ़ें और Create environment. इसमें कुछ समय लगेगा, इसलिए धैर्य रखें। AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

एक बार हो जाने के बाद, आपको एक ऐसा पृष्ठ देखना चाहिए जो इस तरह दिखता है:AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

पर्यावरण आईडी के बाद प्रदान किया गया URL खोजें। इलास्टिकबीनस्टॉक पर डिफ़ॉल्ट रूबी ऐप देखने के लिए उस पर क्लिक करें। बहुत जल्द, आपका एपीआई उसी यूआरएल पर चलने लगेगा।

अपने ऐप को परिनियोजन के लिए तैयार करें

ऐप को परिनियोजन के लिए तैयार करने के लिए, हमें पहले अपने वेब सर्वर को कॉन्फ़िगर करना होगा।

चूंकि रेल उत्पादन के लिए तैयार वेब सर्वर प्यूमा के साथ अपने डिफ़ॉल्ट सर्वर के रूप में शिप करता है, आप सीधे config/puma.rb. पर कॉन्फिग फाइल को एडिट कर सकते हैं।

निम्न की तरह दिखने के लिए अपनी फ़ाइल संपादित करें:

max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count }
threads min_threads_count, max_threads_count

# Specifies the `port` that Puma will listen on to receive requests; default is 3000.
#
port        ENV.fetch("PORT") { 3000 }

# Specifies the `environment` that Puma will run in.
#
environment ENV.fetch("RAILS_ENV") { "development" }

# Specifies the `pidfile` that Puma will use.
pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" }

# Specifies the number of `workers` to boot in clustered mode.
# Workers are forked web server processes. If using threads and workers together,
# the concurrency of the application would be max `threads` * `workers.`
# Workers do not work on JRuby or Windows (both of which do not support
# processes).
#
workers ENV.fetch("WEB_CONCURRENCY") { 2 } # <------ uncomment this line

# Use the `preload_app!` method when specifying a `workers` number.
# This directive tells Puma to first boot the application and load code
# before forking the application. This takes advantage of Copy On Write
# process behavior so workers use less memory.
#
preload_app! # <------ uncomment this line

# Allow Puma to be restarted by the `Rails restart` command.
plugin :tmp_restart

साथ ही, config/database.yml के निचले भाग को संपादित करें मौजूदा production . पर टिप्पणी करके config और इसके बजाय इसका उपयोग कर रहे हैं:

production:
  url: <%= ENV['DATABASE_URL'] %>

अंत में, AWS पर अपने Elasticbeanstalk कंसोल पर जाएं, production-env चुनें परिवेश, और फिर config . पर जाएं

कॉन्फ़िगरेशन ओवरव्यू स्क्रीन पर, Modify . पर क्लिक करें Software . के लिए भाग:

AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें? .

इसके बाद, DATABASE_URL जोड़ें और RAILS_ENV , और फिर 'लागू करें' पर क्लिक करें:

AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

<ब्लॉकक्वॉट>

ध्यान दें कि आपका DB URL Endpoint . का उपयोग करके बनाया गया है आपने पहले RDS डैशबोर्ड से नोट किया था। यह postgresql://postgres:YOURPASSWORD@ENDPOINT:5432/movie_api_db के प्रारूप में है . यदि आपको अपना चुना हुआ पासवर्ड याद नहीं है, तो आप इसे Modify . में बदल सकते हैं आपके DB के RDS डैशबोर्ड का अनुभाग।

मैन्युअल परिनियोजन

यह कमांड लाइन से आपके ऐप की ज़िप फ़ाइल बनाने और फिर इसे अपने Elasticbeanstalk कंसोल पर अपलोड करने जितना आसान है।

सबसे पहले, cd प्रोजेक्ट फ़ोल्डर में। ज़िप फ़ाइल बनाने के लिए, आप निम्न कमांड चला सकते हैं:

zip -r deploy_1.zip .

deploy_1.zip बनाए गए ज़िप फ़ोल्डर का नाम होगा, और यह आपकी प्रोजेक्ट निर्देशिका में अन्य फ़ाइलों के साथ दिखाई देगा। पूर्ण? उत्कृष्ट। एडब्ल्यूएस पर।

Elasticbeanstalk के डैशबोर्ड से, Upload and Deploy . पर क्लिक करें :

AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

आप संस्करण लेबल को कुछ अधिक अर्थपूर्ण में बदल सकते हैं:

AWS ElasticBeanstalk और RDS के साथ अपने रेल 6 ऐप को क्यों और कैसे होस्ट करें?

एक बार इलास्टिकबीनस्टॉक ने पर्यावरण को अपडेट करना समाप्त कर दिया है, तो आप अपने एपीआई को चलाने के लिए अपने पर्यावरण यूआरएल पर जा सकते हैं! आप कुछ अनुरोध भेजने और अपने DB को AWS पर पॉप्युलेट करने के लिए इस तरह की एक निःशुल्क सेवा का उपयोग कर सकते हैं।

ईबी सीएलआई के साथ परिनियोजन

Elasticbeanstalk CLI इस बिंदु तक मैन्युअल रूप से आपको जो कुछ भी करना है, उसे कुछ कमांड के साथ पूरा करना आसान बनाता है। मैं आपको दिखाऊंगा कि इसे कैसे सेट अप करें और इसे हमारे वर्तमान प्रोजेक्ट पर कैसे उपयोग करें। यह सब आपके IAM उपयोगकर्ता के सही तरीके से सेट अप करने पर निर्भर करता है, इसलिए सुनिश्चित करें कि उस चरण से सब कुछ ठीक है या आपके पास अपने क्रेडेंशियल के साथ CSV तैयार है।

अधिकांश कंप्यूटरों के लिए, आपके पास पहले से ही पायथन स्थापित होना चाहिए। इसलिए, स्थापना निम्न की तरह आसान होगी:

pip install awsebcli --user

MacOS पर, आप इसका भी उपयोग कर सकते हैं:

brew install awsebcli

आप यहां स्थापना के बारे में अधिक पढ़ सकते हैं।

एक बार स्थापना समाप्त हो जाने के बाद, cd अपने प्रोजेक्ट फ़ोल्डर में और eb init. run चलाएं

अपने AWS परिवेश के अनुसार संकेतों का पालन करें। सही संख्या चयन दर्ज करके किसी क्षेत्र का चयन करें:

Select a default region
1) us-east-1 : US East (N. Virginia)
2) us-west-1 : US West (N. California)
3) us-west-2 : US West (Oregon)
4) eu-west-1 : EU (Ireland)
5) eu-central-1 : EU (Frankfurt)
6) ap-south-1 : Asia Pacific (Mumbai)
7) ap-southeast-1 : Asia Pacific (Singapore)
8) ap-southeast-2 : Asia Pacific (Sydney)
9) ap-northeast-1 : Asia Pacific (Tokyo)
10) ap-northeast-2 : Asia Pacific (Seoul)
11) sa-east-1 : South America (Sao Paulo)
12) cn-north-1 : China (Beijing)
13) cn-northwest-1 : China (Ningxia)
14) us-east-2 : US East (Ohio)
15) ca-central-1 : Canada (Central)
16) eu-west-2 : EU (London)
17) eu-west-3 : EU (Paris)

रूबी संस्करण भाग के लिए, प्यूमा का उपयोग करके प्रासंगिक संस्करण का चयन करें:

1) Ruby 2.6 (Passenger Standalone)
2) Ruby 2.6 (Puma)
3) Ruby 2.5 (Passenger Standalone)
4) Ruby 2.5 (Puma)
5) Ruby 2.4 (Passenger Standalone)
6) Ruby 2.4 (Puma)
7) Ruby 2.3 (Passenger Standalone)
8) Ruby 2.3 (Puma)
9) Ruby 2.2 (Passenger Standalone)
10) Ruby 2.2 (Puma)
11) Ruby 2.1 (Passenger Standalone)
12) Ruby 2.1 (Puma)
13) Ruby 2.0 (Passenger Standalone)
14) Ruby 2.0 (Puma)
15) Ruby 1.9.3

मैंने 2 चुना।

बाकी संकेतों को पढ़ें और CodeCommit . का उपयोग करने के लिए 'नहीं' चुनें और SSH सेट करने के लिए 'नहीं'।

<ब्लॉकक्वॉट>

यदि आपने AWS कॉन्फ़िगरेशन सेट नहीं किया है, तो CLI आपको आपकी AWS कुंजियों के लिए संकेत देगा। आवश्यकतानुसार उन्हें जोड़ें।

एक बार ऐसा करने के बाद, सीएलआई बाहर निकल जाएगा। फिर आप कमांड चला सकते हैं, जैसे eb status, हमारे द्वारा परिनियोजित किए गए ऐप की स्थिति की जांच करने के लिए।

Environment details for: production-env
  Application name: movie-api
  Region: us-east-2
  Deployed Version: Deploy 2-2
  Environment ID: e-mab3kjy6pp
  Platform: arn:aws:elasticbeanstalk:us-east-2::platform/Puma with Ruby 2.6 running on 64bit Amazon Linux/2.11.1
  Tier: WebServer-Standard-1.0
  CNAME: production-env.qnbznvpp2t.us-east-2.elasticbeanstalk.com
  Updated: 2020-01-22 23:37:17.183000+00:00
  Status: Ready
  Health: Green

एक नया संस्करण परिनियोजित करने के लिए, बस eb deploy.

और बस! आप अन्य सीएलआई आदेशों के बारे में अधिक पढ़ सकते हैं जिन्हें आप यहां आज़मा सकते हैं

सारांश

इस ट्यूटोरियल में, हमने सीखा है कि एक साधारण रेल एपीआई कैसे सेट करें, एडब्ल्यूएस संसाधनों को कैसे सेट करें, जैसे कि इलास्टिकबीनस्टॉक और आरडीएस, और उनका उपयोग करने के लिए ऐप को कैसे तैनात किया जाए।

हमने अपने क्लाउड ऐप में तैनाती को स्वचालित करने के लिए इलास्टिकबीनस्टॉक सीएलआई का उपयोग करने का तरीका भी कवर किया। अब आप सीख चुके हैं कि अपने स्थानीय मशीन पर काम करने वाले ऐप से एडब्ल्यूएस पर दुनिया के साथ साझा किए गए काम करने वाले ऐप पर कैसे जाएं।


  1. Windows 10 पर अपना फ़ोन कैसे सेट अप करें और उसका उपयोग कैसे करें

    विंडोज 10 पर योर फोन ऐप, एंड्रॉइड और आईओएस पर योर फोन कंपेनियन ऐप के संयोजन में उपयोग किया जाता है, यह आपके विंडोज 10 पीसी पर आपके स्मार्टफोन से फोटो और टेक्स्ट मैसेज को सिंक्रोनाइज़ करने का एकमात्र तरीका है। आप अपने विंडोज 10 पीसी को छोड़े बिना टेक्स्ट संदेशों को पढ़ने और जवाब देने के साथ-साथ अपने

  1. अपने iPad और iPhone से QR कोड कैसे स्कैन करें?

    2018 की शुरुआत में, तकनीकी दिग्गज Apple ने iOS 12 के शानदार फीचर्स पेश किए। iPad और फोन पर स्कैन QR कोड एक ऐसी विशेषता थी जिसे Apple उपयोगकर्ताओं के अनुभव को अगले स्तर पर लाने के लिए जोड़ा गया था। यह सुविधा न केवल आपके जीवन को आसान बनाने में सक्षम है बल्कि टिकट, कूपन, उत्पाद सामग्री इत्यादि के बारे