[Server] AWS 서버 구축하기 Linux + Nginx PHP MySQL (1)

황승환·2021년 7월 7일
0

Server

목록 보기
2/23

AWS


AWS란 Amazon에서 클라우드 환경을 구축하여 가상컴퓨터를 대여해주는 서비스이다. 서버를 구동하기 위해서는 여러 물리적 자원과 시간, 비용이 필요하게 되는데 AWS를 이용하면 이 모든 절차를 생략할 수 있다. 아마존에서 구축해놓은 가상컴퓨터의 일부를 빌려서 내 컴퓨터처럼 사용하는 것이다. 여기서 EC2(Elastic Compute Cloud)는 AWS에서 제공하는 성능, 용량 등을 유동적으로 사용할 수 있는 서버를 말한다.

Amazon EC2의 기능

  • 인스턴스: 가상 컴퓨팅 환경

  • Amazon 머신 이미지(AMI): 서버에 필요한 운영체제와 여러 소프트웨어들이 적절히 구성된 상태로 제공되는 템플릿으로 인스턴스를 쉽게 만들 수 있습니다.

  • 인스턴스 유형: 인스턴스를 위한 CPU, 메모리, 스토리지, 네트워킹 용량의 여러 가지 구성 제공

  • 키 페어를 사용하여 인스턴스 로그인 정보 보호(AWS는 퍼블릭 키를 저장하고 사용자는 개인 키를 안전한 장소에 보관하는 방식)

  • 인스턴스 스토어 볼륨: 임시 데이터를 저장하는 스토리지 볼륨으로 인스턴스 중단, 최대 절전 모드로 전환 또는 종료 시 삭제됨

  • Amazon Elastic Block Store(Amazon EBS), 즉 Amazon EBS 볼륨을 사용해 영구 스토리지 볼륨에 데이터 저장

  • 인스턴스와 Amazon EBS 볼륨 등의 리소스를 다른 물리적 장소에서 액세스할 수 있는 리전 및 가용 영역

  • 보안 그룹을 사용해 인스턴스에 연결할 수 있는 프로토콜, 포트, 소스 IP 범위를 지정하는 방화벽 기능

  • 탄력적 IP 주소(EIP): 동적 클라우드 컴퓨팅을 위한 고정 IPv4 주소

  • 태그: 사용자가 생성하여 Amazon EC2 리소스에 할당할 수 있는 메타데이터

  • AWS 클라우드에서는 논리적으로 격리되어 있지만 원할 때마다 고객의 네트워크와 간편히 연결할 수 있는 가상 네트워크인 Virtual Private Clouds(VPC)

Amazon EC2 인스턴스 생성하기

  1. AWS의 EC2 인스턴스를 이용하여 서버를 구축할 것이다. 먼저 Amazon EC2 인스턴스를 생성하기 위해 AWS 계정을 생성하고 내 계정 - AWS Management Console로 들어간다.지역을 서울로 설정하고 EC2 사용을 클릭한다.
  1. 인스턴스 시작 버튼을 누른다.

  2. 단계 1: Amazon Machine Image(AMI) 선택 화면이 나오면 OS를 선택해준다. 본인은 Ubuntu 18.04를 선택했다.

  3. 단계 2: 인스턴스 유형 선택 화면이 나오면 "프리 티어 사용 가능"이라고 쓰여진 t2.micro를 선택한 후에 다음:인스턴스 세부 정보 구성 버튼을 클릭한다. (무료 사용 가능하다.)

  4. 단계 3: 인스턴스 세부 정보 구성 화면이 나오면 추가적인 설정없이 다음단계로 넘어간다.

  5. 단계 4: 스토리지 추가 화면이 나오면 프리 티어에서 사용 가능한 최대 크기인 30GB로 크기만 설정해준 후에 다음 단계로 넘어간다.

  6. 단계 5: 태그 추가 화면이 나오면 따로 추가 없이 다음 단계로 넘어가준다.

  7. 단계 6: 보안 그룹 구성 화면이 나오면 우선 규칙을 추가한다. 기존의 SSH는 냅두고 사용자 지정 TCP 유형으로 설정해주고 포트 범위를 80으로 잡아준다. 그리고 다음 단계로 넘어가준다.

  8. 단계 7: 인스턴스 시작 검토 화면이 나오면 시작하기를 눌러준다. 시작하기를 누르면 아래와 같이 키페어 생성 화면이 나온다.키 페어 이름을 설정해주고 키 페어 다운로드 버튼을 눌러준다. 키 페어는 잃어버리면 찾기 곤란하기 때문에 경로를 잘 기억해주는 것이 좋다. 다운로드를 받은 뒤에 인스턴스 시작을 눌러준다.

  9. 시작 상태 화면을 확인해주고 인스턴스 보기를 눌러준다.

  10. 인스턴스가 생성된 것을 확인할 수 있다.

  11. 인스턴스 생성이 완료 되었다면 탄력적 IP를 할당해줘야 한다. 좌측 메뉴에서 탄력적 IP를 눌러주고 탄력적 IP 주소 할당 버튼을 눌러준다.

  12. 탄력적 IP 주소 할당 화면에서 우측 아래의 할당 버튼을 눌러준다.

  13. 탄력적 IP 주소를 할당 받은 것을 확인할 수 있다.

  14. 할당된 IP 주소를 눌러주면 다음과 같은 화면이 나타난다. 탄력적 IP 주소 연결을 눌러준다.

  15. 탄력적 IP 주소 연결 화면에서 인스턴스를 선택해주고 연결 버튼을 눌러준다.

  16. 탄력적 IP 주소가 연결되었음을 확인한다.

  17. 인스턴스 화면으로 돌아가서 인스턴스를 확인해보면 탄력적 IP 주소가 연결되어 있는 것을 확인할 수 있다. 위에 있는 연결 버튼을 눌러준다.

  18. 터미널을 켜서 키 페어가 저장된 위치로 이동해준다.

  19. 인스턴스에 연결 화면에서 예에 나와있는 명령어를 복사하여 터미널에서 입력해준다.

  20. ubuntu 서버에 연결된 것을 확인할 수 있다.

  21. 서버 연결이 정상적으로 이루어졌는지 확인하기 위해 Filezilla를 켜서 아래 방법으로 ubuntu 서버에 접속해준다. 프로토콜은 SFTP로 설정해주고, 호스트는 인스턴스의 퍼블릭 IP주소를 입력해준다. 로그온 유형은 키 파일, 사용자 이름은 ubuntu, 키 파일은 찾아보기로 키 페어를 넣어준다.

  22. 서버에 접속하였다.

  23. 터미널로 ubuntu 서버에 다음과 같이 test 디렉토리를 만들고 디렉토리 안에서 test_file을 작성해준다.

  24. Filezilla를 새로고침하면 터미널을 통해 만들었던 test 디렉토리와 test_file 파일이 있는 것을 볼 수 있다.

profile
꾸준함을 꿈꾸는 SW 전공 학부생의 개발 일기

0개의 댓글