- S3 Storage
- 데이터 저장 공간, 비교적 저렴
- Private 저장 : 외부 공개X 비공개로 저장
- Public 저장 : 객체 공개해 많은 사용자에게 전달
- 정적 웹사이트 : index.html과 이미지 업로드해 간단한 웹사이트 만들기 가능
- S3 Class
- Standard : 저장비용 비쌈, 언제든 인출 가능, 인출 비용 없음
- Standard-IA : 저장비용이 저렴하나 약간의 인출 비용 부과
- One Zone-IA : 하나의 Zone에만 저장, 비용 저렴
- Glacier : 오랫동안 보관할 데이터 저장(저장 비용 저렴), 인출 시간 오래 걸림, 인출 비용 높음
- 수명주기 관리 (Life Cycle) → 스케줄링
- 일반적 데이터 특징 : 처음엔 자주 사용하다 시간 지나면 잘 사용X
- S3 intelligent Tiering (자동으로 변경)
- Frequent Access Tier : 처음 Tier 시작 부분 (자주 사용)
- Infrequent Access Tier : 30일동안 사용 안 할 시 (자주 사용 안할 때)
- Archive Access Tier : 90일동안 사용 안 할 시 (거의 사용 안할 때)
- 어떤 Tier에 있다가도 사용자의 요청 발생 시, Frequent Access Tier로 다시 이동
- Region
- 특정 지역(국가)에서 클라우드 서비스를 하기 위한 단위
- 리전 내 온전한 클라우드 서비스 가능
- 다른 리전에 의존하지 않고도 독자적으로 모든 클라우드 서비스 제공 가능
- Zone
- 가상의 데이터 센터
- 가용성 높이기 위해 1~6개 하나로 묶어 생성
- 가용영역
- VPC
- 가상으로 만드는 나만의 클라우드

VPC 생성)
① VPC 생성 클릭
② VPC만 클릭 후 이름 작성 (Sh_VPC)
③ IPv4 CIDR 수동 입력
④ IPv4 CIDR (10.9.0.0/16)
⑤ IPv4 CIDR 블록 설정 없음
⑥ 테넌시 기본값
⑦ VPC 생성 클릭

서브넷 생성)
① 서브넷 생성 클릭
② VPC 선택 (Sh_VPC)
③ 서브넷 이름 (Shho)
④ 가용 영역 (ap-northeast-3a)
⑤ IPv4 CIDR : 10.9.1.0/24
⑥ 서브넷 생성 클릭
⑦ 서브넷 선택 후 작업에서 설정 편집 선택
⑧ 퍼블릭 IPv4 주소 자동할당 활성화 체크 (public subnet으로 변환)
⑨ 저장

※ 충돌 발생 시 VPC Subnet 모두 삭제 후 새로 생성
VPC : 10.29.0.0/16
Subnet : 10.29.1.0/24, 10.29.2.0/24
VPC: 10.99.0.0/16 // 16 → Subnet Mask 1의 개수 (255.255.0.0)
Subnet : 10.99.1.0/24, 10.99.2.0/24 // 24 → Subnet Mask 1의 개수 (255.255.255.0)
- 서브넷 ID를 누르면 상세한 내용 확인
- 퍼블릿 IPv4 주소 자동 할당 → 아니요 (Private Subnet)
- 퍼블릿 IPv4 주소 자동 할당 → 예 (Public Subnet)
인터넷 게이트웨이 생성)
① 인터넷 게이트웨이 생성 클릭
② 이름 태그 후 생성 (igw-sh)
③ 인터넷 게이트웨이 생성 클릭
④ 만든 이름 선택 후 작업에서 VPC 연결
⑤ 사용 가능한 VPC에서 vpc 선택
⑥ 인터넷 게이트웨이 연결 클릭


라우팅 테이블 생성)
① 라우팅 테이블 목록 테이블 클릭
② 해당 라우팅 테이블 ID 클릭
③ 라우팅탭 클릭 후 편집 클릭
③ 라우팅 추가 클릭 0.0.0.0/0 (게이트웨이)로 라우팅 추가
④ 인터넷 게이트웨이 클릭 > 대상 클릭 후 변경 사항 저장
⑤ 서브넷 연결 탭에서 서브넷 연결 편집 클릭
⑥ 체크 후 저장하면 명시적 서브넷 연결로 이동됨


- EC2(Elastic Compute Cloud)
- AWS에서 동작하는 가상 머신 → 웹서버를 만들어서 웹서비스
- Security Groups (보안 규칙 = 방화벽)
- 설정 안 할 시, 모든 포트에 접근 가능
- 접근할 수 있는 포트 제한해야 함
- SSH : 나만 접근
- http, https : 누구나 접근
EC2 생성)
① EC2 목록 클릭 후 인스턴스 시작 클릭
② 이름 (gnuboard) 작성 후 OS 선택 (ubuntu)
③ 새 키 페어 생성 (aws_gnuboardkey)
④ 생성한 키 C:\Intel 경로로 넣기
⑤ 네트워크 설정에서 생성한 VPC, 서브넷 클릭
⑥ 방화벽 보안 그룹 생성 클릭
⑦ 인바인드 보안 그룹 규칙 추가해주기
⑧ 설명 - 필수에 (web_server)로 변경
⑨ 인스턴스 시작 클릭


※ key 속성 변경
aws_gnuboardkey.pem 오른쪽 마우스 클릭 > 속성 > 보안 > 고급 > 상속 사용 안 함 > 모든 권한 제거 > 추가 > 보안 주체 선택 > 자신의 컴퓨터 이름 적고 확인 > 읽기만 체크 > 확인
※ ssh로 접속할 시 권한은 반드시 400으로 설정 (chmod 400)

⑩ 윈도우10에서 cmd창 열어 cd C:\Intel > dir에서 확인 후 AWS에서 연결 클릭

⑪ SSH 클라이언트 > 예에 있는 ssh -i "aws_gnuboardkey.pem" ubuntu@13.208.214.212 복사
⑫ 복사한 값 cmd에 붙여넣으면 만든 인스턴스에 접속이 됨

- Amazon Linux
- Red hat의 기본 커널에 최소화된 기능 넣어 Cloud 환경에 최적화시킨 운영체제
- 가볍고 상당히 빠르게 동작
Amazon으로 인스턴스 생성)


- ubuntu로 인스턴스 연결
① $ sudo chmod 400 aws_gnuboardkey.pem
② $ ll // 권한 바뀐거 확인
③ $ ssh -i "aws_gnuboardkey.pem" ec2-user@IP주소
④ 접속됨을 확인할 수 있음

$ sudo yum update
$ sudo yum install httpd
$ sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2
→ lamp : Linux용 Apache2 MySQL PHP (웹서버 세트)
$ sudo yum install -y mariadb-server
$ sudo systemctl start httpd
$ sudo systemctl enable httpd
→ 부팅 때마다 시작하도록 설정
$ sudo usermod -a -G apache ec2-user
→ 아파치 그룹(-G apache)에 ec2-user 추가
$ sudo chown -R ec2-user:apache /var/www
→ 웹서버 루트 디렉토리(/var/www)의 소유권을 apache그룹의 ec2-user로 변경
$ sudo chmod 2775 /var/www
→ 웹서버 루트 디렉토리의 권한을 2775로 변경
$ sudo find /var/www -type d -exec chmod 2775 {} \;
→ 웹서버 루트 디렉토리의 하위 디렉토리가 2775로 되어있는지 확인
$ sudo find /var/www -type f -exec chmod 0664 {} \;
→ 웹서버 루트 디렉토리의 하위 파일이 0664로 되어 있는지 확인
$ echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
→ 웹브라우저로 접속해서 실행되는지 확인 // http://IP주소/phpinfo.php

'SK shieldus Rookies 9기 > 클라우드 보안' 카테고리의 다른 글
클라우드 보안 수업 6일차 (22/10/05) (0) | 2022.10.05 |
---|---|
클라우드 보안 수업 5일차 (22/09/30) (0) | 2022.09.30 |
클라우드 보안 수업 4일차 (22/09/29) (0) | 2022.09.29 |
클라우드 보안 수업 3일차 (22/09/28) (0) | 2022.09.28 |
클라우드 보안 수업 1일차 (22/09/26) (0) | 2022.09.27 |