Programming

    [AWS, Certified Developer Associate] SQS, SNS

    Amazon SQS (Simple Queue Service)완전 관리형 대기열(Queue) 서비스애플리케이션 분리에 사용 (Decouple Applications)무제한 처리량 / 무제한 메세지 queueing메시지는 기본 4일, 최대 14일까지 존재 가능낮은 지연 (발행 및 소비에 대해 메시지의 크기는 작아야함 (256KB 미만) SQS - 메시지 발행생산자는 SDK (SendMessage API)를 통해 256KB 미만의 메시지 전송메시지는 소비자가 메시지를 읽고 삭제할 때까지 SQS 대기열에 유지 SQS - 메시지 소비소비자는 SQS 메시지를 폴링폴링한 메시지에 대해 소비자는 작업(처리) (ex) RDS DB에 데이터 저장)처리가 완료된 후 소비자는 SDK (DeleteMessage API)를 통해..

    [AWS, Certified Developer Associate] CloudFormation

    IaC (Infrastructure as Code, 코드형 인프라)인프라를 코드 형식으로 정의, 관리하는 방식수동으로 인프라를 생성/관리하는 방식에서 벗어나 자동화/코드화를 통해 인프라를 생성 및 관리자동화된 프로비저닝 / 유연성 / 확장성 / 버전 관리ex) 앤서블(Ansible) / 테라폼(Terraform) / AWS CloudFormation  AWS CloudFormationAWS의 대표적인 IaC 서비스AWS 인프라를 선언하는 방식으로 작성리소스 생성, 보안그룹 연결 등을 순서대로 생성하도록 선언자동화 / 버전관리 / 코드검토를 통한 검증 / 스택 비용 추적 가능 / 생산성 / 관심 분리 (VPC stack, Network stack, App stack 분리 가능)  CloudFormation..

    [AWS, Certified Developer Associate] Elastic Beanstalk

    Elastic Beanstalk하나의 인터페이스에서 EC2, ASG, ELB, RDS 등을 재사용해 자동으로 배포해주는 관리형 서비스용량 프로비저닝, 로드밸런서 구성, 스케일링, 애플리케이션 상태 모니터링, 인스턴스 구성 자동화개발자는 코드에만 신경무료환경, 버전, 구성 등의 집합으로 이루어짐하나의 환경 안에서 애플리케이션 버전을 1 -> 2로 업데이트 가능다양한 언어 지원 (고급 설정으로 사용자 지정 플랫폼 생성도 가능)  Beanstalk - 애플리케이션 업데이트를 위한 배포 옵션All at once한번에 모든 인스턴스 배포속도가 가장 빠름 but 모든 서비스가 중지되므로 다운타임 발생UC ) 빠른 배포 & 개발환경 & 다운타임 중요 X & 추가요금 XRolling버킷이라는 인스턴스 묶음을 동시 업데..

    [AWS, Certified Developer Associate] ECS

    ECS (Elastic Container Service)Docker 관리를 위한 Amazon 전용 플랫폼AWS에서 도커 컨테이너 실행 = ECS 클러스터에서 ECS 태스크 실행EC2 Launch 타입EC2 인스턴스에 대한 인프라를 직접 프로비저닝 및 관리해야함ECS 클러스터에 여러 EC2 인스턴스 (= ECS 태스크)각 인스턴스는 ECS Agent를 실행해야함 (에이전트가 지정한 ECS 클러스터에 인스턴스 등록)ECS 클러스터에 새로운 도커 컨테이너 등록 시 각 EC2 인스턴스에 배포됨Fargate Launch 타입서버리스 (프로비저닝, 관리 X)ECS 태스크를 정의 -> AWS에서 CPU와 RAM 요구사항을 토대로 ECS 태스크 실행확장 시 태스크 수만 늘리면 됨 ECS - EC2 Instance Pr..

    [AWS, Certified Developer Associate] CloudFront

    CloudFrontCDN (Content Delivery Network, 콘텐츠 전송 네트워크)여러 엣지 로케이션에서 웹사이트의 콘텐츠를 캐싱해 read 성능 높임지연시간 감소 / 사용자 경험 향상전세계 216개의 접속지점(POP) = edge location전세계에 콘텐츠 분산 / Shield와 Web Application Firewall을 통해 ddos 방어 CloudFront - OriginS3 Bucket엣지에서 파일을 전세계로 분산하고 캐싱처리CloudFront만 S3 버킷에 접근 가능하도록 Origin Access Control (OAC) 설정 가능Origin Access Identity (OAI) 대체CloudFront에서 S3에 파일 업로드 가능 (= ingress)Custom Origin..

    [AWS, Certified Developer Associate] S3 - 암호화, 액세스 포인트

    S3 - 암호화 (Object Encryption)Server-Side Encryption (SSE)SSE-S3 (S3 Managed Keys로 암호화)버킷, 객체에 기본 활성화AWS에서 키 관리 및 소유 / 키에 접근 불가AWS 서버측에서 객체 암호화 (AES-256)x-amz-server-side-encryption: AES256SSE-KMSAWS KMS로 암호화KMS를 통해 키를 직접 관리CloudTrail을 통해 키 사용 로깅 가능x-amz-server-side-encryption: aws:kmsKMS API를 호출해 키 생성 / 복호화 수행해야함처리량이 아주 많은 S3 버킷에 대해서는 권장 XSSE-C키는 AWS 외부에서 관리AWS에 키 전송 (HTTPS 필수)AWS는 키를 통해 암호화 후 키 ..

    [AWS, Certified Developer Associate] S3 - LifeCycle, 이벤트 알림, 성능, Select 및 Glacier Select, 객체 태그, 메타 데이터

    S3 - LifeCycleTransaction Actions생성한지 60일 후 Standard IA로 이동6개월 후 아카이빙을 위해 Glacier로 이동Expiration Actions일정 기간 후 객체가 삭제되도록 처리ex) 1년 후 액세스 로그 파일 삭제 / 버저닝을 활성화해 이전 버전 삭제특정 접두사 규칙 / 태그에 적용해 버킷 내 특정 경로에만 적용되도록 처리 가능 S3 - 이벤트 알림Event : 객체 생성 / 삭제 / 복원 / 복제이벤트 필터링 가능 (확장자가 jpg)ex) S3에 업로드되는 모든 이미지의 썸네일 생성이벤트 알림 생성 후 SNS / SQS / Lambda 으로 보내 처리 가능IAM 권한 필요S3의 IAM 역할 사용 Xex) SNS에 전송 시 SNS 주제로 SNS Resource..

    [AWS, Certified Developer Associate] S3 - 개요, 버킷 정책, 복제, 스토리지 클래스

    S3 개요무한히 확장 가능한 스토리지사용사례백업 or 스토리지재해 복구 (백업)기록 보관하이브리드 클라우드 스토리지 (온프레미스 스토리지에 대해 클라우드로 확장)데이터 레이크 & 빅데이터 분석소프트웨어 업데이트 S3 - Bucket최상위 디렉터리 개념버킷에 담기는 파일은 객체(Object)전역적으로 유니크한 이름을 가짐리전 단위로 버킷 생성 S3 - Object각각 키를 가짐키는 파일의 전체 경로 (prefix + object name)s3://my-bucket/my_file.txts3://my-bucket/my_folder/test/my_file.txt실제로 S3에는 디렉터리 개념이 없음 (모든것은 하나의 키)객체 최대 크기는 5TB (5000GB)초과 시 멀티 파트로 분할해 저장메타데이터 가질 수 있..

    [AWS, Certified Developer Associate] VPC

    VPC (Virtual Private Cloud) & SubnetsAWS Cloud 내 사설 네트워크리전 별 리소스 (리전 별 각각 다른 리소스를 가짐)각 VPC 내에는 서브넷 존재 (VPC 내 네트워크 분할)서브넷은 AZ 별 리소스public subnet: 인터넷으로부터 접근 가능 (www)private subnet : 인터넷으로부터 접근 불가능VPC는 CIDR Range를 가짐 (VPC에서 허용하는 IP 범위)기본 VPC : AZ마다 하나의 public subnet / Region 마다 하나의 VPC   IGW (Internet Gateway)subnet에 있는 VPC 인스턴스가 인터넷에 연결되도록 지원public subnet은 IGW로 라우팅IGW는 인터넷과 통신하는 방법을 알고있어 public s..

    [AWS, Certified Developer Associate] DNS, Route 53

    Route 53고가용성, 확장성, 완전한 관리, 권한있는 DNS / Domain Registrar권한있는 = 고객이 DNS record 업데이트 가능public IP를 가지고 있는 EC2 인스턴스에 대해 DNS 서비스 제공 (example.com 요청 -> 12.34.56 응답)리소스에 대한 상태 체크 가능100% SLA (고객이 공급업체로부터 기대하는 서비스 수준) 가용성을 제공하는 유일한 AWS 서비스53은 유일한 DNS 포트 DNS Record TypeA - 호스트이름과 IPv4 매핑AAAA - 호스트이름과 IPv6 매핑CNAME - 호스트이름과 다른 호스트이름 매핑NS - 호스팅 존의 이름 서버. 서버의 DNS 이름 or IP 주소로, 호스팅존에 대한 DNS 쿼리에 응답 Hosted Zone도메인..