AWS Developer Associate 자격증 공부 -5!

AWS Developer Associate 자격증 공부 -5!

저번 포스팅에 이어 오늘은 VPC와 S3 등에 관해 설명한다.

공부를 하며 새로운 알게 된 부분, 중요한 부분만 간단하게 적으려 노력했다.

VPC (Virtual Private Cloud)

Subnets : AZ level에서 설정 가능

AZ 영역내에서 Public, Private Subnet으로 나누어 망 분리 가능

Network ACL vs Security Groups

Network ACL - ALLOW, DENY 룰을 가지고 있다 - Subnet level에서 attach 가능 - Return traffic이 명시적으로 룰에 의해 Allow 되어야함 - 해당 Subnet의 모든 Instance들에 자동으로 룰이 적용됨

Security Groups - ALLOW 룰만 가지고 있다 - Instance level에서 attach 가능 - Return traffic이 자동으로 룰에 관련없이 Allow 되어야함 - Instance에 Security Group을 Associate하여 적용 가능

Flow Log - AWS 서비스의 네트워크 정보를 캡쳐한다 - VPC, Subnet, Elastic Network Interface 등에 적용 가능

VPC Peering : VPC 간의 통신

VPC Endpoints : Private Network를 연결할 수 있게 해준다

S3

  • Buckets : Directory, Unique Name
  • Objects : File (최대 5TB), 오른쪽 클릭 -> 파일 열 수 있음
  • URL -> Access Denied
  • Versioning : Bucket level

S3 Encryption

  • 기능
    • Encryption in transit
    • HTTPS endpoint : encryption in flight
  • SSE-S3 : AWS가 AES-256 등을 활용하여 암호화
  • SSE-KMS : KMS로 암호화
  • SSE-C : 자기의 암호화 키로 암호화

S3 Security

  • User based
    • IAM policy
  • Resource based
    • Bucket policy
    • Object Access Control List
    • Bucket Access Control List

Bucket Policy

  • JSON based

S3 Website (Static Hosting

S3 CORS (Cross-Origin Resource Sharing)

S3 Consistency Model

  • S3는 여러 개의 서버로 구성되어, 일관성 문제가 생길 수 도 있다.
  • Object를 호출할 경우, older version을 get할 가능성이 있다.
  • Strong Consistency를 만족할 수 없다.

S3 access Logs

  • MY 버킷 -> Logging Bucket

S3 Replication

  • Versioning 필수
  • 같은 리전, 다른 리전으로 복사 가능

Pre-signed URLs

  • 다른 사람이 다운받거나, 열어볼 수 있는 URL를 제공하는 기능,
  • 만료 기간 존재

S3 Lifecycle Rules

  • Transition actions : 다른 storage class로 옮김
  • Expiration actions :

S3 Event Notifications

  • SNS, SQS, Lambda Function으로 notify가능

AWS Athena

  • Serverless 서비스로 S3 File을 분석함

S3 Object Lock & Glacier Vault Lock

  • WORM (Write Once Read Many) Model

AWS CLI ON EC2

AWS configure를 EC2에서 쓰는 것은 보안적으로 좋지 않다. (Personal credential이 os에 저장되기 때문)

-> IAM Role를 사용하자!

  • IAM Role은 EC2 instance에 attach 될 수 있다.
  • IAM Role에 policy를 추가하여 EC2 instance에 부여 가능
  • IAM Role을 EC2에 붙이면 aws configure 없이 사용 가능

Dry run

테스트 실행 옵션이다.

AWS CLI로 aws ec2 start-instances --instance-ids i-****** --dry-run 위와 같은 옵션을 주어 작업에 필요한 권한이 있는 지 확인한다.

실제로 실행되지는 않고, 권한이 있는 지만 확인할 수 있다.

EC2 Instance Metadata

해당 인스턴스의 Terminal에서 curl http://169.254.169.254/latest/meta-data/

EC2에서만 호출가능, 해당하는 EC2 인스턴스의 정보를 확인할 수 있다.

~/.aws : AWS directory

AWS CLI Profiles

  • aws configure –profile : 여러 AWS 계정의 Configure 확인 가능

CLI with MFA

  • MFA ARN 정보로 cli에서 aws sts get-session-token 으로 임시 session-token 발급가능

AWS SDK

  • C++, NodeJS, Python 등등 여러 SDK 제공
  • API Limit : S3는 5500/sec, EC2는 100/sec
  • Service limit increase 가능

AWS Credential Best Practice

  • AWS Credential를 절대 코드에 저장하면 안된다.
  • AWS 내부에서 작업할 경우,Role을 머신에 붙여라
  • AWS 외부에서 작업할 경우, 환경 변수 / Profile등을 사용해라

본 포스팅은 Udemy 강의 Ultimate AWS Certified Developer Associate 2020 - NEW!를 공부하며 정리한 포스팅입니다!