EC2

장현욱(Artlogy)·2022년 9월 18일
0

AWS

목록 보기
1/1
post-thumbnail

Quick Start

원하는 지역 선택

상단 헤더에 있는 지역을 원하는 곳으로 설정한다.
당연한 말이지만 서비스를 제공할 지역과 가까울수록 인터렉티브가 좋다.

인스턴스 시작

왼쪽 메뉴에서 EC2 대시보드를 선택하고 위 사진과 같이 인스턴스 시작 버튼을 눌러준다.

여기서 Instance는 하나의 서비스 서버 단위라고 생각하면 된다.

이름 만들기

원하는 인스턴스 명을 입력하면된다.
옆에 추가 태그 추가는 나중에 인스턴스가 많아질때 필터링을 위해 적용하는 것이다.

AMI


AMI(Amazon Marchine Image)의 약자로 인스턴스가 구동 될 시스템 환경을 뜻한다. Docker에 image개념과 비슷하다. 사용자가 배포 할 서비스마다 최적의 구동 환경이 있으니 거기에 맞춰서 선택해주면된다. 나는 테스트용으로 React 프로젝트를 배포 할 것이니 Amazon Linux환경에서 배포하겠다.

인스턴스 유형 ( 용량 + 속도 = 돈 )


서비스 환경 품질을 선택하는 것이다.
나는 테스트용이니 프리티어가 가능한 t2.micro를 선택하였다.
물론 저렴한 유형을 선택했다가 프로젝트가 커지면 규모에 맞는 유형으로 변경도 가능하니
잘모를땐 제일 저렴한 유형을 선택하는 것을 추천한다.

키 페어

인스턴스를 유지보수 할 때 비밀번호 같은것이다.
키페어 없이 만들수도있지만 이거 없으면 악의적인 사용자가 내 EC2에 접근해서
어마어마한 요금을 내야 할 수 있으니 아무리 작은 프로젝트라도 키페어는 만드는걸 추천한다.

키페어 생성

키페어 이름은 알아서 잘 지으면 되고 유형과 파일 형식에 대해 간단히 설명하고 넘어가겠다.

키페어 유형
RSA
RSA는 공개키 암호시스템의 하나로, 암호화뿐만 아니라 전자서명이 가능한 최초의 알고리즘으로 알려져 있다. RSA가 갖는 전자서명 기능은 인증을 요구하는 전자 상거래 등에 RSA의 광범위한 활용을 가능하게 하였다. RSA는 두 개의 키를 사용한다. 여기서 키란 메시지를 열고 잠그는 상수(constant)를 의미한다. 일반적으로 많은 공개키 알고리즘의 공개키(public key)는 모두에게 알려져 있으며 메시지를 암호화(encrypt)하는데 쓰이며, 암호화된 메시지는 개인키(private key)를 가진 자만이 복호화(decrypt)하여 열어볼 수 있다. 하지만 RSA 공개키 알고리즘은 이러한 제약조건이 없다. 즉 개인키로 암호화하여 공개키로 복호화할 수도 있다. 공개키 알고리즘은 누구나 어떤 메시지를 암호화할 수 있지만, 그것을 해독하여 열람할 수 있는 사람은 개인키를 지닌 단 한 사람만이 존재한다는 점에서 대칭키 알고리즘과 차이를 가진다.
ED25519
ED25519(Ed25519)는 ECC(Elliptic Curve Cryptography) 알고리즘으로 수행하도록 구현된 전자서명이다. 타원곡선 암호 알고리즘을 사용하는 공개키 암호화 방식은 기존의 RSA와 비교해서 동일한 안정성을 가지면서도 상대적으로 더 적은 길이의 키를 가진다고 한다. 컴퓨터 연산 속도가 발전함에 따라 일반적으로 사용되는 RSA의 권장되는 키 길이가 길어짐으로 인하여 일반 컴퓨터 또는 디바이스에서는 연산 속도가 느려지는 단점을 가지게 되고 상대적으로 작은 키 길이를 사용할 수 있으면서 동일한 안정성을 보여주므로 권장되는 공개키 암호화 방식이라고 할 수 있다.

<요약>
RSA보다 ED25519가 더 효율적이면서 보안성은 비슷하다.
ED25519 window환경에선 사용하기 어렵다.

프라이빗 키 파일 형식

.pem : 일반적인 서비스는 모두 이 확장자를 사용하면된다.
.pkk : PuTTY 환경(단말기)의 서비스라면 이 확장를 사용하면 된다.

네트워크 설정


여기서 네트워크, 서브넷, 퍼블릭 IP자동 할당은 넘어가고 보안그룹만 설명하겠다.

방화벽(보안 그룹)

EC2에서는 보안그룹 규칙을 통해서 인스턴스로 들어오고 나가는 트래픽을 세부적으로 제어 할 수 있다.
예를 들어 SSH접속 포트 22번은 PC에서만 접근가능하고 서비스 포트인 80인 모두에게 허용하는 식이다. 공유기로 포트포워딩이나 OS방화벽설정을 좀 깊게해봤다면 어떤 기능인지 감을 잡을것이다.

테스트 용으로 만든 방화벽 (HTTP는 나중에 HTTPS로 포트포워딩 해줄거다.)

스토리지(볼륨, 용량)

인스턴스가 가지게 될 용량을 뜻한다.

데이터베이스 서버라면 많은 용량이 필요하겠지만
프론트, 백앤드 배포환경을 구축하기 위함이라면 많은 용량은 필요없다.
볼륨유형은 AWS VOLUME에서 살펴보면 된다.

스냅샷 : 백업 저장소 (기본8GB)

종료시 삭제 : 인스턴스가 종료되면 저장된 데이터를 삭제할 여부

고정 IP

인스턴스도 하나의 서버이기 때문에 IP가 존재한다. 인스턴스를 중지하고 다시 시작할때도 새로운 IP가 할당 되기 때문에 인스턴스에 접근할때마다 바뀐 IP를 확인하고 접속하는 번거로움이 있다.
때문에 IP가 매번 변경되지 않고 고정IP(탄력적 IP)를 가지게 해야한다.

탄력적 주소 할당 버튼을 눌러주면된다.
기업이 아니라면 설정없이 바로 만들면된다.

고정 IP 주소 연결



연결할 인스턴스를 선택하고 프라이빗ip주소를 선택한 후 연결하면된다.

탄력적 IP 요금 탄력적 IP주소를 생성만하고 연결하지 않을 경우 매달 소량의 비용이 청구된다. 그러니 얼른 프리티어 인스턴스와 연결해주거나 사용하지 않는다면 삭제하자.

![](https://velog.velcdn.com/images/artlogy/post/43e3c748-dc04-4ebd-b96b-8e2aefac3200/image.png) 인스턴스 정보에 탄력적 ip주소가 할당되어 있다면 성공이다.

EC2 접속하기

나는 window wsl환경에서 작업했다는 것을 미리 알린다.
Ios도 결국 리눅스 환경이니 window환경에서 작업하는 사람들은 wsl환경을 구축하길 바란다.

접속 할 인스턴스 상세 정보에 가서 연결을 누른다.


SSH 클라이언트 탭을 누르고 순서대로 진행하면된다.

마지막 단계를 입력하고 앤터를 누르면 위와 같은 텍스트가 나올텐데 그냥 정말 연결할껀지 재차 묻는거니깐 YES를 입력하고 앤터를 누른다.
접속이 완료되었다.

0개의 댓글