[AWS] 클라우드 컴퓨팅과 AWS 실습
클라우드 컴퓨팅이란?
클라우드 컴퓨팅은 IT자원을 인터넷을 통해 제공하고 사용한 만큼만 비용을 지불하는 것을말한다.
물리적 데이터 센터와 서버를 구입, 소유 및 유지 관리하는 대신 클라우드 공급자로부터 필요에 따라 컴퓨팅 파워, 스토리지, 데이터 베이스와 같은 기술 서비스를 사용할 수 있다.
리전, 가용영역, 엣지 로케이션이란?
리전 : 서비스들이 제공되는 서버의 물리적인 국가/도시 단위의 위치
기영영역 : 논리적 데이터 센터의 각 그룹/ 각 리전 안의 데이터 센터
엣지 로케이션 : 여러 서비스들을 가장 빠른 속도로 제공하기 위한 거점
클라우드의 4가지 종류
On Premises
서버 구축 부터 하드웨어까지 모든것을 직접 하는 것.
IaaS (Infrastructure as a Service)
가상화 기술과 물리적 자원, 즉 인프라만 제공. Amazon AWS, MS Azure, Google GCP 등
PaaS (Platform as a Service)
개발에 필요한 환경, 즉 플랫폼까지만 빌려주고 앱과 데이터는 기업이 직접 운영.
AWS Elastic Beanstalk, Heroku, Red Hat OpenShift 등
SaaS (Software as a Service)
전통적인 IT 솔루션 (사용자의 하드웨어·소프트웨어)을 모두 서비스.
Dropbox, Salesforce, Google Drive, Naver MYBOX 등
서비스들의 필요성 및 특징, 역할
[AWS] AWS Basic Services
EC2 (Elastic Compute Cloud)클라우드에서 탄력적으로 컴퓨팅 자원을 제공해주는 서비스이다.EC2는 가상 머신을 인터넷을 통해서 제공해주는 서비스이기 때문에 가상 서버 서비스라고 부른다.또한 리소
slowprogramer.tistory.com
AWS EC2와 Elastic IP 사용해보기
EC2 인스턴스 생성하기
이름과 원하는 OS 이미지를 선택 한 후 인스턴스 유형, 키페어를 선택하여 인스턴스를 시작
SSH를 사용해서 접속하기
인스턴스의 Public IP와 EC2 인스턴스 생성 시 발급받은 키(.pem)을 이용해서 접속
접속전 키의 모드를 최소로 주어줘야 오류가 발생하지 않는다.
이는 보안을 위해서 최소한의 권한만 키 파일에 부여해야 하기때문이다.
키파일 권한 변경
chmod 400 'key file path' #파일 소유자만 읽을 수 있는 권한 설정
SSH를 통해 접속
ssh -i 'key file path' 'os_user_name'@'public_ip'
3000번 포트를 통해 접속 가능하도록 보안 규칙 추가하기
보안 탭의 인바운드 규칙을 수정 한다.
보안 그룹을 클릭 후 인바운드 규칙 수정한다.
규칙 추가를 누른 후 유형은 TCP 포트범위 3000 소스 Anywhere-IPv4을 선택 후 설명을 입력해서 규칙을 저장한다.
Elastic IP 할당 받기
우측 메뉴리스트에서 탄력적 IP 클릭을 한뒤 우측 상단의 탄력적 IP 주소 할당을 클릭 후 할당 버튼을 클릭하여 할당 받음
EC2에 Elastic IP를 연결하기
원하는 탄력적 IP선택후 작업을 눌러 탄력적 IP 주소연결 클릭
원하는 인스턴스를 선택 한 뒤 연결 클릭
Elastic IP를 통해서 SSH 접속하기
기존 방식과 동일하나 인스턴스 정보에 탄력적 주소를 이용해서 접속 한다.
ssh -i 'key file path' 'os_user_name'@'Elastic IP'
EC2인스턴스에서 Elastic IP 연결 해제하기
원하는 탄력적 IP를 선택하고 탄력적 IP 주소 연결 해제 클릭
할당 받은 Elastic IP 릴리즈 하기
원하는 탄력적 IP를 선택하고 탄력적 IP 주소 릴리즈 클릭
(탄력적 IP는 연결 되어있지 않으면 과금 되므로 꼭 해제후 릴리즈해 반납을 하자!)
EC2 인스턴스 종료하기
원하는 인스턴스를 선택후 인스턴스 종료 버튼 클릭
EBS 사용해보기
EC2 인스턴스 생성하기 (서울 리전, Ubuntu, t2.micro)
EBS 볼륨 생성하기
EC2 인스턴스에 EBS 볼륨 연결하기
EC2 인스턴스에 EBS 볼륨 제거하기
EBS 볼륨 삭제하기
EC2 인스턴스 종료하기
ELB(Elastic Load Balancing) 사용해보기
EC2 인스턴스 생성하기 (2개, 서로 다른 가용영역 (availability zone))
EC2 인스턴스 생성간 네트워크 설정의 서브넷 설정을 통해서 다른 가용영역에 인스턴스 생성
ALB와 대상그룹 생성하기
네트워크 맵핑에는 반드시 인스턴스가 포함된 가용영역을 선택해야 한다.
포함해야 할 인스턴스를 클릭후 '아래에 보류 중인 것으로 포함' 클릭
생성한 대상그룹을 선택하고 로드밸러서 생성
EC2 인스턴스를 대상그룹에 포함시키기
대상 등록 클릭
추가할 인스턴스 클릭 후 '아래에 보류 중인 것으로 포함 클릭
보류 중인 대상 등록
ALB 주소를 통해 EC2 인스턴스에 접속하기
로드 밸런서의 DNS로 접속
작성 된 글을 ALB를 통해서 볼 수 있음
EC2 인스턴스 종료하기
Auto Scaling 사용해보기
EC2 인스턴스 생성하기
ALB 생성하기
생성한 EC2 인스턴스를 기반으로 AMI를 생성하기
ASG (Auto Scaling Group) 생성하기
시작템플릿 선택하면 되나 현재 시작 템플릿이 없기 때문에 생성
AMI 선택 및 세부 사항들을 선택하고 템플릿 생성
가용영역 선택, 선택시 대상 그룹의 가용 영역과 동일하게 설정해야 함
정보를 검토하고 Auto Scaling그룹 생성
EC2 인스턴스에 SSH로 접속하고 stress를 사용하여 Auto Scaling 작동 테스트하기
스트레스 프로그램을 이용해서 CPU에 부하를 걸어서 AutoScaling작동 확인
RDS 사용해보기
RDS 인스턴스 생성하기
원하는 데이터 베이스 선택
템플릿 선택
데이터 베이스(인스턴스)이름 및 암호 설정
액세스 방식, 보안그룹 설정
MySQL Workbench를 사용하여 RDS 인스턴스에 접속하기
접속 정보 입력, Hostname에 엔드포인트를 넣어준다
서버 상태 확인해보기
RDS 인스턴스 삭제하기
S3(기본) 사용해보기
S3 버킷 생성하기
생성한 버킷에 파일 업로드 하기
업로드한 파일 다운로드 받기
다운로드 버튼을 클릭하여 다운 가능
폴더를 생성하고 폴더로 파일 복제하기
폴더 만들기 클릭 후 폴더 생성
원하는 파일 선택 후 복사
S3(정적 웹사이트 호스팅) 사용해보기
버킷의 정적 웹사이트 호스팅 활성화 하기
속성 탭 아래의 정적 웹 사이트 호스팅 활성화
생성한 버킷에 간단하게 작성한 index.html 파일 업로드하기
버킷의 퍼블릭 액세스 차단 해제 하기
버킷 정책 편집하기 (외부에서 모든 객체에 접근할 수 있도록)
편집 클릭
정책 생성기로 정책 생성
버킷 웹 사이트 엔드포인트로 접속하여 웹 사이트가 잘 나오는지 확인하기
버킷 삭제하기
비어있음 버튼으로 버킷 내 내용을 지우고 삭제를 클릭하여 삭제
CloudFront 사용해보기
S3 버킷 생성하기
생성한 버킷을 origin으로 하는 CloudFront 배포 생성하기
원본 관련 옵션 및 제어 설정 생성 후 설정
배포 생성 후 S3 버킷 정책 업데이트 하기
CloudFront 배포 도메인 이름으로 접속하여 객체가 잘 나오는지 확인하기
주피터 노트북 파일이므로 다운로드가 활성
CloudFront 배포 및 S3 버킷 삭제하기
비활성화 진행
삭제
Route53 사용해보기
호스팅 영역 생성하기
A 레코드 추가하기
CNAME 레코드 추가하기
NS, SOA 레코드를 제외한 모든 레코드 삭제하기
호스팅 영역 삭제하기
IAM 사용해보기
IAM 사용자 생성하기
생성한 IAM 사용자로 AWS 콘솔 로그인하기
EC2 페이지 접속하여 잘 나오는지 확인하기
IAM 사용자 삭제하기
DynamoDB 사용해보기
스키마 설계 후 DynamoDB 테이블 생성하기