(0) 실습 준비 설정
(1) 볼륨
- 블록 스토리지 테스트
(2) S3
- 객체 권한
- 정적 웹 사이트
- 버킷 버전 관리
(3) RDS
- 실습
0. 실습 전 준비
- 인스턴스 3개 생성 (WEB 2개, Bastion 1개)
- 실습은 Bastion으로 접속해서 설정 (Bastion에 개인키 필요)
- 부팅디스크
- 운영체제의 부팅 정보가 들어있음(제거 시 가상머신 부팅 불가)
- 인스턴스 생성 시 고유한 하드디스크가 생성됨(EBS)
- 가용영역을 넘어갈 수 없음
- 볼륨이 어떤 인스턴스와 연결되어있는지 구분하기 어렵기 때문에 이름을 설정해주면 편리함
1. 볼륨 생성
- 이전에는 메모리에서 작업하던것을 보장할 수 없기 때문에 스냅샷을 백업으로 사용하지 않았지만,
현재는 기술이 좋아져서 메모리 작업도 보장 가능하기 때문에 백업용도로도 사용
- 태깅 = 그룹핑
- Life Cycle끼리 묶거나 역할별로 묶을 수 있음
- Life Cycle : 생명 주기, 인스턴스가 생성, 수정, 삭제 되는 과정
- 3Tier 구성 시 WEB이 없다면 WAS와 DB의 존재 무의미
- 정책을 만들지 않고 태그 생성시 무분별하게 많이 만들어질 수가 있음 (정책을 먼저 생성 권장)
2. 볼륨 연결
- 모든 설정은 ID로 설정하게 되는데 ID를 외워서 구분하는 것은 사실상 불가능 하기 때문에 인스턴스명을 설정하여
이름으로 구분 가능
- 디바이스 이름은 내부적으로 변경될 수 있으니 확인
3. 볼륨 확인
- Bastion을 통해 WEB_A_111 인스턴스에 SSH 접속 후 확인
4. 볼륨 사용
- 파티셔닝
- AWS에서 사용하는 파일시스템을 확인
- xfs로 파일 시스템 포맷 후 확인
- 마운트
- test.txt 파일 생성
<블록 스토리지 테스트>
- 블록 스토리지는 실제 하드디스크처럼 뗐다 붙였다 할 수 있기 때문에 스토리지를 분리하고 다른 인스턴스에
연결했을 때 설정이 유지되는지 테스트
1. 마운트 해제
2. 볼륨 분리
3. 두번째 인스턴스와 볼륨 연결
4. 볼륨 연결 확인
- 파티셔닝을 하지 않아도 WEB_A_111에서 한 파티셔닝 설정이 유지되는것을 확인 가능
5. 마운트 후 확인
- WEB_A_111에서 설정하고 생성한 것들이 그대로 유지되는 것을 확인 가능
6. 볼륨 삭제
- Object Storage : '오브젝트'로 불리는 각각의 데이터 단위가 개별단위로 저장되는 데이터 저장소
1. 버킷 생성
- 버킷 : 객체에 대한 컨테이너
- ACL을 비활성화 하면 소유자만 버킷의 객체를 가질 수 있다
- 퍼블릭 액세스 : 누구나 접속이 가능한지 불가능한지를 설정
2. 객체 업로드
- 스토리지 클래스 : 클래스별로 요금이 다름
자주 사용하는 것들은 standard, 가끔 보는 것들 Glacier(빙하) 등
standard는 가용영역 3군데 이상에 저장 가능
- url : 도메인 이름의 역순 (버킷명 - 서비스 - 리전 - 아마존url / 파일명)
- 버킷을 생성 할 때 Public Access를 허용하지 않았기 때문에 객체 URL 접속 불가
- 객체의 권한에서 모든 사람(퍼블릭 액세스)가 읽기권한이 없는것을 확인 가능
3. 객체 소유권 편집
- ACL을 활성화 시켜야 버킷에 대한 권한 편집이 가능
- 퍼블릭 액세스 편집
- ACL 설정
- 객체 권한 편집
- 설정 적용 확인
4. 정적 웹 사이트 생성
- 정적인 웹페이지 사용시 업데이트 상황이 있으면 수동으로 추가해줘야함
- 정적 웹 사이트 호스팅 활성화
5. 버킷 버전 관리
- 업로드 한 것은 자체 편집 불가 → 편집한 후 업로드 새로 진행 하면 마지막 수정 시간만 변경됨
- 설정 적용 확인
- 완전 자동 데이터베이스 서비스
- 클라우드에서 간편하게 데이터베이스를 설치, 운영 및 확장할 수 있는 관리형 서비스 모음
1. 데이터베이스 생성
- 프로덕션 : 실제 서비스
- 실습 시 보유하고 있는 php 파일의 데이터베이스 이름이 test이기 때문에 초기 데이터베이스 이름을 test로 설정
<실습>
- 첫번째 인스턴스에서 index.php 파일 연결 후 확인
- 두번째 인스턴스에서 insert1.php, table1.php, person1.php 파일 연결 후 확인
1. 첫번째 인스턴스 설정
- nslookup 후 엔드포인트를 입력 시 DB 서버의 IP 확인 가능 (이 서버의 인스턴스로는 절대 접속 불가)
- 10.0.0.2는 AWS에서 제공하는 DNS 서버 주소
- php 설치
- index.php 파일 수정 : RDS가 돌아가는 서버로 연결
- 연결 확인
2. 두번째 인스턴스 설정
- php 파일 수정
- mysql client 설치
- 데이터베이스와 테이블 생성
- 연결 확인
[실습] 종합 실습 (0) | 2022.07.01 |
---|---|
[AWS] Auto Scaling | Image | 시작 템플릿 | 부하테스트 | Load Balancer (0) | 2022.06.23 |
[AWS] Bastion | MySQL DB + PHP | MySQL DB + wordpress (0) | 2022.06.21 |
[AWS] CLI를 통해 Key Pair 생성 | NAT Gateway | Load Balancing (0) | 2022.06.20 |
[AWS] PPK Key (puttygen) 생성 | 자체 PEM Key 생성 | SSH 내부 접속 (0) | 2022.06.17 |