이전 포스팅에서는 실제 인스턴스를 생성하기 전 기본적인 구성을 끝마쳤다.
본 편에서는 다음의 요소를 구성하고 설정할 예정이다.
EC2
를 검색하여 이동한다.키 페어
를 클릭 후, 키 페어 생성을 눌러 생성한다.규칙
에 따라 사진처럼 keypair-apne2-dev-public
으로 이름을 지정 후,생성
을 누른다.키 페어
가 생성됨이 확인되고, 다운로드
가 시작이 된다.
이때 생성되는 키 페어는
단 한번
만 다운로드가 가능하므로, 주의하자
잃어버릴 시, 키 페어를새로
생성해야 한다.
매우 위험
하다.적절한 보안 규칙
을 세워 키 페어를 관리
해야한다.인스턴스
를 클릭 후, 생성
을 클릭한다.AMI
를 선택
한다.
선택된 이미지는 아마존에서 지원하는
기본
이미지이다.
또한, 사진 좌측의AWS Marketplace
나커뮤티니 AMI
등에서
여러가지 옵션으로 준비된 이미지를 선택할 수 있다.
프리티어
를 사용하므로, 사진처럼 녹색
으로 표시된 t2.micro
를 선택한다.
여기서 유형 앞에
t
가 붙는 것은개발용
이거나테스트용
이라는 의미이다.
또한 t뒤에숫자
는세대
를 의미하며 클수록 최신이다.
다음: 인스턴스 세부 정보 구성
을 눌러 진행한다.
여기서
검토 및 시작
을 누르게되면 우리가 원하는VPC
구성을 진행할 수없다
.
그러므로주의
해서 진행하도록 하자.
네트워크
는 기본 VPC로 선택이 되어있는데, 우리가 만든 VPC
를 선택한다.서브넷
은 우리가 인스턴스를 생성할 서브넷을 지정해준다.퍼블릭 IP 자동할당
은 활성화
를 해준다.
외부와 통신하는 서비스는 활성화를 해줘야한다.
서비스를 재실행시, Public IP는고정
되지만, Private IP는변경
되기 때문이다.
종료 방지 기능 활성화
는 체크
하여준다.모니터링
은 활성화
하는 것을 권장한다.다음
을 눌러 진행한다.없으므로
다음을 눌러 진행한다.이름
을 참조하여 기존에 생성한
그룹을 선택한다.검토 및 시작
을 누른다.시작하기
를 누르면키 페어
선택화면이 표시된다.기존 키 페어
를 선택하고, 체크박스에 체크
하여 시작한다.노란색
으로 Pending
이라 표시되지만 당황하지 말자.준비 중
이라는 뜻이며, 곧 사진처럼 초록색
으로 running
이 표시될 것이다.인스턴스 ID
, 상태
, 유형
을 확인한다.가용영역
과 보안그룹
이 제대로 설정되었는지 확인한다.키 페어 이름
을 확인한다.퍼블릭 DNS
와 퍼블릭 IP
를 확인한다.ssh
로 접속할 때 , 이 주소를 사용할 것인다.VPC
가 제대로 할당되었는지 확인한다.연결
을 눌러 가이드를 확인한다. $ cd (디렉토리위치)
권한
을 다음 명령어로 변경
한다.
$ chmod 400 keypair-apne2-dev-public.pem
ssh
를 이용해 다음 명령으로 접속한다.
// 가이드에서 제공하는 DNS로 접속하는 방법
// 사진에서 제공하는 명령어를 그대로 사용하면 된다.
$ ssh -i "keypair-apne2-dev-public.pem" ec2-user@ec2-1X-XXX-XXX-XXX.ap-northeast-2.compute.amazonaws.com
// 퍼블릭 IP를 이용해 접속하는 방법
$ ssh -i "keypair-apne2-dev-public.pem" ec2-user@(본인의 퍼블릭 IP)
접속 허용 여부
를 묻는 문구가 등장한다.에러
발생시 6번으로)
The authenticity of host '1X.XXX.XXX.XXX (1X.XXX.XXX.XXX)' can't be established.
ECDSA key fingerprint is SHA256:+Kxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? yes
yes
를 입력해주면 다음과 같은 성공화면이 뜨게 된다.
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
2 package(s) needed for security, out of 13 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-10-0-1-97 ~]$
에러
를 마주할 때 몇 가지 대안을 소개한다.
ssh: connect to host 1X.XXX.XXX.XXX port 22: Connection timed out
22번 포트
가 열려있는지 확인라우팅 테이블
설정에서 인터넷 게이트웨이
의 설정 확인보안그룹
설정에서 인바운드 규칙
을 클릭하여규칙 편집
을 눌러 소스에서 내 ip
를 눌러 갱신
핫스팟
환경등 접속한 IP가달라질
경우, 보안그룹의 설정을갱신
해야한다.
그래도 안 될 경우, 이전 포스팅을 참고하여 차분히 하나씩 되짚어 보자.
윈도우
의 경우 여기를 확인하여 진행한다.Putty
를 설치한다.Puttygen
을 이용하여 다운로드 받은 .pem
파일을 .ppk
파일로 변환한다.Host Name
에 사진의 빨간 사각형의 정보를 붙여넣기 한다.Auth
를 클릭하여 변경한 .ppk
파일을 넣어준다.Open
을 눌러 접속을 진행하면 mac & linux의 경우와 동일하게 접속에 성공한다.에러
가 발생하거나, 접속이 안된다면, 위의 mac & linux 6번을 참조한다.이로써 VPC
를 하나 생성하고, 각종 설정
들을 한 뒤 실제 인스턴스 EC2
를 만들어 보았다.
생성한 EC2 인스턴스는 Bastion Host
역할을 하는 인스턴스로써,
VPC 내부의 Private
서브넷들을 관리하는 역할을 한다.
Bastion Host
도 생성하였으니, 이번에는 간단한 웹 서버
역할을 하는 인스턴스를 생성한다.
동일한 방식
으로 다음 조건의 서브넷과 인스턴스를 하나 더 생성한다.
동일
subnet-apne2c-dev-web
rt-apne2-dev-web
동일
sg_apne2_dev_web
ec2-apne2c-dev-web
동일
실제 개발을 진행할 때는
규칙
을 정하여다른
키 페어로 하자.
성공적으로 생성하였다면, 새로 생성한 인스턴스에 ssh
접속을 하여 다음 명령을 실행한다.
$ sudo yum update
$ sudo yum install httpd
$ sudo systemctl start httpd
$ curl localhost
sudo yum update 명령어를 사용하면
꽤
시간이 걸리는데 당황하지말고 그대로 두자.
다음과 같은 화면이 나오면 정상
실행이 된 것이다.
이로써 VPC
구성부터 시작해 인스턴스
의 구성까지 길었던 과정이 끝났다.
간단하게 Bastion Host
와 Web Server
를 구축하여 ssh 접속까지 해보았다.
실습에서 전부 다루지 못했던 부분은 다음과 같은데,
이어지는 포스팅에서 추가 설명으로 대체하겠다.
Private Subnet
을 구성하는 방법Private Subnet
에 접근하는 방법NAT
ELB
Elastic IP
S3