AWS

22.06.22

가로선 2022. 6. 22. 15:09

 

   목차   

 

1. 볼륨

 - 볼륨 정리

 - 볼륨 이름 지정

 - 볼륨 생성

 - 볼륨 연결

 - 볼륨 설정 및 테스트

2. S3

 - 버킷 생성

 - 객체 업로드 및 소유권 편집

 - 퍼블릭 액세스 활성화

 - 정적 페이지 생성 및 호스팅

 - 버킷 버전 관리를 통한 인덱스 문서 수정

3. RDS

 - RDS 정리

 - 데이터베이스 생성

 - 테스트


 

   볼륨   

 - 실습을 위해 인스턴스 3개 생성

 - VPC는 그대로 진행

 

   볼륨 정리   

 - 블록 스토리지 : 운영체제 들어있는 부분(가상의 hdd)
    - 부팅하는 애들이 들어가있음(부팅디스크)
 - 가용영역이 같아야 한다(건너뛸 수 없음)
 - 볼륨 단위로 암호화
    - win11에선 TPM 사용
    - win10에선 BitLocker 사용

 

Win10의 BitLocker

 

   볼륨 이름 지정   

 

생성된 인스턴스의 수에 따라 볼륨 생성 확인

 

각각의 볼륨이 어떤 인스턴스에 연결되어있는지 확인

 

ID로 구분하기 힘드므로 이름 지정

 

   볼륨 생성   

 

새로운 볼륨 생성

 

같은 가용영역으로 지정 필수

    - 스냅샷을 요즘은 백업용도로 씀

 

태그 설정 x

    - 정책을 생성하고 만드는 것이 좋다(무분별로 만들어질 위험이 있음)

    - 역할 별 혹은 Life Cycle별로 그룹핑이 가능

        - Life Cycle(생명 주기) : 인스턴스가 생성되고 수정되고 삭제되는 것

            - 3Tier 구성일 시, WEB이 없으면 WAS, DB가 필요없어 지는 것을 생각하자

 

새로운 볼륨 추가된 것 확인

 

   볼륨 연결   

 

생성된 볼륨 우클릭 - 볼륨 연결

 

볼륨 연결 설정(인스턴스 선택)

    - 가용영역을 바꿀 수 없는 것을 확인

 

해당 인스턴스에 접속하여 생성된 볼륨 확인

 

   볼륨 설정 및 테스트   

 

fdisk를 통해 파티션 생성

 

blkid를 통해 AWS의 파티션이 사용하는 파일시스템 확인

    - xfs로 파일 시스템 포맷 후, 사용을 위해 디렉터리 생성하여 마운트 진행

 

df -Th를 통해 확인

    - 테스트를 위해 block 디렉터리에 txt파일 생성

 

언마운트를 통해 마운트 해제

 

AWS 콘솔에서 붙혔던 볼륨 분리

 

상태가 사용가능이 되었다면 다른 인스턴스에 연결

 

처음에 붙혔던 6이 아닌 42에 연결

 

설정을 따로하지 않았는데도 파티션 생성까지 된 것을 확인

 

파일 시스템 포맷까지 되어 있는 것을 확인

    - 사용을 위해 마운트만 하여 바로 사용이 가능

 

디렉터리 생성하여 마운트 진행

    - 전 인스턴스에 연결했을 때 생성한 txt 파일이 보이는 것을 확인

 

10G짜리 볼륨을 생성하여 한번 더 테스트 진행

 

test.txt 내용까지 잘 보이는 것을 확인

 

 

   S3(Simple Storage Service)   

 - Object Storage 서비스

 

   버킷 생성   

 

버킷 생성

    - 버킷이름 지정 및 ACL 비활성화

        - 버킷의 모든 객체를 소유자만 가지기 위해

 

외부에서 버킷에 대한 개체들을 읽지 못하게 하기 위해 퍼블릭 액세스 차단

 

태그나 기본 암호화 등은 Default로 놔두고 생성

 

버킷 생성 확인

 

   객체 업로드 및 소유권 편집   

 

생성한 버킷에 객체 업로드

 

png 파일 추가

 

클래스 지정

    - Standard : 데이터를 자주 쓸 때 사용

        - 데이터의 안정성을 위해 가용영역 3개 이상에 저장

    - Glacier : 데이터를 가끔 사용할 때 사용

 

암호화 설정 x

 

객체를 외부에서 확인해보기 위해 URL 확인 및 복사

    - URL 명명규칙

        - 버킷이름.서비스명.리전명.아마존 URL/파일이름

            - 버킷이름, 파일이름을 제외하고는 동일

 

외부에서 읽히지 않는 것을 확인

    - Public Access를 막아놓았기 때문에 읽히지 않는 것

 

객체 소유권 확인

 

ACL 활성화 후 저장

    - ACL : 액세스를 허용할 AWS 계정이나 그룹과 액세스 유형을 정의

        - 액세스 하는 사용자가 액세스 권한을 가지고 있는지 판단하기 위해 활성화

    - 활성화를 진행해야 객체에 대한 권한 편집이 가능해진다

 

   퍼블릭 액세스 활성화   

 

퍼블릭 액세스 차단 편집

 

퍼블릭 액세스 차단 해제 후 저장

 

ACL 편집에서 퍼블릭 액세스에 대한 권한 부여

 

퍼블릭 액세스가 가능한 것을 확인

 

버킷의 객체에 대해서도 ACL 편집

 

외부에서 객체 URL로 접속했을 때 내용이 읽어지는 것을 확인

 

   정적 페이지 생성 및 호스팅   

 - 우리가 해왔던 동적 페이지와는 다르게 페이지 변경시 마다

    index.html을 변경해줘야하는 문제가 있다

 - 즉, 미리 저장한 파일들만 보여줄 수 있다

 

index.html을 생성하여 S3에 업로드

 

퍼블릭 액세스 객체에 대해 읽기 권한 활성화

 

객체의 URL로 접속 확인

 

정적 웹 사이트 호스팅 활성화 진행

 

정적 웹 사이트 호스팅 활성화 및 인덱스 문서 지정

 

활성화 후, 해당 엔드포인트로 접속

    - 버킷은 웹사이트의 앤드포인트로 구성하여 정적 호스팅이 되도록 구현

 

접속 확인

 

   버킷 버전 관리를 통한 인덱스 문서 수정   

 

버킷 버전 관리 활성화 진행

    - index.html(객체) 수정본을 올리기 위해서는 버킷 버전 관리가 필요하다

        - 버전 관리를 통해 똑같은 이름의 객체를 올려도 업로드 시간만 변경이 된다

 

버킷 버전 관리 활성화

 

index.html 수정

    - 이미지를 추가할 때, 객체 URL을 사용하면 된다

 

새로운 index.html 업로드 진행

 

웹사이트 접속하여 변경 확인

 

 

   RDS   

 

   RDS 정리   

 - 인프라 및 데이터베이스 업데이트를 관리해주는 것 뿐만 아니라

   까다로운 관계형 데이터베이스의 설치, 운영 그리고 관리를 지원하는 서비스

 

   데이터베이스 생성   

 

RDS 서비스 검색 후, 서비스 실행

 

데이터베이스 생성

 

엔진은 MySQL 선택 및 버전 선택

 

프리 티어 선택

 

DB 인스턴스 이름 생성 및 마스터 이름, 마스터 암호 설정

 

t2.micro 선택

 

스토리지 설정

    - 스토리지 자동 조정 활성화 체크해제

 

VPC 선택 및 보안그룹, 가용 영역 선택

    - 퍼블릭 액세스 허용 x

 

PHP 테스트를 위해 초기 DB이름을 Test로 설정, 다른 옵션은 설정 x

 

다른 옵션 필요없이 DB 생성 진행

 

   테스트   

 - 생성한 WEB 인스턴스 2개 사용

    - 1개에는 index.php만 테스트

    - 나머지들은 다른 인스턴스에서 테스트

        - RDS에서 생성한 DB에 새로운 DB를 생성해야하므로 Client 설치 필요

 

테스트를 위해 index.php 복사

 

DB 엔드포인트 활성화 확인

    - AWS에서 DB 접속을 위해 제공하는 DNS

 

nslookup을 통해 엔드포인트를 ip로 해석 가능

    - 위의 10.0.0.2는 AWS에서 DNS를 지원해주는 서버이다

 

index.php 설정

    - hostname에는 DNS, DNS를 해석한 IP 둘 중 하나 아무거나 가능

    - RDS 생성 시 설정했던 마스터 이름, 비밀번호로 설정

 

연결 확인

 

MySQL Client를 설치하여 RDS 접속

    - RDS가 돌아가는 인스턴스에는 접속할 수가 없다

 

테스트를 위해 필요한 DB 생성 및 권한 부여

 

member 테이블 생성

    - DNS가 아닌 IP로도 접속이 가능한 것을 확인

 

insert1.php 수정

 

table1.php 수정

 

person1.php 수정

 

회원가입 폼에 정보 입력 후 회원가입

 

table에서 확인

'AWS' 카테고리의 다른 글

22.07.02  (0) 2022.07.02
22.06.23  (0) 2022.06.23
22.06.21  (0) 2022.06.21
22.06.20  (0) 2022.06.20
22.06.17  (0) 2022.06.17