Научитесь настраивать Docker с Node.js, экземпляром EC2 и его конфигурацией.

Когда ваш сервер будет готов к работе, вам потребуется одно из доступных решений, чтобы сделать его общедоступным. Наиболее известным и известным сервисом является Amazon Web Service (AWS) Elastic Compute Cloud (EC2). Ec2 является основной частью AWS, на нем построены многие высококлассные сервисы.

В этой статье мы сначала создадим приложение Node.js с помощью Docker, настроим EC2, а затем развернем его.

Прежде чем двигаться дальше, давайте сначала настроим AWS и Docker. Вам необходимо создать учетную запись в AWS, чтобы использовать EC2, то же самое касается и Docker.

Если вы не знаете роль Docker здесь, позвольте мне рассказать вам вкратце: Docker объединит приложение Node.js в небольшие легко развертываемые блоки, чтобы мы могли использовать его в любой среде Docker.

Здесь я предполагаю, что у вас уже есть приложение Node.js, поэтому давайте перейдем к следующему шагу.

Докеризация приложения Node.js

Создайте файл в том же каталоге с именем Dockerfile

FROM node:13-alpine
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD [ "node", "index.js" ]

Это всего лишь базовый файл Docker, он будет использоваться в простом приложении Node.js. Теперь создадим образ Docker:

> docker build . -t ec2-app 
> docker run -p 3000:3000 ec2-app

Наконец, давайте отправим образ Docker в Docker Hub, чтобы использовать его в другом месте:

> docker login # Use your Docker Hub credentials here
> docker tag app-tag <YOUR_DOCKER_USERNAME>/AppName
> docker push <YOUR_DOCKER_USERNAME>/AppName

Теперь ваш образ Docker готов к использованию.

Настройка EC2

После докеризации давайте перейдем к EC2. Во-первых, необходимо создать экземпляр EC2 для запуска с ним приложения Node.js. Надеюсь, вы вошли в систему с помощью AWS.

Просто нажмите на раскрывающееся меню 'Службы' в верхней части страницы и найдите 'EC2' [Look Image for ref :страница может выглядеть иначе]

Теперь нажмите кнопку запуска экземпляра, и страница, которую вы увидите, будет выглядеть примерно так:

Здесь нам нужно выбрать Amazon Machine Image (AMI). Это сервер «из коробки» со множеством параметров конфигурации. На данный момент мы выберем «быстрый запуск AMI» или выберем тот, который поддерживает Ubuntu.

Нажмите на кнопку выбора, и это приведет нас к следующему шагу. На следующем шаге вы увидите список экземпляров. Здесь идет основная часть вызова и стоимости. Выбирайте с умом, это может стоить вам немного больше, но на данный момент мы выберем бесплатный. t2.micro имеет право использовать его свободно, поэтому давайте выберем его сейчас:

Вам просто нужно установить флажок и нажать Review and LaunchПосле этого на следующей странице вы увидите опцию для создания пары ключей. Нажмите «Создать новую пару ключей». В разделе «Имя пары ключей» введите имя, которое вы хотите присвоить своей паре ключей. Не забудьте скачать, пригодится в будущем. Теперь просто нажмите Launch Instance, и он заработает:

Чтобы перейти к следующему шагу, щелкните выделенную ссылку, и вы перейдете на страницу сведений об экземпляре.

Группы безопасности в основном управляют безопасностью вашего экземпляра. Он будет обрабатывать, кто может получить доступ, у кого есть соответствующие привилегии и т. д. Нажмите на выделенную ссылку ниже:

Здесь мы добавим IP и PORT, чтобы экземпляр выполнил наше требование. 0.0.0.0/0 означает где угодно

Установите наш порт, например 3000, и сделайте его доступным из любого места. Наконец, все настройки были сделаны.

Подключение к вашему инстансу EC2

Нажав слева на «экземпляр», вы будете перенаправлены на страницу экземпляра, где вам нужно выбрать экземпляр, который вы только что создали. Откройте терминал на своем локальном компьютере и выполните следующие команды для загруженного вами ключа (он имеет расширение .pem):

chmod 400 <NAME_OF_KEYPAIR_FILE> 
ssh -i <NAME_OF_KEYPAIR_FILE>ec2-user@<PUBLIC_DNS>

Итак, теперь вы подключены к своему экземпляру. Теперь запустите ваше приложение через Docker:

> docker run -p 3000:3000 <YOUR_DOCKER_USERNAME>/AppName

Теперь вы можете проверить, работает ли ваше приложение на IP-адресе экземпляра, т.е.:

<PUBLIC_DNS>:PORT

Ура. Это в прямом эфире. EC2 — действительно отличный инструмент для использования. Постарайтесь изучить AWS как можно больше. Вы будете поражены некоторыми сервисами AWS.

Надеюсь, ты узнаешь что-то важное. Если вам понравилась эта статья, пожалуйста, поделитесь ею с нуждающимися.

Подключаемся в Twitter, LinkedIn и GitHub! За вклад: КУПИ МНЕ КОФЕ

Если у вас есть дополнительные вопросы, не стесняйтесь обращаться!

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .