1\. 클라우드 서비스의 전달 방식이 전통적인 소프트웨어 전달 방식에 비해 갖는 단점으로는 무엇이 있을까요?서버가 공격 당하면 개인정보가 유출될 수 있다.재해에 서버의 데이터가 손상되면, 미리 백업하지 않은 정보는 되살리지 못하는 경우도 있다.사용자가 원하는 애플리케이
https://www.neighbor.tk/login 에 접속한다고 가정위의 URL에서 www.neighbor.tk 부분인 도메인 이름을 IP주소로 변경인터넷 서비스에서 DNS 서비스를 제공웹서비스가 하는 일이 아님(서버에서 만드는 시스템이 아니다)DNS 서버
안정성: 리눅스는 안정성이 높은 운영체제입니다. 이는 서버에서 핵심적인 역할을 수행하는 데이터와 애플리케이션을 보호할 수 있습니다. 리눅스는 서버 장애가 발생할 경우 자동으로 복구되는 기능을 제공합니다.보안: 리눅스는 보안에 매우 강한 운영체제입니다. 이는 서버에서 처
표준 스트림은 프로그램과 외부 환경 사이에서 데이터를 전송하는 통로입니다. 이 통로는 주로 키보드, 모니터, 파일 등을 통해 데이터를 입력받거나 출력합니다.stdin, stdout, stderr는 표준 스트림 중에서 가장 많이 사용되는 세 가지입니다.stdin : 표준
시스템 관리자는 컴퓨터 시스템과 네트워크를 유지보수하고 관리하는 업무를 맡습니다. 이는 하드웨어, 소프트웨어, 네트워크 및 데이터 보안에 대한 책임이 있습니다.시스템 및 네트워크 유지보수 : 시스템 관리자는 서버, 컴퓨터, 스토리지, 네트워크 및 기타 하드웨어와 소프트
리눅스 데몬은 백그라운드에서 실행되는 프로그램으로, 시스템 시작시 자동으로 실행되며 특정한 서비스를 제공합니다. 다음은 몇 가지 리눅스 데몬의 예시입니다.Apache HTTP Server(httpd) - 웹 서버를 제공하는 데몬으로, HTTP 요청을 처리하여 웹 페이지
실행중인 프로그램으로, 운영체제로부터 자원을 할당받아 실행되는 단위입니다. 각 프로세스는 독립적으로 메모리 영역을 할당받아 실행되며, 서로 다른 프로세스 간에는 메모리 공유가 불가능합니다.프로세스 내에서 실행되는 실행 단위입니다. 프로세스 내에서 동작하는 스레드들은
https://80000coding.oopy.io/7c84ede6-2741-4491-8fa4-d6f216944c13\*\*(1) 변수 선언하기\*\*쉘스크립트에서도 변수를 사용할 수 있습니다.변수명=값 으로 변수를 선언하고, 사용할때는 앞에 $를 붙여줍니다.중
uname 명령어는 현재 운영체제의 정보를 출력하는 명령어입니다.예시결과topyamlCopy codetop - 10:29:20 up 15 days, 19:31, 2 users, load average: 0.06, 0.08, 0.08Tasks: 259 total,
https://www.cloudflare.com/ko-kr/learning/dns/what-is-dns/사용자가 웹 브라우저에 'example.com'을 입력하면, 쿼리가 인터넷으로 이동하고 DNS 재귀 확인자가 이를 수신합니다.이어서 확인자가 DNS 루트 이
https://hansungmoon.github.io/HTTP/URL과 URI는 모두 인터넷에서 리소스를 식별하는 데 사용되는 용어입니다. 그러나 두 용어는 약간 다른 의미를 가지고 있습니다.URI는 "Uniform Resource Identifier"의 약자
https://hansungmoon.github.io/HTTP6/HTTP 헤더는 HTTP 요청 및 응답과 함께 전송되는 추가 정보입니다. 이러한 헤더는 콘텐츠 유형, 인코딩, 캐싱 지시문, 인증 정보 등과 같이 전송되는 데이터에 대한 중요한 정보를 제공합니다.
에디터를 나노로 설정SSH 키 생성코드를 띄워 복사합니다. git홈페이지의 setting에 -> SSH and GPG keys -> 나타난 화면에서 SSH Keys 옆의 초록색 버튼 New SSH Key 를 클릭합니다. -> 복사한 SSH키값을 넣고 저장한다GitHub
Git에서 branch는 개발자가 프로젝트의 다른 부분에서 독립적으로 작업할 수 있도록 하는 별도의 개발 라인입니다. branch를 통해 개발자는 일반적으로 마스터branch인 기본 코드베이스에 영향을 주지 않고 새로운 기능이나 버그 수정을 실험할 수 있습니다. 새로운
node.js에서 JavaScript를 실행시키기 위해서는, 당연히 node.js를 설치해야 합니다. 별도의 프로그램으로 설치할 수도 있지만, 패키지 매니저처럼 node.js의 버전을 관리할 수 있도록 nvm(Node Version Manager)으로 node.js를
일반적으로 잘 사용하지 않음검색 엔진에서 주로 사용요청에서 사용현재 요청된 페이지의 이전 웹 페이지 주소A → B로 이동하는 경우 B를 요청할 때 Referer: A 를 포함해서 요청Referer 를 사용하면 유입경로 수집 가능요청에서 사용referer는 단어 refe
Request URL = 클라이언트가 요청하는 리소스의 위치를 나타냅니다.Request Method = 클라이언트가 서버에게 요청을 보내는 방법을 나타냅니다. GET, POST, PUT, DELETE 등이 있습니다.Status code = 서버가 클라이언트에게 응답
Swagger는 RESTful API를 설계, 문서화 및 사용하는 데 도움을 주는 오픈 소스 소프트웨어 프레임워크입니다. 개발자는 OpenAPI 사양(이전에는 Swagger 사양이라 불렸음)을 사용하여 기계가 읽을 수 있는 형식으로 API를 설명할 수 있습니다. Ope
HTTPS는 Hyper Text Transfer Protocol Secure Socket layer 의 약자입니다. HTTP over SSL(TLS), HTTP over Secure라고 부르기도 합니다.HTTPS는 HTTP 요청을 SSL 혹은 TLS라는 알고리즘을 이용
서버라는 용어는 기본적으로 어떤 컴퓨터의 역할을 의미합니다. 어떤 컴퓨터 한 대가 요청을 이해하고, 이를 처리하여 요청에 맞는 내용을 응답으로 전달(서빙)하는 역할을 한다고 해서 serve + er, 서버라는 명칭을 붙였습니다.서버는 크게 하드웨어와 소프트웨어, 이렇게
출처 : https://inpa.tistory.com/entry/WEB-%F0%9F%93%9A-CORS-%F0%9F%92%AF-%EC%A0%95%EB%A6%AC-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95-%F0%9F%91%8FCORS는
정적 및 동적 웹사이트는 구축, 업데이트 및 사용자에게 제공되는 방식이 다른 두 가지 유형의 웹사이트입니다.정적 웹 사이트는 HTML 및 CSS만 사용하여 구축되며 페이지의 콘텐츠는 웹 사이트 소유자가 수동으로 업데이트할 때까지 동일하게 유지됩니다. 정적 웹 사이트의
데이터베이스는 크게 관계형 데이터베이스와 비관계형 데이터베이스로 구분합니다. 관계형 데이터베이스는 SQL을 기반으로 하고, 비관계형 데이터베이스는 NoSQL로 데이터를 다룹니다. SQL과 NoSQL은 만들어진 방식, 저장하는 정보의 종류, 그리고 저장하는 방법 등에 차
낮은 검색 성능 문제를 해결하기 위한 방법 중 인덱싱에 대해 학습합니다.데이터베이스의 핵심적인 기능을 말하자면 다음 두가지를 이야기 할 수 있습니다. 첫번째는 데이터를 저장하는 것이고, 두번째는 요청에 왔을 때 저장되어있는 데이터 중에 요청에 맞는 데이터를 찾아서 제공
사전적 의미의 Batch는 ‘일괄’, ‘묶음’을 뜻합니다. 그래서 데이터 배치작업을 데이터 일괄처리작업이라고 칭하기도 합니다. 이름에서 알 수 있듯이 유입되는 데이터를 특정량 또는 특정기간 모아서 한번에 처리한다는 의미입니다. 우리가 처리해야 할 데이터가 늘어날 수록
출처: https://mangkyu.tistory.com/110 제1 정규화 제1 정규화란 테이블의 컬럼이 원자값(Atomic Value, 하나의 값)을 갖도록 테이블을 분해하는 것이다. 예를 들어 아래와 같은 고객 취미 테이블이 존재한다고 하자. 위의 테이블
sample.log여기엔 어떤 정보들이 담겨있나요? 웹 서버 액세스 로그의 로그 항목으로, 서버에 대한 요청을 보여줍니다. 자바스크립트 언어를 이용해 한 줄로부터 출발지 IP, HTTP 메소드, 응답 코드, 주소, 접속 시간을 추출해 낼 수 있나요?자바스크립트로 추
데이터 파이프라인이란 다양한 데이터 소스로부터 원시 데이터를 수집하여 분석을 위해 데이터 웨어하우스와 같은 별도의 데이터 저장소로 이전하는 과정을 의미합니다.데이터 파이프라인을 만드는 이유는, 다양한 경로로부터 수집되는 데이터를 웨어하우스에 적재한 후, 적재한 데이터를
구조화된 데이터는 하나의 테이블로 표현할 수 있습니다. 사전에 정의된 테이블을 relation 이라고도 부르기 때문에, 테이블을 사용하는 데이터베이스를 관계형 데이터베이스(Relational database)라고 합니다.다음은 관계형 데이터베이스를 학습하면서, 반드시
Achievement GoalsAPI 문서를 작성할 수 있습니다.Fastify를 이용해 DB와 통신하는 서버를 만들 수 있습니다.PostgreSQL을 이용하여 DB를 구성할 수 있습니다.GitHub을 활용하여 팀원들과 협업합니다.DevOps 부트캠프가 진행한 지 벌써
과거에는 통신용 규약이 표준화 되지 않았고 각 벤더에서 별도로 개발했기 때문에 호환되지 않는 시스템이나 애플리케이션이 많았으며 서로 통신하기에 어려움이 있었습니다. 이를 ARPANET에서 TCP/IP 4계층으로 정리하고, OSI 7계층으로 세분화 되면서 네트워크의 동작
지정한 IP 주소에 데이터 전달패킷이라는 통신 단위로 데이터 전달IP 패킷에서 패킷은 pack과 bucket이 합쳐진 단어로 소포로 비유할 수 있습니다. IP 패킷은 이를 데이터 통신에 적용한 것이라고 보면 됩니다.IP 패킷은 우체국 송장처럼 전송 데이터를 무사히 전송
네트워크 프로토콜 계층은 다음과 같이 OSI 7계층과 TCP/IP 4 계층으로 나눌 수 있습니다. IP 프로토콜 보다 더 높은 계층에 TCP 프로토콜이 존재하기 때문에 앞서 다룬 IP 프로토콜의 한계를 보완할 수 있습니다. TCP/IP 4 계층은 OSI 7 계층보다 먼
소켓(Socket)을 사전에서 찾아보면, 전구 따위를 끼워 넣어 전선과 접속되게 하는 기구를 일컫습니다. 우리가 소켓이라는 단어를 들으면, 흔히 전구 소켓을 떠올립니다. 이와 같이 네트워트에서 사용되는 소켓의 의미도 마찬가지로 프로그램이 네트워크에서 데이터를 송수신 할
네트워킹에서 소켓과 포트는 모두 두 장치 간의 통신을 설정하는 데 사용되지만 서로 다른 기능을 수행합니다.소켓은 네트워크에서 실행되는 두 프로그램 간의 양방향 통신 링크의 끝점입니다. IP 주소와 포트 번호의 고유한 조합으로 식별됩니다. 소켓은 응용 프로그램에 의해 생
nginx 프록시캐시 설정을 하고 nginx서버를 다시 시작을 하자 밑의 오류가 발생하였다.해당 경로에 폴더가 없다는 오류가 나와서 nginx config파일을 열어서 확인하니 잘못된 경로로 설정되어있었다.nginx caching 공식문서https://docs
프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다.프록시(Proxy)란 '대리' 라는 의미를 갖고 있으며, 서버와 서버사이의 중계기 역할을 한다고 보면 된다.프록시를 쓰는 이유
• 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다.• 인터넷 네트워크는 매우 느리고 비싸다.• 브라우저 로딩 속도가 느리다.• 느린 사용자 경험• 캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다.• 비싼 네트워크 사용량을
프록시란, 클라이언트와 서버 사이에 대리로 통신을 수행하는 것을 가리켜 ‘프록시(Proxy)’, 그 중계 기능을 하는 서버를 프록시 서버라고 합니다. 클라이언트, 혹은 반대로는 서버가 다른 네트워크에 간접적으로 접속할 수 있기 때문에, 보안, 캐싱을 통한 성능, 트래픽
CDN(Content Delivery Network or Content Distribution Network, 콘텐츠 전송 네트워크) 은 콘텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장하여 제공하는 시스템이다.인터넷 서비스 제공자(ISP,I
Apache는 Apache Software Foundation에서 만든 웹 서버 프로그램이다. 거의 모든 OS에서 실행되고, 다른 유명한 소프트웨어 프로젝트와의 문서화가 잘 되어있고 통합 지원 등의 이점이 있습니다.Apache는 클라이언트 요청당 하나의 스레드가 처리하
YAML은 구조를 가진 데이터 표현 양식의 한 종류입니다. 데이터는 다양한 형태로 표현될 수 있는데 일반적으로 사용하는 JSON이나 XML도 표현 양식의 한 종류입니다.이렇게 데이터를 형식에 맞춰 사용하는 이유는 데이터를 전달 주고 받을 때 서로 쉽게 이해하게 하기 위
JSON은 JavaScript Object Notation의 줄임말로, 데이터 교환을 위해 만들어진 객체 형태의 포맷입니다. 네트워크를 통해, 어떤 객체 내용을 다른 프로그램에게 전송한다고 가정하겠습니다. 이 객체 내용을 일종의 메신저 혹은 채팅 프로그램에서 쓰는 하나
Apache HTTP Server (httpd:2.4)를 base image로 함컨테이너 내 80으로 접속하면 index.html이 표시 됨Node.js image (node:16-alpine)를 base image로 함컨테이너 내 80으로 접속하면 hello from
클라우드 컴퓨팅에는 세 가지 모델이 있으며 비즈니스 니즈, 통제성, 관리성 수준에 따라 그 중 한 가지를 선택하거나 세 가지 모두를 선택할 수 있습니다. 클라우드 컴퓨팅의 3대 모델은 서비스로서의 인프라(IaaS), 서비스로서의 플랫폼(PaaS), 서비스로서의 소프트웨
아래 표에 적힌 서비스는 코스를 진행하면서 만나게 될 AWS의 서비스입니다. 서비스들이 어느 항목에 속하는지 살펴보고, 어떤 대분류를 가지는지 살펴보겠습니다.컴퓨트 서비스에는 클라우드에서 확장성 높은 컴퓨팅 파워를 제공하기 위한 다양한 제품과 서비스가 포함되어 있습니다
EC2란 아마존 웹 서비스에서 제공하는 클라우드 컴퓨팅 서비스입니다.클라우드 컴퓨팅은 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공하는 서비스입니다.정리하면 아마존에서 가상의 컴퓨터를 한 대 빌리는 것과 같습니다.AWS에서 제공하는
가상 컴퓨팅 환경으로, 하나의 가상 컴퓨터(서버)라고 생각하면 됩니다. 인스턴스에서 실행하려는 애플리케이션 또는 소프트웨어에 필요한 메모리 양과 컴퓨팅 파워를 기준으로 인스턴스 유형을 선택합니다.클라우드에서 실행되는 서버에 대한 모든 소프트웨어 환경 설정 정보를 포함한
1. 블록 스토리지 블록 스토리지는 데이터를 일정한 크기의 블록으로 저장하는 방식입니다. 블록은 파일 보다는 작은 단위로서 조각으로 나누어 저장 나누어진 각각의 블록은 고유한 주소를 가지고 있습니다. 이 주소를 통하여 재구성하여 데이터를 불러올 수 있습니다. SA
데이터베이스 관리 시스템, 즉 DBMS는 데이터 저장, 조직화, 인출과 관련된 제반 업무를 관장하는 소프트웨어입니다. 그 중 관계형 데이터베이스에서 정보는 열과 행으로 이뤄진 테이블에 저장되고, 테이블에 저장된 데이터는 공통 키 또는 공통 컨셉에 따라 서로 관계를 유지
VPN은 한국어로 “가상사설망"이라합니다. 앞에 “가상"이라는 단어에서 알 수 있듯 실제 사설망이 아닌 가상의 사설망입니다. 만약 위 그림과같이 회사의 네트워크가 구성되어있고 보안상의 이유로 직원간 네트워크를 분리하고싶다면 기존 인터넷선 선공사도 다시해야하고 건물의 내
네트워크 ACL(액세스 제어 목록)은 1개 이상의 서브넷 내부와 외부의 트래픽을 제어하기 위한 방확벽 역할을 하는 VPC를 위한 선택적 보안 계층입니다보안 그룹처럼 방화벽 역할을 담당서브넷 단위인스턴스 단위로 제어 불가능다양한 서브넷에 연동 가능 (1:N)포트 및 아이
aws 배포를 공부해보기 위해 파일을 받아서 npm start나 npm build를 해봤으나 해당 오류가 발생 하였다.해결 방법 찾아보았을 때 node버전이 높아서 나는 문제라 16버전으로 내리면 된다라는 사실을 알았다.node 버전을 낮추려다가 캐시삭제와 n플러그인
aws EC2로 인스턴스를 열고 해당 인스턴스에서 npm start를 하였으나 해당 오류가 발생하였다.해석해보면 80번 포트에 대한 접근권한이 없다는 의미이다.검색을 통해 알아본 에러의 원인은 리눅스에서 별도로 1024 이상의 포트를 쓸경우에는 root권한이 필요하지
구매한 도메인을 기준으로 인증서를 발급 받습니다.인증서는 프론트엔드 Cloudfront 사용 리전인 us-east-1과 백엔드 Load Balancer 사용리전인 ap-northeast-2에서 발급 받아야 합니다.발급 시, DNS 검증 가이드로 레퍼런스를 참고하세요.이
S3 를 통해 Front-end 사이트를 얻어오고, EC2 와 RDS를 통해 백엔드, DB 서버를 만들어 보았다.프론트 초기 세팅리액트를 빌드한다.S3 에 버킷을 생성빌드 결과물을 버킷에 넣는다.액세스 전부 허용, 정적 호스팅을 허용정책을 설정하여 객체에 GET 이
클라우드 컴퓨팅의 대표적인 장점으로는 필요에 따라 서비스를 빠르게 확장하거나 축소할 수 있는 유연성을 들 수 있다.그중, 오토스케일링(Auto Scaling)은 클라우드의 유연성을 돋보이게 하는 핵심기술로 CPU, 메모리, 디스크, 네트워크 트래픽과 같은 시스템 자원들
ELB(Elastic Load Balancer)란 애플리케이션 트래픽을 여러 대상에 자동으로 분산시켜 안정적인 AWS서버 환경을 운용하는데에 도움을 주는 서비스다. EC2뿐만 아니라 컨테이너(ECS), AWS Lambda 등으로 다양한 서비스와 연계하여 부하를 분배할수
클라우드프론트는 개발자 친화적 환경에서 짧은 지연 시간과 빠른 전송 속도로 데이터, 동영상, 애플리케이션 및 API를 전세계 고객에게 안전하게 전송하는 고속 콘텐츠 전송 네트워크(CDN) 서비스이다.CloudFront는 CDN 서비스와 이외에도 기본 보안 기능(Anti
Amazon Route 53 은 가용성과 확장성이 뛰어난 클라우드 Domain Name System (DNS) 웹 서비스이다.Route 53는 도메인 구입부터 네임서버 등록까지 dns에 필요한 모든 기능이 있고, aws 답게 추가로 모니터링 기능까지 제공한다. 다른 도
IAM은 사용자의 접근 권한을 관리 하는 서비스 이다.IAM을 통해서 회사 내 AWS를 사용하는 사람들에게 부서 마달 사용자별로 AWS에서 제공하는 서비스들, 서비스에 생성된 자원 등에 대해 세분된 권한을 지정할 수 있다.예를 들어 개발부서 그룹은 EC2와 S3 서비스
Github Action은 github에서 공식적으로 제공하는 CI/CD 툴, 다시 말해 개발의 work flow를 자동화할 수 있게 도와주는 툴이다.CI는 Continuous Integration(지속적 통합), CD는 Continuous Delivery(지속적 전달
로드 밸런서의 대상그룹을 생성해준다.include as pending below를 하지않고 다음으로 넘어간다.Application Load Balancer를 생성한다.로드밸런서 세팅은 다음과같이 한다.Listeners and routing에서 target group은
한 번의 클릭 혹은 명령어 입력을 통해 전체 배포 과정을 자동으로 진행하는 것이유:수동적이고 반복적인 배포 과정을 자동화함으로써 시간이 절약휴먼 에러(Human Error)를 방지배포에서 파이프라인(Pipeline) : 용어는 소스 코드의 관리부터 실제 서비스로의 배포
검색 창에 EC2를 검색하여 들어간 후 EC2를 생성 작업 -> 보안 -> IAM 역할 수정 클릭 IAM 역할 수정하는 이유: 인스턴스가 다른 AWS 서비스와 통신할 때, 접근 권한을 주기 위함 새 IAM 역할 생성 클릭 역할 만들기 클릭 > AWS
AWS CodeBuild 서비스를 통해 환경 변수를 전달할 수 있어야 합니다.AWS Parameter Store 서비스와 AWS CLI를 통해 환경 변수를 전달할 수 있어야 합니다.RDS 인스턴스가 생성되어 있어야 합니다.서버 환경 변수 설정 실습이 성공적으로 마무리되
앞서 우리는 public 서브넷과 private 서브넷을 나눠 구축하였다.public 서브넷은 인터넷과 연결하여 외부에서 접근이 가능한 영역을 말한다. 따라서 public 서브넷과 인터넷 게이트웨이를 연결시킴으로서 외부 인터넷과 통신이 되게 하였다.private 서브넷
VPC 엔드포인트는 VPC 내 Resource들이 VPC 외부의 서비스(S3, Dynamo DB, Cloudwatch) 등에 접근할 때 Internet Gateway, NAT Gateway 등의 외부 인터넷 전송 서비스를 타지 않고 내부 네트워크를 통해 접근할 수 있도
전체적인 VPC 모델 지도이다.생소한 용어들이 많지만 차근차근 배워보면 그렇게 복잡하지 않다.위의 그림에서 보면 알 수 있듯이 AWS Cloud 내에는 IDC의 집합인 'Region'이 존재하며 Region은 2개의 'Availability Zone(AZ)'으로 이루어
ECR을 사용중 푸시명령보기를 눌러 명령을 실행하던중 에러가 발생했다.An error occurred (UnrecognizedClientException) when calling the GetAuthorizationToken operation: The security
mongoDB 이미지 ECS 배포 mongoDB 이미지 ECR에 업로드 ECR private repository생성 생성 옵션 생성한 리포지토리에 들어가서 푸시명령 확인하기 ![](https://velog.velcdn.com/images/arnold_99/post
나는 프로젝트폴더 최상위 폴더에 aws폴더를 만들어서 넣어줬다.프로젝트 폴더 최상위에 /github/workflows/deploy-ecr.yml 파일을 만들어준다.env에 설정된 값은 다음과 같다.AWS_REGION: ap-northeast-2사용하고 있는 aws re
우선 yml에서 사용할 수 있도록, AWS에 접근이 가능한 AWS-ACCESS-KEY와 SECRET-KEY를 Github에 설정하여야 합니다.AWS_ACCESS_KEY_ID : IAM -> 보안자격증명 에있는 access_key_idAWS_SECRET_ACCESS_KE
레퍼런스서버리스(Serverless)는 직역하면 "서버가 없다"라는 뜻이 된다.하지만 정말로 서버가 없는 것을 뜻하는게 아니다. 서비스를 하는데 있어 어찌되었든 저장소는 필요하고 서버는 필요하기 때문이다.따라서 정확히 말하자면, 서버리스는 서버가 없는 백엔드 라는 뜻이
https://microservices.io/다음 특징을 갖는 서비스들의 조합으로 이뤄진 설계유지보수에 유리하고, 테스트 가능해야 함느슨하게 결합되어야 함독립적으로 배포 가능함비즈니스 역량을 중심으로 구성해야 함작은 팀에 의해 소유됨컴포넌트: 독립적으로 대체하
마이크로서비스와 서버리스는 현대적이고 확장 가능하며 효율적인 애플리케이션을 구축하는 데 사용할 수 있는 아키텍처 패턴입니다. 상호 배타적이지는 않지만 소프트웨어 설계 및 배포에 대한 접근 방식이 다릅니다.마이크로서비스는 대규모 애플리케이션을 독립적으로 개발, 배포 및
분산 데이터베이스는 방대한 데이터를 다루기에 유용한 시스템이다. 분산 데이터베이스는 수평 확장할 수 있기 때문에 트래픽이 증가하더라도 낮은 지연 시간을 유지할 수 있고, 일부 노드 장애에 적절히 대응할 수 있다. NoSQL 데이터베이스는 대표적인 분산 데이터베이스이며,
사전적의미는 '영역', '집합'입니다.DDD에서 말하는 Domain은 비즈니스 Domain입니다.비즈니스 Domain은 유사한 업무의 집합입니다.(MPRS-마케팅,구매,연구,영업)어플리케이션은 비즈니스 Domain별로 나누어 설계 및 개발 될 수 있습니다.비즈니스 Do
요청을 보내는 즉시 수신자로부터 응답이 오길 기대하는 "동기적 방법"클라이언트-서버 아키텍처의 REST(HTTP)가 대표적요청을 일단 보내놓고 수신자가 받을 때까지 보관했다가 처리하는 "비동기적 방법"수신자가 받기 전에 누군가는 메시지를 보관해놓아야 한다 → 메시지 브
CQRS는 Command Query Responsibility Segregation(명령과 조회의 책임 분리)의 약자로 이름처럼 명령을 처리하는 책임과 조회를 처리하는 책임을 분리하는 것이 CQRS의 핵심입니다.CQRS는 초기 CQS에서 시작되어 확장되었습니다.CQS는
AWS 람다(Lambda)는 서버리스 컴퓨팅 FaaS 상품이다.서버리스란 개발자가 서버를 관리할 필요 없이 애플리케이션을 빌드하고 실행할 수 있도록 하는 클라우드 네이티브 개발 모델이다.즉, 클라우드 제공업체가 서버 인프라에 대한 프로비저닝, 유지 관리 등을 대신 처리
레퍼런스 API Gateway 서비스 API Gateway란 규모에 상관없이 API 생성, 유지 관리, 모니터링과 보호를 할 수 있게 해주는 서비스이다. 말 그대로 Client에서 server로 통신할 때 사용하는 많은 api들의 대문(게이트웨이)과 같은 역할을
이전 실습 의 연장선입니다.API 게이트웨이에 제한을 걸어서 권한이 있는 사용자만 접근이 가능하도록 설정할 수 있습니다.람다의 게이트웨이에 접속한다.https://velog.velcdn.com/images/sororiri/post/e1d05e64-82d7-4e
참고 자료https://serverlessland.com/patterns/lambda-dynamodbhttps://ihp001.tistory.com/216https://velog.velcdn.com/images/sororiri/post/938
https://velog.velcdn.com/images/sororiri/post/29d30afd-d47b-4a28-a752-9b0add91ec7a/image.png저장된 원본 이미지를 썸네일용 이미지로 변환하여 새로운 버킷에 저장하기총 두개의 버킷을 생성한다
여러분이 다음과 같은 인프라를 구성해야 한다고 가정해 봅시다. 여러분은 이 그림에서 요구하는 각각의 리소스를 만들고, 연결하는 과정을 AWS 콘솔을 통해 진행할 것입니다. 그런데 AWS 콘솔을 이용해 인프라 구성을 진행하는 것이 항상 좋은 일일까요?https:
https://velog.velcdn.com/images/sororiri/post/4b5d582d-3421-4482-9dfb-dab10b83b49d/image.png이전 실습 (썸네일로 변환하기) 의 연장선입니다.만들었던 이전 실습(썸네일로 변환하기) 에 다음
https://velog.velcdn.com/images/junnn0021/post/bc79a9df-bdde-401b-aeb9-75b4a134bff3/image.pngmain.tf 파일을 만들고 terraform에서 요구되는 사항을 작성했다.vpc.tf 파일을
쿠버네티스 아키텍처는 이렇게 생겼습니다.클러스터는 최소 하나 이상의 제어판(Control Plane) 컴포넌트와, 이것과 연결된 몇개의 워커 노드로 구성되어 있습니다.워커 노드는 kubelet이라는 프로세스가 돌아가고 있는데, 이 kublet은 다른 노드와 서로 통신하
Kubernetes 배포에는 블루/그린 또는 카나리아 배포에 대한 기본 제공 지원이 없지만 다양한 기술과 Kubernetes 기능을 사용하여 이러한 배포 전략을 달성할 수 있습니다. 다음은 Kubernetes에서 블루/그린 및 카나리아 배포를 구현하는 몇 가지 접근 방
이 단계에서는 파드를 수동으로 만들어볼 것입니다.하지만 보통 파드는 하나하나 만들지 않으므로, "이렇게 만들 수도 있다"라는 것을 간단하게 배우고 넘어가는 정도의 의미를 갖습니다.sebcontents/cozserver:1.0 이미지를 바탕으로 파드를 만들어봅시다.🏁
앞서 언급했던 것처럼, 파드는 일시적이며, 언제나 삭제될 수 있음을 감안해야 합니다. 따라서, 파드 그 자체는 Stateless 합니다. 이러한 파드의 교체와 배치를 담당하는 것이 디플로이먼트입니다. 디플로이먼트는 레플리카셋을 통해 파드를 scale out하며, 이때
Kubernetes에서 활동성 프로브를 사용하여 컨테이너 내부의 애플리케이션이 제대로 실행되고 있는지 확인할 수 있습니다. Liveness 프로브는 주기적으로 애플리케이션의 상태를 확인하고 실패하면 Kubernetes가 컨테이너를 자동으로 다시 시작할 수 있습니다.HT
AWS 클라우드 환경을 기반으로 하는 느슨하게 연결된 (loosely coupled) 어플리케이션 아키텍처에 대한 이해Serverless 를 이용한 메시지 대기열 활용 이해 및 구현요구사항에 따른 어플리케이션과 인프라 구현문제사항 해결을 위한 추가 리소스 생성 ->
AWS 클라우드 환경을 기반으로 하는 느슨하게 연결된 (loosely coupled) 어플리케이션 아키텍처에 대한 이해메시지 큐의 Pub/Sub 패턴과 Producer/Consumer 패턴의 차이를 이해한다DB와 서버와의 통신이 가능하도록 연결한다특정 상황에서 SNS
AWS 클라우드 환경을 기반으로 하는 느슨하게 연결된 (loosely coupled) 어플리케이션 아키텍처에 대한 이해Factory-API 문서Factory-API DocumentMethodPOSTPath/api/manufacturesRequest Body Schem
scret.tfvars로 파일이름을 작성하면 terraform 명령어를 사용할 때 마다 \-var-file=scret.tfvars 옵션을 붙여줘야하지만 .auto를 중간에 넣으면 자동으로 모든 명령어에 scret.auto.tfvars파일이 사용된다.lambda함수 구현
처음에 작성한 다이어그램 프로젝트후 추가 시나리오를 합친 최종으로 작성한 다이어그램 IaC의 필요성 DLQ와 SQS를 이어주는 방향을 착각해서 DLQ에서 SQS를 지정해서 설계한 인프라 구성에서 에러를 발생시켰다. 또한, SQS부분을 serverless cli로 구
서비스 모니터링에서 “메트릭(metric)”은 시스템 또는 애플리케이션의 상태나 동작을 측정하기 위해 사용되는 측정 항목을 의미합니다. 메트릭은 서비스의 성능, 가용성, 사용량 등과 관련된 데이터를 수집하여 분석하고, 시스템의 건강 상태나 문제점을 식별하는 데 도움을
특징 메트릭이 임계치를 넣을 때, 수평 확장이 자동으로 진행되게 하는 것이 바람직함Auto Scaling Group (ASG)의 원리를 파악하고 주요 메트릭의 임계치 달성 시점을 경보 형태로 제공해야 함이를 SNS 및 람다를 통해 구현한다.EC2 서버를 ASG를 통해
이전에 했던 CloudWatch와 autoscaling을 이용한 scale-out시에 알람이 울리고 sns를 이용해서 람다에 트리거를 부여해서 Discord Message를 남기는 실습이다.이외에 사용할 VPC나 서브넷 라우트 테이블 보안그룹을 따로 작성해줘야한다.오토
모니터링이 어떤 것인지 간단히 살펴보겠습니다.m-k8s 노드에서 bpytop 명령을 실행하면 다음 그림과 같이 시스템 상태 정보가 보입니다.화면에서 리소스의 상태 및 문제가 될 가능성이 있는 정보를 한눈에 파악할 수 있습니다.bpytop 그러나 bpytop은 현재
시스템 성능 지표의 주요 메트릭은 단연 Throughput과 Latency입니다. 부하 테스트에서는 이 두 가지 지표를 사용하여 평가합니다.시간당 처리량을 의미합니다. 웹 애플리케이션 성능 지표로서의 throughput의 대표적인 예는 다음과 같습니다.1초에 처리하는
AWS EC2에서 'Burst' 기능은 특정 인스턴스 유형에서 CPU 크레딧을 사용하여 일시적으로 추가 성능을 제공하는 기능입니다.AWS EC2는 유연하고 확장 가능한 클라우드 컴퓨팅 서비스로, 다양한 용도로 사용되는 가상 서버를 제공합니다. 여기서 ‘확장 가능한 클
프로젝트 진행 상황을 팀원들과 github에 있는 project기능을 사용해서 칸반보드 방식을 이용해서 시각화하여 진행하였다.우리가 선택한 시나리오는 다음과 같다.회사는 개인 사용자와 대회 주최자를 위한 마라톤 대회 결과 기록 시스템을 구축하려고 합니다.여러분은 회사
팀원들과 CRUD에 대한 간단한 문서를 작성을 하였다.나중에 최종완성을 하여 조금더 자세히 작성할 예정이다.설계를 하면서 빼먹은 부분이 없는지 찾아보면서 하기위해 약식으로 작성하였다.CRUD 문서를 작성하면서 찾은 ERD설계에서의 오류를 발견하였다. 참고자료위에서 문제
Day2에서 작성한 아키텍쳐 설계를 이어서 진행 하였다.여러가지를 찾아본 결과 다음과 같은 부분들이 수정이 필요해 보였다.팀원들과 상의를 한후 아키텍쳐를 완성을 하였다.변경사항VPC Endpoint 추가Lambda VPC 종속성 제거모니터링 시스템을 AWS Grafan
설계 오류로 수정이 필요한 것 같습니다.S3를 이용해 정적파일 배포할 것으로 예상되어 추가 부탁드립니다.회원의 정보가 저장되는 데이터베이스이기 때문에 데이터가 삭제되지 않음으로 수평확장에 적합한 NoSQL인 것과 비용적인 부분에서 비교해봤을 때 변경하는 것이 좋을 것
VPC 등 옵션을 체크해서 public subnet 2개 private subnet 2개로 구성된 VPC를 생성합니다.aws서비스를 선택한후 ec2를 선택한다.vpc는 위에서 새로만든 vpc, 가용영역과 private subnet을 선택해준후 생성한다.테스트를 위해서
한개의 가용영억과 private subnet 2개 public subnet 1개로 vpc를 구성하였다.헷갈리지 않게 간단하게 1개의 가용영역만 구성하고 구현할 예정이다.업무 분배 구성과 순서 6/19 ~ 6/23DB 생성 6/19RDS생성과 테이블 생성담당자: 이상윤,
aws dynamodb create-table: DynamoDB에서 테이블을 생성하는 CLI 명령어입니다.\-table-name users: 생성할 테이블의 이름을 지정합니다. 이 경우 "users"라는 이름의 테이블을 생성합니다.\-attribute-definitio
위의 git actions yml을 이용해서 CI/CD 파이프라인을 구축하려면 아래의 task-definition 파일이 필요했다.하지만 taskDefinition에 환경변수로 access key가 필요한 상황이였는데 json에 해당 값이 그대로 노출이 됐었다.git
내구성 측정: CPU 사용률 및 메모리 사용률을 추적하여 서버가 얼마만큼의 트래픽을 감당할 수 있는 지 감시하기 위함위험 선 감지: 개발자가 의도한 범위 이상으로 CPU 사용률등의 메트릭이 올라갔을 때에 미리 위험을 알게 하기 위함EC2 내 도커설치도커를 이용하여 Gr
나는 분명 오토스케일링 설정 후 인스턴스에 로드밸런서를 붙이고 타겟그룹까지 예쁘게 잘 붙여줬다고 생각했는데 빨간 부분에 카운트가 올라가 있다.상태 확인 보면 캡처에는 unused 인데 그건 인스턴스를 죽이고 다시 만든다고 떨어져 있어서 그렇고 저기에 빨간 unhealt
퍼블릭 인터넷 위협에 대한 노출 감소(보안 강화): 프라이빗 서브넷에서 ECS를 실행하면 DDoS 공격 또는 자동 스캐닝과 같은 퍼블릭 인터넷에서 발생하는 공격의 위험을 줄일 수 있습니다. 이러한 격리는 일반적인 위협으로부터 컨테이너화된 애플리케이션과 인프라를 보호하는
AWS S3는 업계 최고의 확장성과 데이터 가용성 및 보안과 성능을 제공하는 온라인 오브젝트(객체) 스토리지 서비스이다. (참고로 S 앞글자가 3개라서 S3 이라고 한다.)쉽게 말하자면, 스토리지 즉 구글 드라이브 처럼 파일 저장 서비스이며, 데이터를 온라인으로 오브젝
EC2란 Amazon Elastic Compute Cloud의 줄임말로서 AWS에서 제공하는 클라우드 컴퓨팅이다.독립된 컴퓨터를 임대해주는 서비스로서 AWS의 대표적인 서비스, 대표적인 상품이다.우리가 PC방에 가서 요금을 내고 컴퓨터를 이용하는 것 처럼 aws에서 컴
컴퓨터 본체를 보면, cpu와 램카드, 그래픽카드, SSD, HDD가 다같이 장착되어 컴퓨터가 돌아가게 된다.EC2 인스턴스가 연산에 관한 (CPU,메모리 등) 처리를 한다고 하면, 데이터를 저장하는 역할(SSD, HDD)은 바로 EBS가 한다고 보면 된다.즉, EBS
백업 및 복원을 서버를 사용하는 사람들에게는 필수적으로 알아야할 내용이며 백업하는 습관은 의무적으로라도 해야할한만큼 중요한 습관이다.EC2는 기본적으로 사용을 하면 할 수록 요금이 많이 발생하게 된다. 따라서 절약하기 위해서는 주기적으로 사용하지 않는 EC2를 중지하거
서비스 개발 이후, 부하 테스트는 일반적으로 실제 요구 부하를 서버가 견뎌낼 수 있는지 확인하는 작업 중 하나이다. 이 작업을 통해 내 어플리케이션의 건강성을 판단해볼 수 있다.aws ec2 인스턴스 생성각자의 aws 계정에서 EC2 인스턴스를 생성합니다.버스트 기능이
ECS CI/CD 파이프라인 - github actions
AWS RDS란 관계형 데이터베이스를 간편하게 클라우드에서 설정, 운영, 확장이 가능하도록 지원하는 웹 서비스이다.RDS는 MySQL이나 오라클 같은 데이터베이스의 설치, 모니터링, 백업, 알람 등 관리를 대신해주며, 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및
Amazon Route 53 은 가용성과 확장성이 뛰어난 클라우드 Domain Name System (DNS) 웹 서비스이다.Route 53는 도메인 구입부터 네임서버 등록까지 dns에 필요한 모든 기능이 있고, aws 답게 추가로 모니터링 기능까지 제공한다.다른 도메