강의를 듣기전 준비 해야 할 것 : AWS 회원가입
1. AWS에서 EC2를 검색한다.
이때 Region이 Seoul로 되어 있어야 합니다.
2. 인스턴스를 만들기 위해서는 방화벽(Security Group)이 필요하다.
* 서버를 만들기 위해서는 방화벽이 필요하기 때
옆에 있는 메뉴바에서 Security Group을 고른 뒤, Create Security Group을 누른다.
3. HTTP, HTTPS, SSH을 허용해야되기 때문에 Inbound rules에서 HTTP, HTTPS, SSH을 추가해준다.
- HTTP란?
- WWW(World Wide Web)에서 정보를 교환하기 위해 사용되는 프로토콜이다.
- HTTPS란?
- HTTP의 보안버전으로, 데이터의 암호화와 인증을 제공합니다.
- SSH란?
- SSH는 네트워크 프로토콜로, 원격 컴퓨터에 안전하게 접속하고 터미널 세션을 관리하기 위해 사용됩니다.
이때 TEST를 위한 서버이기 때문에 source를 아무 IP에서나 접근 할 수 있게 해줍니다.
이후, Create Security를 합니다.
이렇게 나온다면 잘 된 것입니다.
4. Instance 생성
Launch Instaces를 선택합니다.
5. Instace 설정
Name은 마음대로 설정하시면 됩니다.
AMI(Amazon Machine Image)는 기호에 맞게 사용하시면 됩니다.
이때 많은 분들이 Amazon Linux와 Ubuntu의 차이점을 궁금해 하실텐데 알려드리겠습니다!
Amazon Linux와 Ubuntu는 둘 다 AWS(Amazon Web Services)에서 사용할 수 있는 인기있는 운영 체제입니다. 그러나 두 가지 운영 체제 간에는 몇 가지 주요 차이점이 있습니다.
- 기반 디스트리뷰션:
- Amazon Linux: Amazon Linux는 Amazon의 고유한 Linux 배포판으로, Amazon의 요구 사항과 서비스에 특화된 디스트리뷰션입니다. CentOS를 기반으로 하며, Amazon의 EC2 인스턴스에서 기본적으로 사용됩니다.
- Ubuntu: Ubuntu는 Canonical이 개발한 데스크톱 및 서버용 리눅스 배포판입니다. Debian을 기반으로 하며, 널리 사용되는 배포판 중 하나입니다.
- 지원:
- Amazon Linux: Amazon Linux는 Amazon에서 관리하고 지원하는 배포판으로, AWS 환경에서 완벽하게 통합되어 있습니다. 따라서 Amazon EC2 인스턴스와 같은 AWS 서비스에서 이용 가능한 다양한 기능과 통합을 제공합니다.
- Ubuntu: Ubuntu는 커뮤니티 지원을 받는 오픈 소스 프로젝트입니다. 다양한 커뮤니티 및 지원 그룹을 통해 지원되며, AWS에서도 사용 가능하지만 Amazon Linux보다는 더 일반적으로 사용됩니다.
- 패키지 관리자:
- Amazon Linux: Amazon Linux는 YUM(Yellowdog Updater, Modified) 패키지 관리자를 사용합니다. YUM은 CentOS와 비슷한 패키지 관리 시스템으로, RPM 기반 패키지를 설치, 업데이트 및 제거할 수 있습니다.
- Ubuntu: Ubuntu는 APT(Advanced Package Tool) 패키지 관리자를 사용합니다. APT는 Debian 기반 배포판에서 사용되는 강력한 패키지 관리 시스템으로, 패키지의 설치, 업데이트, 제거 등을 관리할 수 있습니다.
- 소프트웨어 지원:
- Amazon Linux: Amazon Linux는 Amazon의 환경에서 개발 및 배포하는 데 특화되어 있으며, AWS에서 제공하는 다양한 서비스와의 통합이 용이합니다. 특히, AWS의 인프라와 밀접하게 통합된 AWS CLI(Command Line Interface) 및 SDK 지원을 제공합니다.
- Ubuntu: Ubuntu는 일반적인 Linux 배포판으로, 다양한 소프트웨어와 라이브러리를 지원하는 넓은 생태계를 가지고 있습니다. 서버 및 데스크톱 환경에서 다양한 소프트웨어를 지원하며, 커뮤니티 및 오픈 소스 프로젝트에 의한 지원도 풍부합니다.
이러한 차이점들은 사용자의 요구 사항과 용도에 따라 선택할 수 있습니다. Amazon Linux는 AWS 환경에서 더 통합된 기능과 지원을 제공하며, Ubuntu는 일반적인 Linux 배포판으로 다양한 소프트웨어와 커뮤니티 지원이 풍부합니다.
이후 Instance Type을 정해줍니다.
Instance Type은 쉽게 말하면 우리가 살 컴퓨터 사양입니다.
Key Pair은 보통의 경우에는 Key를 만드는 것을 추천하지만 이번의 경우에는 Test용도이기 때문에 Key를 만들지 않겠습니다. (권장하지 않는 방법)
그런 다음에 방화벽에서 Select Existing Security Group을 누른 뒤, 아까 만들어준 방화벽을 적용시킵니다.
이렇게 되면 HTTP, HTTPS, SSH를 여는 방화벽이 선택이 된 것입니다.
그런 다음에 인스턴스가 실행될 때 명령어 또는 스크립트를 지정해주는 User Data를 작성해줍니다.
지금은 인스턴스가 잘 작동하는지 확인하기 위해 html 파일을 간단히 만들어 보았습니다.
#!/bin/bash
yum update -y
yum install -y nginx
systemctl enable nginx
systemctl start nginx
cd /usr/share/nginx/html
echo "<center><h1>Welcome To My Blog 3</h1><h2>This is made By yongjun Hong. </h2><h3>Working very well. Good luck</h3></center>" > index.html
간단히 설명을 하면 yum은 appStore같은 것입니다. 그리고 yum update를 통해 업데이트를 하겠다는 의미입니다.
yum install -y nginx는 nginx를 다운로드 하겠다는 뜻입니다.
systemctl enable nginx nginx에서 껏다 켜지더라도 자동으로 실행될 수 있게 하는 명령어 입니다.
systemctl start nginx 현재 설치된 nginx가 바로 실행될 수 있게 하는 명령어입니다.
cd /usr/share/nginx/html cd로 변경한 directory가 홈이 되게 해주는 명령어입니다.
echo "<center><h1>Welcome To My Blog 3</h1><h2>This is made By yongjun Hong. </h2><h3>Working very well. Good luck</h3></center>" > index.html
echo를 이용해 index.html을 만듭니다.
여기까지 한 뒤에는 Launch Instance를 해줍니다.
이런 화면이 나오면 성공한 것입니다.
인스턴스 ID를 누른 뒤, Public IPv4 address를 복사 한 다음 URL창에 붙여넣기 했을때
밑의 화면이 나오면 성공한 것입니다.