GCP 도메인 못 따는구나
스타트업... 예창패 초창패는 사더라도 서버는 못 삼
SAP는 단답 문제가 없구나~(SAP인데 이것도 몰라? 하는 공격 받을 수도~)
첫 기업은 나를 택한 기업 중에 내 도메인을 키워줄 수 있는~ 그래야 나중에 대기업 이직했을 때 돈 더 받고 간다~
외국계는 내가 할 일을 찾아서 하고 보고하는 추가근무하는데 추가근무로 할당 안받는
실력 키워서 대기업 이직을 추천
3tier 4tier
(n계층)
SA/SRE
https://blog.spaceone.megazone.io/tech-blog-devops-vs-sre
SpaceONE Blog (스페이스원 공식 블로그)
Multi-Cloud Management Platform (멀티클라우드 관리 플랫폼)
blog.spaceone.megazone.io
데이터센터 - 어딧는지 알 수 없지
EC2-SSH 연결 / SSM
60% 못 썼다 T2->마이크로로 바뀌어있음
80%이상 쓰면 medium으로 올릴 수 있다 ...
카오스 엔지니어링 / 멀티 클라우드
내 서비스가 더 완벽하게 굴러갈 수 있도록 사전에 공격해서 내모는 거 = 카오스 엔지니어링(우리나라에선 넥슨만 쓰고 있음)
3일간 뭐 해봤는데 다운그레이드 해서 어떻게 더 절감할 수 있었다~ 이런 게 매력적(비싼 거 써봤다고 좋은 게 아님)
이런 서비스로 광고효율을 극대화 하겠습니다 (X) -> 서비스가 잘 되어야 광고가 되는건데...
스타트업은 IT자원 용량이 증가할 거라고 생각을 안해서 첫 번째에 삼
근데 그러면 안된다~
서버리스는 유일하게 true-ondemand로 그 그래프 일치하게 만들 수 있는
EC2 서버 - 2분? RTX 서버는 훨씬 오래 걸리잖냐
삼성은 스프링으로 하는데 중앙 레포지토리가 없대
= 너무 많은 온프레미스는 단숨에 클라우드로 전환하기 어려움
cloud migration
메가존 베스핀 - 친족경영에 걸렸대
cloocus metanetTplatform
EC2 - IaaS
https://www.bigcommerce.com/articles/ecommerce/saas-vs-paas-vs-iaas/
SaaS vs. PaaS vs. IaaS: Examples & How to Tell Them Apart
Time to move your businesses' website to the cloud? Learn more about your options: SaaS, PaaS, and IaaS.
www.bigcommerce.com
배포 - 어떤 스토리로 어떤 타르파일을 받아서 썼다던가 ... 그런 내용을 기대
PaaS - ex. Elastic Cloud
SaaS - ex. 오픈서치
ES 마켓플레이스 형식으로 쓰면 오픈서치
mongoDB 랑 비슷한 거 DocumentDB
RDS - 비쌈. 근데 EC2에 DB까는 건 저렴함
RDS는 PaaS인가?
https://k21academy.com/amazon-web-services/aws-solutions-architect/amazon-rds/
RDS 는 사용할 때 DB엔진을 고름 - 그거 자체가 내가 그 엔진을 구축할 필요 없이 구축할 플랫폼을 쓰겠다는 이야기
seoul은 aws가 제공하는 5대 리전에 속함
클라우드는 우리 눈에 보이지 않는 저장공간이지 존재하지 않는 그런 무한의 공간이 아님 그래서 당연히 리전 멀면 좀 더 느리지
서울에는 데이터센터가 3개 나눠져서 가용영역 3개 있는...(최소 거리 규정이 있대)
if C에서 데이터가 날라가면 B에서 복구할 수 있도록 복제는 되어있음 그런 거
왜 FE/BE/jsp 나눌까? 분리할까? - 분리하는 가장 큰 이유
1. 로그 때문, 로그와 분산을 위해
-> jsp 개발하면 에러가 FE 때문인지 컨트롤러 때문인지 몰라서 분리
2. FE 트래픽이랑 BE 트래픽이 문제인지 구분하려고
-> API가 문젠지, 인바운더가 문젠지
비밀번호 그대로 DB에 넣으면 안됨 - 암호화 hashKey가져가야되고...
CLF? 문제
클라우드 - 최소권한의 원칙
소스코드랑 접근하는 법을 안알려주고
S3엔드포인트 이거 / 계정 정보 뭐/깃헙 뭐 이렇게 인수인계함
EC2 부분 중 일부만(접근권한 등) 준다
IAM
그룹보다 개인이 최우선시 됨
권한 검증은 개인을 먼저 탐구를 함
그룹에서는 접근 권한만 있고 그 개인한테만 생성권한 준다고 해도 EC2 생성 가능하다
-
lambda - paas https://aws.amazon.com/ko/lambda/
클라우드 컴퓨팅 PaaS | Amazon Web Services
닫기 Amazon Simple Storage Service(Amazon S3)를 사용하여 업로드 후에 실시간으로 AWS Lambda 데이터 처리를 트리거하거나 기존 Amazon EFS 파일 시스템에 연결하여 대규모 파일 처리를 위한 대규모 병렬 공유
aws.amazon.com
-
AWS amplify
자동으로 깃헙에 빌드하는 , 빌드배포 관리하는 (beanstalk이랑 같은 기능)
-
폐쇄망/내부망
그 사이트가 인터넷이 되는 경우는 드뭄
모든 코드는 오프라인에서 돌아감
운영체제를 설치하고 싶어도 쉽지 않아서 도커가 떠오르느 샛별이 된거임
거기에 서버리스 개념이 새롭게 떠오름
T2 nano 5분 / 람다 똑같이 0.01초
EC2가 잘못되면 만든 본인 책임
서버리스는 실제 서버는 존재하는데 내가 관리할 게 하나도 없음
람다가 서버 에러나면 손해배상 받을 수 있음
람다는 완전 AWS 관리형이기 때문에
온프레미스는 최상위 사용량은 정해져있다
EC2는 항상 조금의 간극은 생길 수밖에 없다
서버리스는 거의 100% 일치형으로 쓸 수 있다
스프링같은 코드를 구현하기가 어려움 - 의존성 하나하나 올리기가 힘들어서
MSA 에서 나온 개념인데
MSA - micro service architecture 서비스를 하나하나 쪼개겠다
의존성을 줄이고자 쪼개는 거임
MSA는 쪼개 놨기 때문에 하나만 안되더라도 나머지가 돌아가서 전혀 상관없음
장점 - 장애내구성과 확장성에 대한 고민 불필요 / 원하는 거 가져다 이 함수 저 함수 쓰는 거니까 - 이 함수 안된다고 저 함수 안되는 거 아니니까
람다 값이 저렴한데, 비용이 나왔다 - 1. 페이지가 잘 될 경우 2. 계속 호출되도록 잘못 구성되어있다거나
RDS -서버리스 아님/트래픽에 따라 금액이 달라짐(켜져있는만큼 돈이 나감)
DynamoDB -서버리스 DB/부를 때만 금액이 나감
AWS Cognito -사용자 로그인 인증 서비스 / 로그인 인증이랑 고객 정보 관리 해줌
S3도 서버리스, 객체 스토리지 서비스
Route 53 도 서버리스, 도메인 연결하는 거
API Gateway - 특정 트리거를 걸어야지만/
EC2 - 실행 중, 뜨기 전까지도 종료 중일 때 중지 중일 때도 금액이 나옴
AWS - 서버리스 제외하고 시간 단위로 돈을 받음 (1시간단위라서 11시~12:01분이어도 2시간 비용 받음)
RDS랑 연결하는 일련의 과정들, 하나의 웹서비스의 공통 테이블
DynamoDB는 여러 서비스의 공통테이블
어떤 서비스에서도 테이블 접근만 하면 됨
-
핸즈온 실습
- RDS 생성 /cloud9 생성
- 파일 다운받기
git clone https://github.com/glen15/aws_foundation
- 파일 이동
cd aws_foundation/Step2_3tier/Step3_server_with_ai/
- npm install 하기
- .env파일은 기본적으로 안보임- 그거 수정하기↓
이거 지워도 안뜨는데 근데 동시에 하면 늦어서 안되는 경우 있대
그러면~
.env new file로 만들면 숨겨져 있던 게 뜸
그리고 그 env는 지움
- 엔드포인트 복사해서 Host에 붙여넣기
- 이름 바꾸기
- 서버파일 경로에서 서버 파일 실행
sudo node Step4_server.js
timedout 에러 -> vpc 보안 그룹 안 뚫려 있어서? 그런 거래 그래서 뚫고 성공하면
연결 완료~
-ec2 인바운드 규칙 수정
-client 파일에서 .env 파일에 퍼블릭 ip 주소로 수정하기
이름도 .env로 바꾸기
- npm install / npm run build
(왜 S3 씀? - 정적 웹 호스팅 하려고 )
- s3 버킷 옵션 맞춰서 만들고
arn 복사하고
권한 수정
- 버킷 객체에 파일 업로드
이렇게 build 폴더를 한 번에 업로드 하면
404에러 뜸!
안됨
객체 업로드 할 때
이렇게 업로드 해야 함
그 다음에 버킷에서 정적 웹 사이트 호스팅 페이지로 들어가면
잘 뜬다~~
중간 점검 < 신경 써야 할 부분 >
- Port 보안그룹 문제
- S3 policy 만들 때 arn 붙여넣고 뒤에 /* 잘 붙이기
로그 확인도 가능
람다도 장표 따라서 잘 만들어주기
- 람다 함수 생성
(람다 함수 생성할 때 시간 오래 걸리는 이유?
-> 서버생성하는 시간 걸려서
람다 최대 15분/ 최소 3초
open API를 환경변수 값으로 넣으려고 함
람다 환경변수로 넣어주는 이유? 보안 때문에 - 그냥 DB에 넣으면 안된다~ 암호화 해야된다~ 그 말이 그말
원문 그대로 노출되는 경우 만료가 됨 )
- index.zip 파일 에서 업로드
- API gateway 생성
- 트리거 추가
하면 나오는 API endpoint 복사해놓기 -> .env 파일에 API_GATEWAY_URL에 값 넣어주기
환경변수 키에서 DB_HOST 값은 DB 엔드포인트 값 넣어주기
cloud9에서 ^C 한 다음에 명령어 다시 실행하고
사이트 접속하고 실행하면 AI 추천 학습 내용 확인 잘 됨(새로고침 해야 가능)
로그에도 잘 기록됨
Front 서버 / Back 서버 / API 람다 서버 따로 있었음
'프로젝트 > AWS winter camp - ELK&AWS 프로젝트' 카테고리의 다른 글
Elasticsearch, django - rest_framework로 검색엔진 만들기 - 2차 트러블슈팅(미해결) (2) | 2024.02.01 |
---|---|
Elasticsearch, docker, django-elastic_dsl, rest_framework로 n-gram 검색엔진 만들기 - 1차 트러블슈팅 (1) | 2024.01.29 |
[AWS Cloud winter camp] 1/2 - 4일차 (4) | 2024.01.02 |
[AWS Cloud Winter Camp] 12/29 - 3일차 (1) | 2023.12.29 |
[AWS Cloud Winter Camp] 12/28 - 2일차 (2) | 2023.12.28 |