IT 직무캠프 1주차

박상현·2025년 7월 21일

IT 직무캠프

목록 보기
2/7

드디어 처음으로 IT직무캠프 1주차를 시작했다. 대면 3번, 비대면 2번으로 진행되는 캠프였다.

1주차에는 기본적인 IT관련된 직무들과 네트워크에 관해서 간단하게 배웠는데 나는 기획 쪽에 관심이 많기 때문에 기획 관련된 IT직무 부분을 저장해놨다.

그리고 네트워크에서 가장 중요한 AWS에 대해 간단하게 배우고 그와 관련된 1주차 실습 과제를 받았다.

1주차 과제 목표


1주차 과제는 아래 사이트를 참조하여 웹 서버 하나를 만들어보는 것이였다.
업무 가이드가 상세하게 나와있었지만, 공식 문서를 참고하면서 차근차근 따라가봤다.
AWS로 EC2시작하기

먼저 AWS 계정부터 생성했다. 예전에 분명히 @naver.com으로 만든 계정이 있었는데, 비밀번호가 기억이 나지 않아서 찾고 이것저것 해보다가 그냥 처음 시작한다는 느낌으로 학교 계정으로 새로 생성했다.

  • AWS는 Public Cloud이다. Public Cloud는 클라우드 컴퓨팅의 한 유형으로, 서브시 제공업체가 인터넷을 통해 다양한 컴퓨팅 자원(서버, 스토리지, 네트워크, 데이터베이스 등)을 대중에게 제공하는 것을 의미한다.
  • Public Cloud를 쓰지 않는다면, IDC(데이터센터)와 계약하여 원격에 있는 서버를 사용하게 된다. IDC방식은 Public Cloud처럼 필요한 만큼 그 때 그 때 추가하지 못하고 수 일 ~ 수 주에 걸쳐 계약을 해야한다는 단점이 있다. 이러한 Public Cloud 시장을 실제로 점유하고 있는 서비스 제공업체는 AWS이다.

학습하는 입장에서 AWS로 공부하는 것이 가장 도움이 된다고 해서 AWS에 대해 깊이 공부할 수 있는 기회가 됐다.

AWS계정을 생성하고 나면 가장 먼저 해야할 일은 비용 모니터링 설정하는 것이였다. 내 주변에서 AWS에서 서버 비용이 몇십만원 단위로 나왔다는 이야기를 종종 들어봐서 비용 모니터링에 대해서는 나도 가장 중요하다고 인지하고 있었다. 그래서 제로 지출 예산을 만들어봤다.

이제 본격적으로 웹 서버를 구축해보자

절 대 리 젼 정 보 를 확 인 해 (반드시 '서울' 또는 '글로벌'로 할 것!!)

VPC

VPC는 Virtual Private Cloud의 약자로, 프라이빗한 네트워크 공간을 의미한다. 가장 큰 네트워크 공간으로 이해하면 될 듯하다.
먼저 VPC를 검색해서 서비스에 진입한 후, 업무 가이드에서 제공해준 IP대역대 10.12.0.0/16을 입력하고 생성해봤다.

서브넷


다음으로는 서브넷이다.
마찬가지로 서브넷 메뉴로 이동한 후, 서브넷 생성을 할 때 방금 전에 만들어놨던 VPC의 ID와 동일한 것을 선택한 후 이름, 가용영역, IP대역대를 입력한다. 이 때 가용영역은 실제 데이터센터가 존재하는 위치에 따라 변경되는 값이다. 지금 내가 사용하고 있는 프리티어 서버로 쓰기에 아무 제약이 없는 존은 a,c존이다.
서브넷 생성까지 완료했다.

인터넷게이트웨이


이제 VPC 내의 자원들이 인터넷망을 쓸 수 있도록 게이트웨이를 생성해보자.
인터넷 게이트웨이 서비스에 들어가서 이름을 입력하고 게이트웨이를 생성하면 된다. 이후에 작업>VPC연결을 선택해서 처음에 만들었던 VPC ID에 맞게 선택하고 연결을 누르면 된다. 이 때 인터넷게이트웨이는 인터넷으로 나가는 관문 역할을 한다. 이제 라우팅 테이블을 설정해야하는데, 라우팅 테이블 서비스에 들어가서 VPC ID를 확인 한 후 라우팅테이블의 라우팅 탭을 통해 편집을 해야한다. 라우팅 추가 버튼을 클릭한 후 대상에 0.0.0.0/0을 입력하고 저장해보자. 라우팅은 어디서 들어온 트래픽이 어디로 갈 지 알려주는 역할을 한다. 어디에서든지(0.0.0.0/0) 들어온 트래픽이 인터넷게이트웨이를 쓸 수 있도록 설정한 상태이다

EC2 보안그룹

EC2는 계정가입 후 1년동안, 한 달에 750시간 무료이다. 750시간은 보통 EC2 한 대를 한달 내내 켜놓을 수 있는 시간으로, 2대 이상 사용하게 되면 한달 간 EC2 운영시간이 750시간이 넘지 않도록 유의해야한다. 그래서 보통 AWS에는 한 사람이 계정을 만들 수 있는 개수가 정해지지 않으므로, 여러 계정을 사용하는 것도 한 방법이다. 보안그룹 생성을 하고 인바운드 규칙을 확인한다. 보안그룹 중 인바운드는 EC2로 들어오는 방향에 제어를 설정하는 것이다

  • TCP, 22, 내 IP : 서버에 접속할 수 있는 SSH 접속을 내 IP에서만 허용한다
  • TCP, 80, 내 IP : HTTP로 웹 접근이 가능하도록 내 IP만 허용한다.
    아웃바운드 규칙을 확인하고 기본적으로 모두 허용되어 있는 형태를 유지한다. 아웃바운드는 EC2에서 나가는 쪽 제어이다.
    다만, 내 IP가 변경되는 경우 보안그룹 인바운드를 수정해야 함을 명심하자.

EC2 인스턴스


이제 서브넷 네트워크 자원을 사용하는 가상서버 인스턴스를 생성해보자.
이름을 입력하고, 이미지의 종류 중 프리티어로 사용할 수 있는 Amazane Linux2AMI(HVM)을 선택한다.
EC2의 스팩을 선택하는데, 프리티어로 사용가능한 t2.micro를 선택해주자. vCPU는 가상 CPU로 실제 물리 CPU를 논리적으로 쪼개서 사용하는 개념이다. 즉 vCPU가 1이면 CPU가 실제로는 1개도 아닌 것이다. (그래서 무료) EBS는 스토리지 종류로, EC2는 기본적으로 EBS를 사용한다
이제 키페어를 생성하고 다운로드를 받는다. 네트워크 설정은 반드시 편집 버튼을 누른 후, 이전에 만들었던 VPC, 서브넷을 선택하고 퍼블릭 IP 자동 할당을 활성화로 바꾸어 인터넷망 사용이 가능하도록 한다.
보안그룹을 선택하고 이외에는 기본값으로 놓는다. 스토리지도 마찬가지로 프리티어 범위에 맞춰 30GB 내에서 선택할 수 있지만, 기본적으로 입력된 8GiB도 충분하다. 고급 세부정보에서 종료 동작을 종료로 변경한다. (인스턴스를 삭제하려고 했는데 실수로 일시중지시켜 놓는 실수를 방지함) 이렇게 인스턴스 생성 버튼을 누르고 실행 중 상태가 될 때까지 기다린다.

MAC에서 EC2 접근하기

1) pem 파일을 사용하기 편한 위치로 옮긴다. Finder > 다운로드한 pem 파일을 옮겨준다. 실습할 때는 /Users/.aws 숨김 폴더에 저장했다. (command + shift + . 을 누르면 숨김 폴더 볼 수 있음)
2) 인스턴스를 선택하고 연결 버튼을 클릭한다. 이 때, SSH 클라이언트 탭에서 연결 안내문을 확인한다.
3) 맥 터미널에서 pem 파일이 위치한 곳으로 이동한 후 키 파일의 소유권한을 변경한다.
chmod 400 "example-keypair.pem"
4) 접속명령어로 접속한다. ssh -i "example-keypair.pem" ec2-users@publicIP주소
5) 처음 연결 시 신뢰가능한 서버인지를 물어본다면 yes를 입력한다.
6) 연결이 완료되면 커서의 앞에 [ec2-user]가 나오게 된다. 이를 통해 연결을 확인한다!

웹 서버 설치하기

이제 거의 다 왔다. 만든 EC2 인스턴스는 컴퓨터에 비유할 수 있다. 컴퓨터로 일을 하려면 프로그램을 설치해야 하듯이 이제 프로그램을 설치하는 단계이다. 누군가가 이 인스턴스에 연락을 하면, http 코드를 반환할 수 있도록 하는 웹서핑 프로그램이라고 한다. 오픈소스를 제공하는 아파치에서는 httpd 프로그램을 제공하고 있는데 설치해보도록 하자.

1) yum 명령어로 httpd를 설치한다 -sudo yum install httpd -y
2) 다음 명령어로 httpd를 실행한다 -sudo service httpd start
3) 다음 명령어로 인스턴스를 재시작해도 httpd가 자동으로 실행되도록 변경한다
-sudo chkconfig httpd on
4) 다음 명령어로 httpd의 현재 상태를 확인할 수 있다. 초록색 active(running)이 있어야 정상이다
-sudo systemctl status httpd

5) q를 입력해서 status 상태보기를 빠져나간 후 크롬과 같은 웹 브라우저에 EC2의 퍼블릭 IP로 접근한다.
주소: http://ec2@public ip:80
이렇게 Test Page가 나온다면 성공!

탄력적 IP와 스냅샷 사용하기

추가 실습으로 탄력적 IP주소를 할당해보는 것도 있었다.
1) 먼저 고정IP를 부여해보자. 고정IP가 없으면 EC2가 중지되고, 재시작했을 때 매번 IP가 변경되는 번거로움이 있다. 탄력적 IP 생성을 한 후, 탄력적 IP주소를 연결하고 인스턴스 정보에서 할당된 내용을 확인하면 된다.

2) 이제 스냅샷 백업본 이미지도 만들어볼 것인데, EC2의 백업은 AMI + EBS를 동시에 백업한다.
AMI는 우리가 처음에 EC2만들 때 제일 위에 있던 Amazon Linux AMI를 사용했던 것처럼 OS의 정보가 담겨져 있다. EBS는 스토리지로 저장장치이다. 이제 AMI 메뉴에서 이미지를 생성하면 된다. ESB 메뉴에서도 저장장치의 백업정보인 스냅샷을 확인할 수 있다.


이제 AMI를 통해서 복원할 수 있다!

정리하기

만든 리소스들을 삭제해야하는데, 리소스를 삭제하는 방법은 생성한 순서의 역순이다
1) EC2 인스턴스를 삭제(종료)한다.
2) 탄력적 IP 주소를 만들었을 경우 주소를 연결해제 후 릴리스한다
3) 보안그룹을 삭제한다
4) AMI 및 스냅샷까지 삭제한다
5) VPC, Subnet, 인터넷게이트웨이, 라우팅 테이블을 삭제한다.

비용 확인하기

클라우드의 비용은 준실시간 계산되어 대시보드로 확인할 수 있다. 예상치 못한 비용이 발생했는지 알아보기 위해 습관적으로 비용을 확인하도록 하자!

이렇게 AWS를 통해서 웹 서버 구축하는 실습을 해봤다.
그리고 웹 서버 구축 외에 프로젝트 업무로써 웹페이지 기획안을 스스로 작성하고 제출하는 과제였다.

프로젝트 업무

웹 페이지 기획안 작성
'나'를 소개할 수 있는 웹페이지를 다음 요건에 맞춰서 기획하세요.
산출물 양식은 자유이며, 아래의 단계 내용이 포함되도록 작성해주세요.

  • 1단계. 웹페이지 기획 목적 명시화
  • 2단계. 트래픽 목표수치 선정
  • 3단계. 컨텐츠 종류 파악
  • 4단계. 기술 선정
  • 5단계. 비용 선정
  • 6단계. 그림으로 표현

피그마로 뚝딱 만들어봤다. 나는 포트폴리오용으로 사용가능한 '나'를 소개하는 웹페이지를 기획했고 내용은 이렇다
이 웹페이지의 목적은 나 자신을 소개하고 취업을 위한포트폴리오 역할을 함께 수행하는 것입니다
성장 과정과 가치관을 담아내어 방문자가 나를 입체적으로이해할 수 있도록 하고, 동시에 프로젝트 경험과 기술 스택,“수상 이력 등을 정리해 채용 담당자에게 강한 인상을 남기도록
설계했습니다 PM 직무를 목표로 하면서도 프론트엔드 개발 경험을쌓아온 점을 강조해, 기획과 개발 역량을 모두 갖춘 인재임을보여주는 것을 목표로 합니다.

비용산정하는 부분은 처음이라 어떻게 해야하는지 잘 몰랐고, 화면설계는 어느정도까지 만들어서 제출해야하는지 잘 몰라서 미흡하게 제출한 것 같다. 다음 주차에도 AWS랑 조금 더 친해지면 좋겠다. 프론트로 프로젝트 해보면서 이름만 들어봤었지 잘 몰랐는데 좋은 경험이 되는 것 같다!

profile
안되면 되게하라

0개의 댓글