전체 글144 [TypeScript]이펙티브 타입스크립트 Item 11~15 item11 타입이 명시된 변수에 객체 리터럴 할당할 때 타입 속성 체크함 => interface Menu { price: number; } const a: Menu = { price: 100, name: 'a 세트' }; // 에러 발생 const obj = { price: 100, name: 'a 세트' }; const a: Menu = obj; // 정상 const a: Menu = { price: 100, name: 'a 세트' } as Menu; // 정상 1번째는 속성체크를 통해 오류를 잡아낸 모습 2번째는 앞서 나온 구조적 타이핑, 즉 obj가 Menu 타입의 부분 집합을 포함하므로 a에 할당 가능하고 타입 체커도 통과 즉 오류 없다 판정 3번째는 단언문을 사용해서 속성 체크를 피해간 모습 .. TIL/TypeScript 2022. 7. 24. [AWS] AWS 볶음밥 11 CloudFront - 엣지 캐싱 사용자가 요청시 처음에는 원래 데이터가 있는 곳(S3 버킷이나 서버 등)에서 가져오지만, 자주 쓰는 데이터를 CloudFront에 저장해두고 추후의 요청시에는 CloudFront에서 데이터를 제공한다 => 지연 시간 감소, 보안 강화 글로벌 콘텐츠 전송 네트워크(CDN: Content Delivery Network) WAF, Shield와 결합 정적 또는 동적 컨텐츠 캐싱 내장된 보안 기능 요청이 최적의 엣지 로케이션으로 라우팅되기에 지연시간, 비용 측면에서 이득 TIL/AWS 2022. 7. 22. [AWS] AWS 볶음밥10 (서버리스) 서버리스란 서버가 없는게 아니라 서버관리를 AWS가 해준다 즉 프로비저닝하거나 관리할 인프라가 없는 것 종량제 요금 소비 단위에 따라 자동으로 크기 조정 (AutoScaling) 내장된 보안, 고가용성 컴퓨팅 서버리스 아키텍처 게임 개발 시 AWS Lambda를 통한 서버리스 아키텍처 활용하기 | Amazon Web Services 한국 블로그 유지관리가 아닌 개발에 집중할 수 있음 소결합되고 확장성이 뛰어난 워크로드 생성 총 소유 비용이 절감된다 Amazon API Gateway 애플리케이션을 위한 진입점 생성 수천건의 동시 API 호출 처리 인터넷 연결 또는 내부 트래픽만 선택 여러 마이크로 서비스를 위한 통합 API 프론트엔드를 생성 WAF 와 연동되어 DDoS 보호 및 제한 기능 제공 벡엔드에 대.. TIL/AWS 2022. 7. 22. [AWS] AWS 볶음밥 9 (자동화) 배포 자동화가 왜 필요한가? 규모가 커질수록 배포 자동화가 필수적 EC2 인스턴스가 50개라면 일일이 다들어가서 수정 vs 자동으로 해줌 AWS Elastic Beanstalk 호스트, OS, 언어 인터프리터, 어플리케이션 서버, HTTP서버 까지 제공 및 관리 즉 사용자 대신 어플리케이션 스택을 관리 CloudFormation 코드형 인프라(IaC) 아키텍처 템플릿 - JSON, YAML 로 만듬 (코드), 코드이기에 깃허브, 코드 커밋 등 활용 가능 => CloudFormation 엔진에 보내면 아키텍처 스택(인프라의 논리적인 모습)을 만들어줌 => 스택을 활용해서 인프라 구축 복제, 재배포 및 용도 변경 인프라 및 어플리케이션에서 버전 관리 제어 드리프트를 탐지 - 스택으로 인프라를 만든 후에 보안.. TIL/AWS 2022. 7. 22. [AWS] AWS 볶음밥8 (컨테이너) 컨테이너에서 실행되는 비율 30% 정도 그중 90% 이상이 Docker Kubernetes도 늘고 있음 점점 늘어날 것으로 예상됨 마이크로서비스 밀결합 - 각각의 웹서버가 애플리케이션 서버들과 다들 연결되어 있는 상태, 복잡함, 새로운 서버 연결하려면 다 연결해줘야함 => 소결합으로 만드는 것이 훨씬 안정적 ELB(실시간, 동기성 어플리케이션)나 SQS (비동기성, 배치성 어플리케이션에 사용)를 사용해서 중간에서 트래픽 처리해주는 것 모놀리식 포럼 어플리케이션 = 각각의 역할을 하는 것을 한 어플리케이션에 넣는 방식, 일부 수정시 전체 부분 수정해야 하는 불편함 있음 마이크로서비스 포럼 어플리케이션 = 역할별로 개별 어플리케이션으로 구성하고 API 형식으로 통신하는 방식 자율적, 전문화 가능 컨테이너 코.. TIL/AWS 2022. 7. 22. [AWS] AWS 볶음밥7 (모니터링, 스케일링) 모니터링을 왜 하는가? 운영 상태 : 운영 가시성 (제대로 운영되고 있는지?) 및 인사이트 확보 어플리케이션 성능 리소스 사용율 보안 감사 를 보고 서비스를 잘 운영하기 위해 Amazon CloudWatch 지표 및 로그를 거의 실시간으로 수집 모니터링 데이터를 한 곳에서 엑세스 경보 생성, 알림 전송 주요 기능 수집 모니터링 대응 분석 예를 들어 데이터를 수집하고 리소스의 사용률을 모니터링하다가 특정 수치 이상을 넘으면 이벤트 발생시켜 스케일링 등의 대응할 수 있음 로그 유형 Aws CloudTrail - 사용자 활동 및 API 사용량을 추적 VPC Flow Logs - 네트워크 인터페이스에서 송수신되는 IP 트래픽에 대한 정보를 수집 사용자 지정 로그 - 애플리케이션 인스턴스에서 생성된 사용자 지정 .. TIL/AWS 2022. 7. 21. [AWS] AWS 볶음밥6 (스토리지) 클라우드 스토리지 블록 스토리지 원시 스토리지 데이터가 관련 없는 블록의 배열로 구성 AWS 에선 EBS ex) 하드 디스크, 스토리지 영역 네트워크(SAN), 스토리지 어레이 파일 스토리지 파일 시스템이 관련 없는 데이터 블록 관리 네이티브 파일 시스템이 디스크에 데이터를 배치 AWS 에선 EFS, FSX ex) 네트워크 연결 스토리지(NAS), 어플라이언스, 윈도우 파일 서버 객체 스토리지 데이터, 데이터 속성, 메타 데이터, 객체 ID를 캡슐화하는 가상 컨테이너를 저장 AWS는 S3 ex) Ceph, OpenStack Swift Amazon S3 내구성이 뛰난 객체 스토리지 솔루션 [파일+ Metadata(크기, 속성) +Key(URL 등)] => 객체 하나라도 바뀌면 다 새로 저장 => 정적 데이.. TIL/AWS 2022. 7. 21. [AWS]AWS 볶음밥5 (데이터베이스) Amazon RDS(Amazon Relational Database Service) Amazon Aurora Amazon RedShift Amazon ElasticCache Amazon KeySpaces 관계형 데이터베이스 비관계형 데이터베이스 데이터 스토리지 행과 열로 이뤄진 테이블 키 값, 와이드 컬럼, 그래프, 문서 또는 기타 모델 스키마 고정 동적 예시 Amazon RDS, RedShift, Aurora DynamoDB, ElasticCache 관계형 데이터베이스 데이터는 테이블로 구분 고도로 정형화됨 관계는 키를 통해 설정됨 데이터 정확성 및 일관성을 제공 엄격한 스키마 규칙 및 데이터 품질 적용 필요 과도한 읽기/쓰기 용량 필요X 비관계형 데이터베이스 수평 스케일링 해야함 데이터가 기존 스키마.. TIL/AWS 2022. 7. 21. [AWS]AWS 볶음밥4 (컴퓨팅) AWS 클라우드 컴퓨팅 발전사 물리적 onPromise 서버 => 가상화 (Amazon EC2) => 컨테이너화 (Amazon Elastic Container Service) => 서버리스 (AWS Lambda) => 서버리스 컨테이너화 (AWS Fargate) => 특화 프로세서 (AWS Gravition 프로세스) EC2 인스턴스 AWS의 가상서버다 생성 과정 AMI(Amazon Machine Image)를 사용해서 OS를 정함 사전 구축(AWS가 제공), AWS MarketPlace 자체 생성 Instance Type : FGAS (Family,Generation,Attribute,Size)로 표기 ex) t3a.large EBS: 물리적으로 떨어져 있는 Storage 서버, 네트워크로 연결, 데이.. TIL/AWS 2022. 7. 21. [AWS] AWS 볶음밥3 (네트워크) CIDR(Classless Inter Domain Routing) 주소 범위 지정, /뒤의 숫자 만큼의 비트를 고정 중첩 허용X ex) 0.0.0.0/0 = 모든 IP 10.22.33.44/32 = 10.22.33.44 10.22.33.0/24 = 10.22.33.* 10.22.0.0/16 = 10.22.*.* 공인 IP 주소는 인터넷을 통해 연결할 수 있음 PIP: ec2 만들 때 자동 생성 => ec2 인스턴스를 껏다 킬 때 IP가 바뀔 수 있음 EIP(Elastic IP): 고정 공인 IP 사설 IP 주소는 인터넷으로 엑세스할 수 없음 VPC(Virtual Private Cloud) 원래 모든 가용 영역을 포함해서 생성된다 리전 내에 생성된다 격리의 단위 => VPC가 다르면 통신이 안됨 고가용성을.. TIL/AWS 2022. 7. 20. [AWS] AWS 볶음밥2 (계정, 보안) 루트 사용자(Root User) 처음에 이메일 만들고 신용카드 정보 넣으면 만들어지는 기본 AWS 서비스에 대한 전체 엑세스 권한 보유, 제한 없음 => 일상적인 상호작용에 사용하면 안됨 루트 유저는 MFA(Multi-Factor Access) 만들어서 보안 강화할 필요 있음 일상적인 상호작용은 IAM User로 만들어서 사용할 것 사용예시) 루트 유저로 admin 권한 있는 IAM유저 생성 IAM 유저로 실제 작업할 IAM 유저들 생성해서 권한 부여 IAM(Identity and Access Management) 유저 Aws에 대한 제한된 sudo 엑세스 권한 글로벌, 무료 서비스 주요 기능 인증 권한 부여 즉 누가 무엇을 할건지 정하는 서비스 사용자, 그룹 및 역할 생성 및 관리, AWS 서비스 및 .. TIL/AWS 2022. 7. 20. [AWS] AWS 볶음밥1 리전, 가용영역 리전(Region)은 2개 이상의 가용영역(AZ)으로 이뤄져 있음 리전은 완전 독립적 ex) seoul == ap-northeast-2 가용영역은 1개 이상의 데이터 센터(DC) 가용영역 내는 내부망처럼 동작 가용영역들 간은 고속 프라이빗 링크 사용해서 연결 고가용성을 위해 2개 이상의 가용영역 연결하는 경우가 많음 ex) 서울 리전에는 4개의 가용영역 존재 => 1개 죽어도 전체 서비스 마비X 리전을 선택하는 요인 거버넌스 - ex) 국가에서 공공기관 서비스은 국가내에 데이터가 있어야 한다라는 규칙이 있으면 지켜야 할 것 지연시간 - 거리가 멀수록 지연시간이 늘어나니 사용자가 많이 사용하는 지역에 있어야 사용자가 실체감하는 성능을 높일 수 있음 서비스 가용성 - 리전에 따라 제공되는 서.. TIL/AWS 2022. 7. 20. 이전 1 ··· 6 7 8 9 10 11 12 다음 반응형