AWS

[deploy]AWS ec2 활용 참고

whitedeveloper 2023. 3. 31. 16:14

배포 환경을 구축하기 위해서는 서버용 PC가 필요합니다. 3주차에 싸피에서 지원받은 EC2를 사용하게 됩니다. 여기서는 개인 AWS 계정을 이용하여 EC2를 생성해보겠습니다.

 EC2란? : AWS에서 제공하는 클라우드 컴퓨팅 서비스

👉 로그인 및 콘솔 접속

aws 로그인 화면입니다. 계정이 없다면 만들어줍시다.

로그인에 성공하면 가장 먼저 해줄 것은 지역 설정입니다. 오른쪽 위의 지역을 클릭하여 서울로 만들어주겠습니다.

위 사진의 경로대로 따라가서 EC2 Management Console에 접속합니다.

👉 인스턴스 생성

빨간 상자의 인스턴스 시작 버튼을 클릭해 줍니다.

인스턴스를 생성하는 창입니다. 이름은 적당한 이름으로, OS는 싸피에서 제공되는 OS인 Ubuntu, 버전 정보는 정확하지는 않지만 싸피에서 20.04 버전을 제공하는 것으로 예상하고 20.04버전을 선택하겠습니다.

👉 인스턴스 유형

다음은 인스턴스 유형 칸입니다. 이 부분은 과금이 될 수 있는 부분으로 조심하셔야 합니다. AWS는 신규이용자에 한해서 1년간 프리티어 서비스를 통해 무료로 서버를 대여해주는 것으로 알고 있습니다.

프리티어 사용가능 이라고 적혀있는 유형은 일단은 무료로 이용할 수 있다고 생각하시면 됩니다.

하지만 무료버전에서는 배포 도중 자원 부족으로 서버 다운 등의 문제가 발생할 수 있습니다. 여기서는 잠깐 띄우고 삭제할 예정이므로 t3.medium 유형을 선택해주겠습니다.(시간당 71원 : 24시간 서비스 할 경우 한 달에 약 50000원 😮)

프리티어 메모리 스왑

👉 키 페어 생성

다음으로 새 키 페어 생성을 클릭해줍니다.

적당한 키 페어 이름을 설정하고, 키 페어 생성 버튼을 누르면 pem 파일을 다운로드 받을 수 있습니다. 이 파일은 AWS SSH 로그인이나 젠킨스 SSH 연결 등에 사용되는 중요한 키이므로 잘 저장해 둡시다.

키 페어에 생성한 키를 선택해줍니다.

👉 네트워크 설정

다음은 네트워크 설정입니다. 위 사진의 편집 버튼을 클릭해줍니다.

네트워크 설정은 기본적으로 22번 Port, SSH 연결만 허용되어 있습니다. 몇 가지 포트를 허용하는 규칙을 추가해보겠습니다.

보안 그룹 규칙 추가 버튼을 클릭합니다.

HTTP와 같이 80포트로 정해져 있는 것은 선택하여 바로 규칙으로 추가할 수 있고, 사용자 지정 포트도 규칙에 추가하여 허용해줄 수 있습니다.

저는 HTTP, HTTPS, 9090(jenkins), 8080(django Nginx 연결 이전) 포트를 개방해주었습니다.

그 아래의 소스 유형의 경우에는 접근 가능한 IP를 설정해 주는 부분입니다. 위치 무관을 선택하면 어디서든 해당 포트로 접속(0.0.0.0)이 가능합니다.

👉 스토리지 구성

스토리지는 프리티어 단계에서 최대 30GB까지 무료로 제공됩니다. 그 이상부터는 과금이 들어갑니다.

👉 인스턴스 시작

여기까지 설정이 완료되었으면 인스턴스 시작 버튼을 클릭하여 인스턴스를 시작하면 됩니다.

인스턴스 시작 성공 화면입니다.

👉 탄력적 IP

인스턴스 목록 창을 보면 방금 생성한 인스턴스가 있는 것을 확인할 수 있습니다.

제가 기존에 생성했던 인스턴스와 비교해보면 밑줄 쳐놓은 부분이 다른 것을 확인할 수 있습니다.

AWS에서는 인스턴스에 대해 퍼블릭 IP를 제공합니다. 하지만 이는 유동적으로 제공되는 IP로, 인스턴스를 중지했다가 다시 시작하면 기존의 IP가 아닌 새로운 IP가 부여되게 됩니다.

만약 서비스를 재시작했는데, 접속 IP가 변경되면 해당 서버에 접속하기가 어려워지겠죠? 그래서, AWS는 탄력적 IP를 제공함으로써 고정된 Public IP를 사용할 수 있게 해주었습니다.

탄력적 IP역시 과금이 들어가는 부분이 있습니다. 자세히는 모르지만 한 개만 사용할 때는 요금이 들지 않고, 1개 초과로 사용할 경우 요금이 발생하는 것으로 알고있습니다.

탄력적 IP 생성을 하기 위해 탭에서 탄력적 IP로 이동합니다.

할당 버튼을 클릭하면 탄력적 IP가 생성됩니다. 저는 미리 만들어둔 IP가 있으므로 생략하겠습니다.

이제, 할당한 탄력적 IP를 인스턴스에 연결해보겠습니다.

빨간색으로 칠해진 부분을 클릭합니다.

탄력적 IP 주소 연결 버튼을 클릭합니다.

인스턴스를 선택해주고, 재연결 허용여부 체크박스를 체크해줍니다. 그 후 연결 버튼 클릭 시 연결 완료입니다.

👉 SSH 연결

PC에서 SSH 연결을 진행해보겠습니다. 아까 키 페어 생성할 때 다운받은 Pem 파일이 있는 폴더에서 다음 명령어를 입력합니다. 이후 yes를 입력하면 접속이 완료됩니다.

😆 여기까지 완료했으면 AWS 세팅은 완료되었습니다! 싸피에서 EC2를 제공받을 경우 AWS 관련 설정이 다를 수 있습니다.