[CS] AWS 문제 Day-68

cptkuk91·2022년 2월 17일
0

CS

목록 보기
113/139

S3에 대한 설명

  • S3는 데이터를 저장할 수 있는 스토리지 서비스다.

  • S3의 버킷 레벨에서 버전 관리를 활성화 할 수 있다.

  • S3의 데이터를 외부로 노출하지 않으려면 퍼블릭 액세스 차단을 활성화해야 한다.

  • S3는 서버로부터 콘텐츠가 동적으로 변경/생성되지 않는, 정적 웹사이트에 한해서만 웹사이트 호스팅이 가능하다.


S3 버킷을 정적 웹사이트 호스팅 기능을 활성화해 웹에서 접근 가능하게 만들었지만 403 Forbidden 에러가 발생한다면?

  • 해당 버킷에 대한 모든 퍼블릭 액세스 차단을 비활성화 한다.

S3 기본 용어와 해당 객체에 대한 정보

https://projects3deploy.s3.ap-northeast-2.amazonaws.com/static/js/2aa43b.chunk.js

  • 리전(레기온): 아시아 태평양 (서울)
  • 버킷: projects3deploy
  • 키: static/js/2aa43b.chunk.js

S3 객체를 담기 위해 버킷을 생성하려 했지만, 에러가 난다면 무슨 문제일까?

  • S3 버킷 이름은 국제적으로 고유한 것이어야 하는데, 이미 다른 사람이 사용하고 있기 때문이다.

EC2 인스턴스를 만들기 위해 설정할 때 용어와 이에 대한 설명

  • AMI: 인스턴스에 적용하기 위한 운영체제 및 소프트웨어 환경에 대한 템플릿
  • 인스턴스 유형: CPU 및 RAM과 같은 컴퓨팅 성능
  • EC2 사용자 데이터: 인스턴스가 시작될 때, 실행되는 스크립트
  • EBS: EC2 인스턴스를 위한 영구 스토리지로, EC2의 수명주기와 무관하게 데이터의 보관이 가능하다.

프라이빗 IP와 퍼블릭 IP에 대한 설명

  • 퍼블릭 IP는 인터넷 상에서 컴퓨터에 부여된 IP로, 전체 웹을 통틀어 유일하다.
  • 프라이빗 IP는 사설 네트워크 안에서만 유일성이 보장된다.
  • 프라이빗 IP를 가진 컴퓨터를 인터넷에 연결하려면 NAT와 인터넷 게이트웨이에 연결되어 있어야 한다.
  • IPv4 및 IPv6 주소 체계는 퍼블릭/프라이빗 여부와는 상관없다. IPv6는 기존 IPv4 주소 고갈의 문제를 해결하기 위한 주소로 확장 주소 체계다.

EC2를 생성하고 SSH 접속을 시도했으나 접속을 할 수 없을 때 문제 해결을 위한 방법

  • 프라이빗 키(pem)과 ssh 클라이언트를 이용해 접속한다.
  • 아마존 리눅스를 사용하고 있는 경우 EC2 인스턴스 연결 기능을 이용한다.
  • 보안 그룹에서 22번 포트를 인바운드 규칙에 추가한다.

보안 그룹에 대한 설명

  • 기본적으로 모든 인바운드 트래픽을 차단한다.

  • 기본적으로 모든 아웃바운드 트래픽을 허용한다.

  • 보안 그룹의 규칙은 액세스를 허용하는 규칙을 작성할 뿐 거부하는 규칙을 생성할 수 없다.

  • 보안 그룹의 소스 및 대상(destination)은 CIDR 블록의 형태로 설정할 수 있다.

EC2 인스턴스를 시작 후 인스턴스를 중지 및 재시작한 경우 EC2 인스턴스에 접속하는 방법으로 적절한 것은?

  • EC2를 중지하고 다시 시작하면 퍼블릭 IPv4 주소는 변경된다. (탄력적 IP를 EC2 인스턴스와 연결하면, EC2 인스턴스의 IP 주소가 변경될 때 마다 EIP는 해당 EC2 인스턴스를 가리키게 되어, 늘 같은 EIP로 애플리케이션에 연결할 수 있다.

  • 새로 할당된 퍼블릭 IPv4 주소로 접속한다.

  • 이미 탄력적 IP 주소를 연결했다면, 이를 통해 해당 EC2로 접속한다.

  • 프라이빗 IP주소는 인터넷에 직접적 연결된 주소가 아니다.

보안 그룹과 EC2 인스턴스에 대한 설명

  • 보안 그룹은 EC2 인스턴스의 인바운드/아웃바운드 트래픽을 제어한다.

  • 보안 그룹은 같은 리전(레기온), VPC에 속해 있는 여러 개의 EC2 인스턴스에 적용할 수 있다.

  • 하나의 EC2 인스턴스에 여러 개의 보안 그룹을 연결할 수 있다.

  • EC2 인스턴스를 ssh를 이용해 접속하려 할 때 Connection timed out에러는 보안 그룹에서 ssh 포트에 대한 액세스를 차단했기 때문에 발생한다.

인메모리 데이터베이스나, NoSQL 데이터베이스와 같은 애플리케이션에 적합한 인스턴스 타입은?

  • 메모리 최적화 인스턴스
    (인메모리 데이터베이스나 NoSQL 데이터베이스는 메모리에서 막대한 양의 데이터를 처리하므로, 고성능 메모리가 요구됩니다.)

https://aws.amazon.com/ko/ec2/instance-types/

S3로 호스팅되고 있는 정적 웹사이트, API 서버가 작동 중인 EC2 서비스, DB서버로 RDS 운영 할 때 권장할 만한 보안 구성은?

  • EC2 인스턴스와 RDS 서비스를 같은 VPC 내에 두고, RDS 접근은 EC2 인스턴스로만 가능하게 한다.
    (RDS 퍼블릭 엑세스가 가능하게 만들면, mysql 클라이언트 접속이 용이하지만, 보안을 생각하면 인터넷 상에서 접근이 불가능하도록 만드는 것이 좋다.)

Ec2 인스턴스와 RDS(MySQL)이 서로 통신하게 만들기 위한 보안 그룹 설정

  • EC2 아웃바웃은 설정 불필요, RDS 인바운드 3306번 허용
    (EC2가 RDS에 요청을 보내는 것이므로, 해당 트래픽은 EC2 → RDS로 향한다. 따라서 EC2 아웃바운드는 특별한 설정이 필요하지 않고 RDS의 인바운드 트래픽에 MySQL에 해당하는 3306번 포트를 열어줄 필요가 있다.)

RDS가 EC2에 직접 데이터베이스 엔진을 직접 설치하는 것에 비해 갖는 장점

  • RDS가 운영되고 있는 운영체제의 보안 패치 관리를 해준다.
  • 손쉽게 다양한 AZ 백업할 수 있게 해준다.
  • 모니터링 대시보드를 제공한다.

AWS에서 제공되는 다양한 데이터베이스 서비스와 관련해 맞는 것은?

  • RDS: 관계형 데이터베이스
  • DynamoDB: 키-값 타입 및 문서형 NoSQL 데이터베이스
  • CloudFront: CDN 서비스

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글