AWS – Amazon
Contents
1. Cài máy chủ EC2
- Ec2
- Instances
- Launch Instances
- commuity AMIS
Chọn Amazon Linix (chọn hệ điều hành) => 64bit => select - Chọn gói Free => Next
- Set mặc định => Next AddStorage
- Next add tag
+ Name
+ value - Next
- Chọn security => review Instance
- Launch
- Tạo key
+ Create new key
+ Đặt tên
+ Download Key Pair (lưu cẩn thận) - Launch Instances
- Bấm vào Id máy chủ
- Chờ tạo và hiện ra màu xanh (running)
1.1 Lấy thông tin kết nối
- Chọn EC2
- Click connect
- Chọn tab SSH client
- Mục số 4: Server name
Phía dưới có username mặc định: ec2-user
2. Vi editor
Vi Editor dùng để soạn thảo file trên server:
– Tạo file
vi tenFile //vd vi hello.txt
– Insert: Nhấn phím i
– Save:
ESC :w ↵ (↵: enter)
– Quit:
ESC :q! ↵
– Save and quit:
ESC :wq! ↵
– Xem file trong thư mục:
ls
ls -la (Xem chi tiết)
– Edit File:
vi tenFile //vd vi hello.txt
– Xem nội dung file:
less tenFile //vd less hello.txt
– Tìm kiếm:
ESC /tuCanim
– Nhảy đến dòng số
ESC :soCuaDong //vd ESC :9
3. Các lệnh cơ bản trên aws EC2
– Chuyển thư mực:
cd duongDan
cd .. (về trước đó 1 thư mục)
cd / (về thư mục gốc)
– Xem đang tại thư mục nào
pwd
– Xóa màn hình:
clear
– Tạo thư mục:
mkdir tenThuMuc (cần quyền root)
– Truy cập quyền root
sudo su –
– Tạo nhiều thư mục lồng nhau:
mkdir -p a/b/c
– Xóa:
+ Thư mục:
rm -Rf tenThuMuc
+ File:
rm tenFile => Gõ Y
– Copy:
cp tenDuongDanFile tenThuMucDen
cp hanoi/hello.txt haiphong
– Copy all file:
cp -Rf tenFolderCanCopy/* tenFolderDen
cp -Rf hanoi/* haiphong
– Xem lịch sử thao tác:
history
history | less (xem từ từ bằng phím enter)
– Thêm nội dung cho file:
echo “text”>tenFile
4. Tạo user/group, phân quyền file folder
4.1 Tạo user
– Tạo user:
adduser tenUser
– Tạo password:
passwd tenUser
– Thay đổi SSH cho phép truy cập không cần private key: (chưa thực hành được)
+ vi /etc/ssh/ssh_config
+ search password
+ Đổi password authentication => yes
+ Save
+ Restart:
service sshd restart
– Xem dữ liệu của user:
id tenUser
4.2 Tạo group
– Tạo group:
groupadd tenGroup
– Add user to group:
usermod -a -G tenGroup tenUser
– List group:
less /etc/group
4.3 Phân quyền file, folder
d rwx rws —
Thư mục user group userPublic
- d: directory
- r: read
- w: write
- x: Excute Permission
- -: no permission
– Change quyền file/folder:
chmod -Rf 770 tenFile/Folder
770: rwx rwx —
Change luôn các thư mục con
– Change quyền group:
chmod -Rf 770 tenGroup tenFile/Folder
5. Tạo SSH key trên AWS EC2 Linux
– Chuyển user:
su – tenUser
– Tạo public key và private key:
ssh-keygen -t rsa
6. Tạo linux EC2 Nodejs
Bạn cài EC2 linux như bình thường. Sau khi cài, kết nối vào máy chủ và chạy các lệnh bên dưới.
sudo yum update -y sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 sudo iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT sudo iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash . ~/.nvm/nvm.sh nvm install node 8 node --version npm install express -g sudo yum install git -y git --version git clone https://github.com/BackSpaceTech/node-js-sample.git dir cd node-js-sample npm install DEBUG=node-js-sample:* npm start
7. Amazon Elastic Block Store (Amazon EBS)
Sau khi tạo EC2, kết nối SSH vào server và thực hiện các lệnh bên dưới.
lsblk sudo file -s /dev/xvdb sudo mkfs -t ext4 /dev/xvdb sudo file -s /dev/xvdb ==> copy UUID sudo nano /etc/fstab paste UUID into file UUID=28650085-616c-4c71-b8bc-b5dd0bbdb985 ... .. sudo mount -a mkdir data cd /data sudo file -s /dev/xvdb sudo mkdir /data sudo mount /dev/xvdb data sudo cp /etc/fstab /etc/fstab.orig sudo touch test.txt
Sau đó:
- Create snapshort
- Create volumn
Và bạn có thể gắn snapshort đó vào bất cứ EC2 nào khi tạo mới.
8. EFS
sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 fs-caa02883.efs.us-east-1.amazonaws.com:/ efs fs-caa02883 => thay bang id cua efs tren aws
9. DynamoDB
JSon import item
{ "tenTable": [ { "PullRequest": { "Item": { "id": { "N": "102" }, "name": { "S": "Test" }, "age": { "N": "22" }, "status": { "BOOL": false }, "tenTruong": { "KieuDuLieu": giaTri } } } } ] }