ddps-lab / architect-cloud

Kubernetes , AWS Serveless
6 stars 4 forks source link

1.CloudArchitectBasic 에서 나오는 실습 최신화 #31

Open kmu-leeky opened 4 months ago

kmu-leeky commented 4 months ago

IAM 및 EC2 기초 실습 및 VPC 실습 후에 해당 내용 최신화. 캡쳐 포함.

red0sena commented 4 months ago

현재 1.CloudArchitectBasic 슬라이드의 시라니오 1 IAM부분을 최신화를 완료하였습니다.

기존 2, 3 시나리오는 VPC설정 EC2생성하여 이미지 분류하는 시나리오 인데

image

저희 시나리오와 맞지 않으니 커피공급업체 리스팅 앱을 EC2에 띄우고 같은 인스턴스에 로컬 mysql DB를 설치하는 시나리오로 진행하고자 합니다.

kmu-leeky commented 4 months ago

응 경환아. 해당 시나리오가 업데이트 되어야 겠다. 커피 로스팅 띄울때 성규가 작업했던 EC2 정보 포함되도록 해서 하고.

red0sena commented 4 months ago

기존 실습코드를 조금 수정하여 한개의 EC2인스턴스에 Monilitic coffee supplier 웹 호스팅과 mysql DB를 설치하는 bash코드를 작성하였습니다.

#!/bin/bash -xe
apt update -y
apt install nodejs unzip wget npm mysql-server awscli tree nmap -y
wget https://aws-tc-largeobjects.s3.us-west-2.amazonaws.com/CUR-TF-200-ACCAP2-1-91943/capstone-2-microservices/code.zip -P /home/ubuntu
cd /home/ubuntu
unzip code.zip -x "resources/codebase_partner/node_modules/*"
chown ubuntu -R resources/
cd resources/codebase_partner
npm install
mysql -u root -e "CREATE USER 'nodeapp' IDENTIFIED WITH mysql_native_password BY 'coffee'";
mysql -u root -e "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'nodeapp'@'%' WITH GRANT OPTION;"
mysql -u root -e "CREATE DATABASE COFFEE;"
mysql -u root -e "USE COFFEE; CREATE TABLE suppliers(id INT NOT NULL AUTO_INCREMENT,name VARCHAR(255) NOT NULL,address VARCHAR(255) NOT NULL,city VARCHAR(255) NOT NULL,state VARCHAR(255) NOT NULL,email VARCHAR(255) NOT NULL,phone VARCHAR(100) NOT NULL,PRIMARY KEY ( id ));"

sed -i "s/.*bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/mysql.conf.d/mysqld.cnf
systemctl enable mysql
service mysql restart
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"`
export APP_DB_HOST=$(curl http://169.254.169.254/latest/meta-data/local-ipv4 -H "X-aws-ec2-metadata-token: $TOKEN")
export APP_DB_USER=nodeapp
export APP_DB_PASSWORD=coffee
export APP_DB_NAME=COFFEE
export APP_PORT=80

node index.js &
image image

위 방식을 바탕으로 실습 슬라이드를 작성하도록 하겠습니다. @mumat0103 성규님이 작성한 metadata를 표시하기 위해 해당 코드를 여기 레포에 푸쉬해주실 수있으실까요?

kmu-leeky commented 4 months ago

오케이, 경환아 나이스. 데이터베이스는 mysql 을 전체적으로 사용하는거지? Aurora 는 Aurora with mysql 로?

mumat0103 commented 4 months ago

여기 레포에 모놀리딕 환경에서 메타데이터 출력하는 코드를 2024_practice로 브랜치 만들어서 푸시했습니다.

red0sena commented 4 months ago

Aurora MySQL이 아닌 그냥 MySQL을 사용합니다

kmu-leeky commented 4 months ago

high availability 로 구성할때 aurora 로 해보기로 했던것 같은데. 확인 해봄? aurora + mysql 이 나은 선택인듯. 요즘 기술로 봐서는.

red0sena commented 4 months ago

네 aurora mysql로 진행하도록 하겠습니다.

red0sena commented 4 months ago

성규님이 작업한 메타데이터표시하는 부분도 작업하였습니다. 해당 부분을 바탕으로 PPT작성 완료하도록 하겠습니다.

image
red0sena commented 4 months ago

각 계정 Alias 생성하였습니다.

image

cloudarchitect-user001... 002.. 이런 방식으로 생성됩니다.

PPT에 해당하는 부분 업데이트 하도록 하겠습니다.

추가로 Docs도 업데이트 하였습니다. https://docs.google.com/document/d/164LQEvNnKpIjHjDoDvOEimIbu60RBdAz6qUN3IbZf18/edit

red0sena commented 4 months ago

진행할 부분

red0sena commented 4 months ago

AMI 생성 부분 제외, 슬라이드 마지막에 Locust 로드 테스트 부분 추가 완료하였습니다.