Kết nối tới EC2 instance

Kết nối tới EC2 instance

  1. Làm tương tự như khi kết nối vào instance của app server, ta connect thông qua Session manager.

  2. Switch qua ec2-user.

  3. Kiểm tra kết nối bằng việc ping tới ip của Google DNS server → kết nối được internet thông qua IGW.

  4. Tải NPM về instance:

    • curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
    • source ~/.bashrc để reload the bash shell configuration file thì mới apply được npm vừa tải
    • Chạy nvm install 16 sau đó chạy nvm use 16 để tải và sử dụng Node.js version 16
  5. Để copy code từ folder library-app-fe từ S3 bucket ta chạy những lệnh sau:

    • cd để về user’s home directory
    • aws s3 cp s3://demowebapp-workshop-01/library-app-fe/ web-tier --recursive để copy tất cả các file từ folder library-app-fe và các sub-folder của nó về folder web-tier ở instance (nếu chưa tồn tại folder web-tier, instance sẽ tự động tạo mới folder)
  6. Tải các dependencies:

    • cd web-tier để truy cập vào folder
    • ls -ltr để list các file và sub-folder của web-tier
    • npm install để tải các thư viện hay phụ thuộc cần thiết
    • npm run build để build source code
    • sudo amazon-linux-extras install nginx1 -y để tải nginx (nginx đóng vai trò như 1 web server để giúp app chạy trên port 80, cũng như giúp direct API calls tới internal load balancer)
  7. Config Nginx:

    • cd /etc/nginx
    • ls
    • Chúng ta sẽ thấy có file nginx.conf ở trong folder nginx. Chúng ta cần xóa file này đi và replace bằng file mà ta đã config và up trên s3 bucket.
    • sudo rm nginx.conf
    • sudo aws s3 cp s3://demowebapp-workshop-01/nginx.conf . để copy file trên bucket về folder nginx
    • sudo service nginx restart để restart Nginx
    • chmod -R 755 /home/ec2-user để cấp quyền cho Nginx access vào các tất cả các files
    • sudo chkconfig nginx on để chạy Nginx service tự động mỗi khi instance restart