Mở Visual Studio Code trong máy vi tính cá nhân của bạn
Remote SSH
, chọn Remote - SSH và Remote - SSH: Editing Configuration Files
Sau khi cài đặt xong, thì mình mở ô nhập lệnh với tổ hợp phím Ctrl + Shift + P
Remote-SSH: Add New SSH Host
.cdk-workspace-ec2
.
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
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
Remote-SSH: Connect Current Windows to Host
cdk-workspace
Linux
Continue
Sau một vài giây, thì kết nối đã được thiết lập thành công.
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
CDK-Role
mà mình đã tạo hồi nãy
sudo yum -y install jq gettext bash-completion moreutils
python 3.9
và pip
Đầ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
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
AWS CDK cần phiên bản của python lớn hơn hoặc bằng 3.8
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
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ủ
Để 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
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}
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 20
node -v
npm -v
npm install -g aws-cdk
aws sts get-caller-identity --query Arn | grep CDK-Role -q && echo "IAM role valid" || echo "IAM role NOT valid"