티스토리 뷰
1. 홈페이지 접속
2. 1년정도 프리티어 생성
3. EC2 접속
1. EC2 만들기
1. Amazon Machine Image(AMI) 선택 (운영체제를 선택)
- Windows or Linux
2. 인스턴스 유형 선택( CPU와 Memory 선택)
3. 인스턴스 세부 정보 구성 = 네트워크 연결
- vpc로 연결
- 구매옵션 : □ : 스팟인스턴스 ? 사용하고 싶으면 체크 필요
4. 스토리지 추가
- 하드디스크 추가 EBS 추가 (= 몇기가 짜리 하드를 달아줄것인가? )
5. 태그추가
- 간단한 이름 지정
- 앞으로 AWS를 많이 쓸꺼면 TAG를 많이 쓰는 많이 해줘야한다.
6. 보안 그룹 구성
- RDP 원격 데스크탑
7. 검토
- 키페어 확인
1) Window의 경우
원격데스크톱 연결
<참고>
연결
인스턴스 중지
- 인스턴스 중지시 E2C는 중지되지만 Storage는 아직 살아 있음
- 전체 삭제를 하려면 인스턴스 종료를 눌러야함
2) Linux 경우
- Linux나 Mac을 사용하는경우 SSH가 설치되어서 바로 접속할 수 있지만 윈도우 10의 경우 CMD로 SSH 접속하는 프로그램을 설치해줄 필요가 있음 --> 설치 가이드
- SSH(Secure Shell, SSH)란? 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로그램 또는 그 프로토콜
- 리눅스에서는 chmod 400 권한을 부여해야지만 windows 에서는 파일 보안 권한을 부여--> 설치 가이드
- EC2에 접속하기 위해 사용되는 .pem키가 있는 디렉토리에서 원격접속을 시도해야함
config
Host lecture-test
HostName ec2-13-125-36-216.ap-northeast-2.compute.amazonaws.com
User ec2-user
IdentityFile ~/.ssh/lecture-test.pem
인스턴스 요약
1) 세부정보
2) 보안
3) 네트워킹
4) 스토리지
5) 상태검사
6) 모니터링
7) 태그
2. EC2 만들기
Amazon Elastic Block Store(EBS)? AWS 클라우드의 Amazon EC2 인스턴스에 사용할 영구 블록 스토리지 볼륨을 제공함. 각 Amazon EBS 볼륨은 가용 영역 내에 자동으로 복제되어 구성요소 장애로부터 보호해주고, 고가용성 및 내구성 제공. Amazon EBS 볼륨은 워크로드 실행에 필요한 지연시간이 짧고 일관된 성능을 제공. Amazon EBS를 사용하면 단 몇분내에 사용량을 많게 또는 적게 확장할 수 있으며, 프로비저닝한 부분에 대해서만 저렴한 비용 지불
EBS <-> S3(Object Store, 단순 파일 저장 )
EC2 = 하드디스크를 제외한 모든 부분
EBS = 하드디스크라고 생각하기
EBS Based | Instance Storage |
반 영구적인 파일의 저장 가능 - Snapshot 가능 - 인스턴스 업그레이드 가능 - STOP이 가능 - 분리가 되어 있기 때문에 |
휘발성이나 빠른 방식 - 빠르지만 저장이 필요 없는 경우 - Stop이 불가능함 - EC2를 삭제해버리면 복구가 불가능함, 하지만 같이 EC2가 있기 때문에 빠른연산이 가능함. 굳이 저장을 할 필요가 없을때 |
AMI 만들어 현재 EC2의 AMI를 만들어 Backup 하기
1. 이미지 생성
- 이미지를 생성하면 잠깐 동안 컴퓨터가 멈춤
- 이미지 생성 완료
- 기존의 EC2보다 더 좋은 성능의 EC2를 기존의 AMI로 실행할 수 도 있다.
- Lecture-Test , Lecture -Test2의 IP가 달리지는데 이때 고정 IP와 Elastic IP 둘다 선택할 수 있다.
3. Security Group
Security Group
- 보안장치? Network Access List(NACL)와 함께 방화벽의 역할을 하는 서비스
- Port 허용? 트래픽이 지나갈 수 있는 Port와 Source 를 설정가능
- Deny는 불가능? NACL로 가능
Security Group 특징
* 설정된 모든 룰을 사용해서 필터링 -> NACL의 경우 적용된 룰의 순서대로 필터링
* Stateful
- Inbound로 들어온 트래픽이 별 다른 Outbound설정없이 나갈 수 있음
- NACL은 Stateless
- Security Group
Security Group 생성하기
- 여러 포트와 소스를 지정해서 만들기
- 기존의 적용된 Security Group을 새로운 Security Group으로 대체하기
Port란?
- 논리적인 단위로서 IP를 통해 접속한 컴퓨터에서 어떤 곳으로 연결할지 구분시키는 역할
- 클라이언트는 IP를 통해서 컴퓨터에 접속한다.
Inbound rules
- 클라이언트가 자신의 서버 데이터에 들어올 수 있는 규칙을 의미
- SSH(Secure Shell)? 기본적으로 22번 포트를 사용하며 강력한 인증 방법으로 안전하지 못한 네트워크에서 안전하게 통신하는 방법을 제공
- HTTP? 클라이언트/서버 모델에서 클라이언트는 서버에 URI를 통해 자원을 요청하고 서버는 클라이언트 요청한 자원에 응답을 하는 프로토콜로 작동, 기본적으로 80번 포트 사용
-> HTTP 요청 메소드? GET / HEAD/ POST / PUT / DELETE / OPTION
- 0.0.0.0/0 = 모든 IPv4 주소
- ::/0 = 모든 IPv6 주소
- HTTPS?
Outbound rules
- 서버에서 나갈 수 있는 (반출할 수 있는) 데이터에 대한 규칙을 의미
- 보통 아웃바운드 규칙은 기본 옵션으로 모든 포트에게 허용
4. Elastic Load Balancer
Elastic Load Balancer은 들어오는 애플리케이션 트래픽을 Amazon EC2 인스턴스, 컨테이너, IP주소, Lambda 함수와 같은 여러 대상에 자동으로 분산시킴. Elastic Load Balancing은 단일 가용 영역 또는 여러 가용 영역에서 다양한 애플리케이션 부하 처리 가능
Elastic Load Balancing 이 제공하는 세가지 로드 밸런서는 모두 애플리케이션의 내결함성에 필요한 고가용성, 자동확장/축소, 강력한 보안을 가짐
어플리케이션 서비스가 죽지 않도록 만들기
Elastic Load Balancer 특징
1. IP가 지속적으로 바뀜
- 지속적으로 IP 주소가 바뀜 , 따라서 도메인 기반으로 사용해야함
2. Health Check
- 대상 그룹의 EC2의 상태를 체크하는것, 상태 체크에 통과하지 못한 EC2는 더이상 요청을 전달받지못함
- ELB의 상태 체크? TCP, HTTP, HTTPS가 있음
- 직접 트래픽을 발생시켜 Instance가 살아있는지 체크함
- InService, OutofService 두가지 상태로 나뉘어짐
3. 3가지 종류 존재
(1) Application Load Balancer
- OSI Layer의 7계층에 해당하는 Application Layer의 특성을 이용하는 로드밸런서
(2) Network Load Balancer
(3) Classic Load Balance
4. Elastic Load Balancer Node는 가용영역(Availabilty Zone, ZA)마다 하나씩 존재
- 가용영역에 있는 부하 분산 대상에 요청 전달, 하지만 위와 같이 불균형하게 된다면 ? 교차영역로드밸런싱(Cross Zone Load Balancing) 사용
Sticky Session?
- 첫 요청 이후의 모든 요청을 특정 서버로 고정하는 방법으로 세션 관리
- AWS ELB는 cookie를 사용하여 Http Response에 cookie를 이용해서 해당 클라이언트가 가야하는 EC2 instance의 정보를 저장해두고 그걸 활용하여 특정 EC2로 요청을 고정
- 단점 (1) 로드 밸런싱이 잘 동작하지 않을 수 있음 (2) 특정서버 과부하 올수 있음 (3) 특정 서버 Fail시 해당 서버에 붙어 있는 세션 소실 가능
--> Session Clustering 방식 (여러 WAS의 세션을 동일한 세션으로 관리) 사용하여 해결
실습
1. 2개의 다른 AZ에 웹 서버 생성하기
- 2개의 웹 서버를 생성하고 각각 AZ를 알 수 있도록 내용 표시
2. Application LoadBalancer를 적용해 트래픽이 분산되는지 확인하기
- 매번 갱신때마다 다른 AZ로 표시되는지 확인하기
3. Sticky Session 확인
5. AutoScaling
6. VPC
7. RDS
<출처>
1. https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=heo9910&logNo=222052801540
2. https://smjeon.dev/web/sticky-session/
3. https://aws-hyoh.tistory.com/133?category=768982
4.
'Programming > Cloud' 카테고리의 다른 글
[AWS/Cloud] AWS - Networking & Content Delivery / VPC 데모 (0) | 2021.05.09 |
---|---|
[AWS/Cloud] AWS데모 - Storage S3 데모 (0) | 2021.05.09 |
[Cloud] 클라우드 마이그레이션(Cloud Migration) 이란? cf) 데이터 마이그레이션 (0) | 2021.04.20 |
[Cloud] AWS/Azure/GCP 비교 (0) | 2021.04.11 |
[GCP/Cloud] Google Cloud Platform - 관리도구 (0) | 2021.04.07 |