인터넷을 통해 언제 어디서든지 원하는 때 원하는 만큼의 IT 리소스(컴퓨팅, 스토리지, 네트워크)를 손쉽게 사용할 수 있게 하는 서비스
1) AWS 관리 콘솔(서울 리전) - EC2 서비스
2) 좌측 메뉴 : 네트워크 및 보안 - 키 페어
3) 키 페어 생성 클릭 및 설정
4) 생성된 개인키 파일을 로컬 컴퓨터에 잘 보관할 것
키 분실할 경우
- System Manager Session Manager를 이용해 접근 후 관리자 권한 상승으로 임시 조치 가능
- http://bit.ly/cnba0101
1) AMI 선택 ➡ Amazon Linux 2 AMI
2) 인스턴스 유형 ➡ t2.micro
3) 인스턴스 세부 정보 ➡ 네트워크/서브넷: 기본값, 퍼블릭 IP 자동 할당: 활성화, 나머지는 기본값
4) 스토리지 추가 ➡ 기본 값
5) 태그 추가 ➡ [태그 추가], 키: Name, 값: WebServer
6) 보안 그룹 ➡ SSH(내 IP), 규칙 추가, HTTP(위치 무관)
7) 키 페어 선택 ➡ 3.5항에서 생성한 키 페어 생성
8) 인스턴스에서 퍼블릭 IP 확인 ➡ 메모해둘 것
9) 윈도우 OS ➡ PuTTY 다운로드
10) PuTTY SSH 설정 (키 페어 파일 지정) ➡ PuTTY
- Connection
- SSH
- Auth
11) 퍼블릭 IP로 SSH 접속 시도 ➡ PuTTY
- Session
- Host name에 퍼블릭 IP
입력 - Open
12) SSH 터미널 생성 & SSH 암호 통신을 위한 SSH 서버(EC2 인스턴스)의 키 다운
13) EC2 인스턴스 로그인 (ec2-user 입력)
14) EC2 인스턴스 SSH 터미널에서 웹 설정
sudo su -
yum install httpd -y
systemctl start httpd
echo "<h1>Test Web Server</h1>" > /var/www/html/index.html
curl localhost
15) 사용자 PC의 웹브라우저에서 http://퍼블릭IP
로 접근
16) 서비스 ➡ EC2 ➡ 인스턴스 ➡ 인스턴스 선택 ➡ 작업 ➡ 인스턴스 상태 ➡ 종료
YAML 형식의 코드를 통해 다음을 정의해 배포할 수 있다.
Parameters:
KeyName:
Description: Name of an existing EC2 KeyPair to enable SSH access to the instances. Linked to AWS Parameter
Type: AWS::EC2::KeyPair::KeyName
ConstraintDescription: must be the name of an existing EC2 KeyPair.
LatestAmiId:
Description: (DO NOT CHANGE)
Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>'
Default: '/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2'
AllowedValues:
- /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2
Resources:
MyInstance:
Type: AWS::EC2::Instance
Properties:
ImageId: !Ref LatestAmiId
InstanceType: t2.micro
KeyName: !Ref KeyName
Tags:
- Key: Name
Value: WebServer
SecurityGroups:
- !Ref MySG
UserData:
Fn::Base64:
!Sub |
#!/bin/bash
yum install httpd -y
systemctl start httpd && systemctl enable httpd
echo "<h1>Test Web Server</h1>" > /var/www/html/index.html
MySG:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Enable HTTP access via port 80 and SSH access via port 22
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
- IpProtocol: tcp
FromPort: 22
ToPort: 22
CidrIp: 0.0.0.0/0
1) 서비스 - CloudFormation - 스택 생성
2) 템플릿 지정 | 준비된 템플릿 - 템플릿 파일 업로드
3) 스택 세부 정보 지정 | 임의의 스택 이름 지정
4) KeyName | 이전 생성한 자신의 키 페어 선택
5) 옵션, 검토 부분 단계 생략
6) 스택 생성
7) 생성된 자원 확인 | 서비스 - EC2 - 인스턴스 - 인스턴스
8) 생성된 EC2 인스턴스 SSH 접속
9) 생성된 EC2 인스턴스 웹 서비스 접속
10) 스택 삭제 | 서비스 - CloudFormation - 스택 - 생성한 스택 선택 - 삭제 - 스택 삭제
11) 삭제된 자원 확인 | EC2 - 인스턴스 - 인스턴스