Cấu hình môi trường VSCode

Cấu hình môi trường VSCode

  1. Mở Visual Studio Code trong máy vi tính cá nhân của bạn

    • Chọn biểu tượng Extension hoặc dùng tổ hợp phím Ctrl + Shift + X để mở giao diện Extension.
    • Tìm Remote SSH, chọn Remote - SSHRemote - SSH: Editing Configuration Files
    • Cài các gói mở rộng này vào trong máy.

install-ssh-extensions-1 install-ssh-extensions-2

  1. Sau khi cài đặt xong, thì mình mở ô nhập lệnh với tổ hợp phím Ctrl + Shift + P

    • Tìm Remote-SSH: Add New SSH Host.
    • Nhập cdk-workspace-ec2.
    • Sau đó là chọn C:\…\.ssh\config, và một tệp tin cấu hình được mở lên.

add-new-ssh-host enter-ssh-host open-config

Phần cấu hình của SSH Host có dạng như bên dưới:

Host cdk-workspace
  HostName x.x.x.x
  User ec2-user
  IdentityFile D:\path\to\private-key.pem

update-file-config

  1. Mình sẽ kết nối tới máy chủ EC2 mà mình vừa tạo hổi này với các cấu hình mới thiết lập

    • Tìm Remote-SSH: Connect Current Windows to Host
    • Chọn máy chủ cdk-workspace
    • Chọn Linux
    • Chọn Continue

connect-to-host select-host select-os select-continue

Sau một vài giây, thì kết nối đã được thiết lập thành công.

  1. Giờ thì chúng ta có thể mở các thư mục ở trong máy chủ EC2 ở trong VSCode.

open-directory main-directory

  1. Chúng ta sẽ gắn IAM Role đã tạo ở bước trước vào cho máy chủ EC2, trở lại với giao diện EC2, trong phần Actions

    • Chọn Security
    • Chọn Modify IAM Role
    • Chọn IAM Role tên là CDK-Role mà mình đã tạo hồi nãy

add-iam-role-to-ec2 update-iam-role

  1. Tiếp theo, sao chép và dán lệnh dưới đây vào trong phần Terminall của VSCode để cài đặt các công cụ cần thiết cho việc xử lý từ trong command line.
sudo yum -y install jq gettext bash-completion moreutils

add-some-utils

  1. Cài đặt python 3.9pip

Đầu tiên, mình sẽ cần phải cài các tệp nhị phân để hỗ trợ python3.9

sudo yum install gcc openssl-devel bzip2-devel libffi-devel

install-support-bin

Vào trong thư mục /opt và tải tệp python3.9 đã được nén

cd /opt
wget https://www.python.org/ftp/python/3.9.16/Python-3.9.16.tgz
sudo tar xzf Python-3.9.16.tgz

Vào trong thư mục và giải nén tệp Python-3.9.16 vừa tải về, sau đó tiến hành chạy các cấu hình

cd Python-3.9.16
sudo ./configure --enable-optimizations
sudo make altinstall

install-pyton-1

AWS CDK cần phiên bản của python lớn hơn hoặc bằng 3.8

install-pyton-2 2.31-python-pip-are-installed

  1. Giống với CloudFormation, mình có thể cài đặt cfn-lint để giúp mình có thể kiểm tra các mẫu CDK và các thông tin khác, bao gồm việc kiểm trả. Kiểm tra xem nếu như các tài nguyên đã được cài hay chưa và có được cài đúng với quy tắc tốt nhất hay không.
pip install cfn-lint

Mình có thể kiểm tra xem cfn-lint đã được cài thành công chưa với lệnh bên dưới:

cfn-lint --version

install-cfn-lint check-cfn-lint-install

  1. Thiết lập môi biến môi trường và để cho aws cli dùng mã của vùng hiện tại

Trước khi mình có thể dùng thông tin của máy chủ EC2, mình cần phải điều chỉnh lại lựa chọn thông tin của máy chủ

modify-instance-metadata-1 modify-instance-metadata-2

Để chắc chắn rằng mình có thể lấy thông tin của máy chủ mình đã tạo hồi nãy

check-instance-metadata

Thiết lập các biến môi trường

export ACCOUNT_ID=$(aws sts get-caller-identity --output text --query Account)
export AWS_REGION=$(curl -s 169.254.169.254/latest/dynamic/instance-identity/document | jq -r '.region')
export AZS=($(aws ec2 describe-availability-zones --query 'AvailabilityZones[].ZoneName' --output text --region $AWS_REGION))

Lưu các thông tin đó vào trong bash_profile

echo "export ACCOUNT_ID=${ACCOUNT_ID}" | tee -a ~/.bash_profile

echo "export AWS_REGION=${AWS_REGION}" | tee -a ~/.bash_profile

echo "export AZS=(${AZS[@]})" | tee -a ~/.bash_profile

aws configure set default.region ${AWS_REGION}

setup-env-add-to-bash-profile

  1. CDK chưa được cài đặt, giờ mình sẽ cài nó với NPM từ NodeJS, trước tiên là cài NVM trước
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

install-nvm

  1. Sau đó là cài NodeJS và cài AWS CDK (thư viện toàn cục) và kiểm tra xem là nodenpm đã có hay chưa
nvm install 20
node -v
npm -v
npm install -g aws-cdk

install-nodejs install-cdk

  1. Mình sẽ dùng lệnh dưới đây để kiểm tra xem là máy của EC2 của mình có thể dùng IAM Role mà mình mới gắn từ nãy hay chưa
aws sts get-caller-identity --query Arn | grep CDK-Role -q && echo "IAM role valid" || echo "IAM role NOT valid"

check-if-role-is-valid