아직 AWS 계정 생성 전이면 아래의 링크에서 계정 생성을 해주세요
AWS 프리 티어 계정 생성
AWS EC2
Amazon Elastic Compute Cloud(Amazon EC2)는 Amazon Web Services(AWS)에서 제공하는 클라우드 컴퓨팅 서비스다. EC2를 사용하면 하드웨어 비용이 절감되므로 애플리케이션을 더욱 빠르게 개발하고 배포할 수 있다.
EC2 인스턴스의 온디맨드 요금은 아래의 링크에서 참고하시기 바랍니다.
Amazon EC2의 온디맨드 플랜
AWS EC2 구축
1. EC2 페이지 이동
일단 EC2 인스턴스를 생성하기 위해 3가지 방법으로 손쉽게 이동할 수 있다.
3가지 중에 편하신 방법으로 EC2 페이지로 이동해 주세요.
2. 인스턴스(Instances) > 서울 리전 > 인스턴스 시작(Launch instances)
2번에 서울 리전이 아니라면 서울 리전으로 변경해 주세요
3. 인스턴스 시작(Launch instances) - 인스턴스 설정
인스턴스 명을 입력하고 원하는 AMI를 선택합니다. 저는 Ubuntu(우분투) OS를 선택했습니다.
AMI(Amazon Machine Image)는 서버에 필요한 운영체제(OS)와 여러 소프트웨어들이 구성된 템플릿입니다.
우분투를 선택하면 현재는 기본 설정이 Ubuntu Server 24.04 LTS 버전으로 설정이 됩니다.
그리고 OS 버전 맨 오른쪽에 "free tier eligible"로 표시되어 있는데 프리 티어로 이용 가능한 버전이라고 명시되어 있습니다.
현재는 프리 티어로 이용 가능한 버전은 24.04와 22.04 LTS 버전 2개가 있습니다.(12개월 무료이지만, 트래픽이 많이 발생하거나 용량이 큰 트래픽을 처리하게 되면 요금이 청구될 수 있으니 주의해야 합니다)
2025년 1월 31일 현재는 프리 티어 세부 정보에서 EC2를 "리전에 따라 Linux, RHEL 또는 SLES t2.micro 또는 t3.micro 인스턴스를 매월 750시간 제공"한다고 명시되어 있습니다.
t3.micro가 t2.micro보다 CPU가 좋은데 요금도 조금 더 저렴하기에 t3.micro를 사용하려고 했지만...
리전 목록에 나오는 리전들을 하나씩 확인해 본 결과 Europe(Stockholm)만 t3.micro를 프리 티어로 사용 가능한 상태였습니다.😪
Key pair에서 키를 발급한 적이 있다면 선택하고 발급받은 적이 없으면 "Create new key pair"를 클릭해 키를 발급받습니다.
이 Key pair는 인스턴트에 접속하기 위한 물리 키입니다. aws에 로그인할 때 이메일과 비밀번호를 입력해서 로그인하듯이 입력 정보 대신에 pem 파일을 사용합니다. .pem 파일이 있어야만 EC2 인스턴스에 접근이 가능하기 때문에 키를 발급받으면 내 PC에 다운로드되는 "키페어명.pem" 파일을 잘 보관해두셔야 합니다.
네트워크 설정은 기본 설정 상태인 "보안 그룹 생성" 선택과 "SSH 트래픽 허용에 대한 'Anywhere 0.0.0.0/0' 전체 허용"인 상태로 넘어가겠습니다. SSH 접근을 전체 허용인 상태로 지정하면 보안상 안 좋은데 뒤에서 다시 보안 설정을 할 거여서 지금은 넘어가겠습니다. 미리 설정하실 분은 "Anywhere 0.0.0.0/0"를 클릭해 "My IP"로 변경하셔도 됩니다. 뒤에서 하는 내용이랑 동일합니다.
마지막으로 스토리지 구성(Configure storage)에서 30GiB로 변경합니다.
알림 창에 "프리 티어를 사용할 수 있는 고객은 최대 30GB의 EBS 범용(SSD) 또는 마그네틱 스토리지를 사용할 수 있습니다." 표시되어 있기 때문에 30GB로 설정했습니다. 다음으로 "Launch instance" 클릭해 인스턴스를 시작해 줍니다.
왼쪽 이미지와 같이 인스턴스 생성 중이 나오고 생성이 완료가 되면 오른쪽 이미지와 같이 나오게 됩니다.
성공 페이지 맨 아래에 모든 인스턴스 보기(View all instances)를 클릭해 이동합니다.
내 인스턴스 목록에 방금 생성한 인스턴스가 있는 것을 확인할 수 있고 실행 중인 것을 볼 수 있습니다.
4. EC2 인스턴스 보안 설정
생성한 인스턴스에 접근할 수 있는 권한을 설정해 보겠습니다. 인스턴스 생성 시에 보안 그룹을 생성했었습니다.
Network & Security > Security Groups > 보안 그룹 선택 > 인바운드 규칙(Inbound rules)으로 이동합니다.
인바운드 규칙에 보면 인스턴스 생성 시에 설정한 "SSH 트래픽 허용에 대한 'Anywhere 0.0.0.0/0' 전체 허용" 목록을 보실 수 있습니다. 인바운드 규칙 편집(Edit inbound rules) 클릭해 인바운드 규칙을 편집합니다.
SSH 접근을 내 IP만 허용하도록 변경하고 규칙 저장(Save rules) 클릭합니다.
다시 왼쪽 카테고리에서 Instances > Instances를 클릭해 내 인스턴스 목록으로 돌아갑니다.
5. EC2 인스턴스 연결
내 인스턴스에 마우스 오른쪽 클릭해 연결(Connect)을 클릭합니다.
"SSH client" 탭을 클릭하면 SSH로 접근할 수 있는 방법을 알려줍니다. 그대로 따라서 하면 됩니다.
- 다운로드한 pem 키 파일의 권한을 "400"으로 설정합니다.
저는 pem 파일의 위치를 .ssh 하위 디렉터리로 옮긴 상태입니다.
chmod 400 ~/.ssh/my_aws_key.pem
권한 문제로 위 명령어가 안되면 "sudo"를 사용해서 실행합니다.
sudo chmod 400 ~/.ssh/my_aws_key.pem
- ssh 명령어로 인스턴스에 접근합니다.
# ssh -i [pem키 경로/파일명] [AMI 사용자이름]@[인스턴스의 Public DNS]
ssh -i ~/.ssh/my_aws_key.pem ubuntu@ec2-3-36-100-122.ap-northeast-2.compute.amazonaws.com
인스턴스 AMI의 기본 사용자 이름은 다음과 같습니다.
- Amazon Linux AMI: ec2-user
- CentOS AMI: centos or ec2-user
- Debian AMI: admin
- Fedora AMI: fedora or ec2-user
- RHEL AMI: ec2-user or root
- SUSE AMI: ec2-user or root
- Ubuntu AMI: ubuntu
- Oracle AMI: ec2-user
- Bitnami AMI: bitnami
![](https://blog.kakaocdn.net/dn/sGvR8/btsL3XpfsT7/4z9n5JE2OBlDPCFR2HKG0K/img.png)
![](https://blog.kakaocdn.net/dn/ey0517/btsL4ofNtPH/IIQ9lAgZEVPHCPVer55MSk/img.png)
Ubuntu OS를 사용하고 있어서 Ubuntu 터미널을 사용했지만 Windows 사용자면 "git bash"를 사용해서 진행하시면 됩니다.
터미널이 아닌 SSH Tool을 이용하셔도 편하게 접근할 수 있습니다.
6. EC2 인스턴스 간편 연결
SSH Tool을 이용하면 접근하는데 필요한 정보들을 등록하고 사용하면 매번 귀찮게 명령어에 사용자명, public dns를 안 적어도 되지만 터미널을 사용한다면 귀찮기 때문에 미리 파일에 정보들을 저장하면 더 간편하게 접근할 수 있습니다.
1. .ssh/config 파일
.ssh 하위에 config 파일이 없다면 "config" 명칭으로 파일을 하나 생성합니다.
vim ~/.ssh/config
2. config 파일 내용 작성
다음과 같은 내용을 알맞게 작성한다.
- Host: 접속할 이름명("ssh 이름명"으로 접근합니다.)
- HostName: 연결될 서버 호스트명 (미 설정 시 Host명이 HostName명에 사용됩니다.)
- User: 네트워크 연결에 사용되는 계정명
- IdentityFile: pem키 파일 위치
3. EC2 SSH 접근
이제 Host에 설정한 이름으로 쉽게 접근할 수 있습니다.
ssh aws-ec2
접속이 성공한 것을 확인할 수 있습니다.
다만, ec2 인스턴스는 "Public IP", "Public DNS"는 계속 변경이 되기 때문에 접근 설정을 해놨어도 다음 날에 다시 접근하려고 하면 변경이 돼서 안될 겁니다.
그래서 Elastic IP addresses(EIP) 고정 IP를 등록해서 사용해야 매번 바뀌지 않고 사용할 수 있습니다.
🔗 Reference
'aws' 카테고리의 다른 글
AWS 프리티어 계정 생성(회원 가입) (0) | 2025.01.29 |
---|