[AWS 1일차] EC2

Jk Lim·2023년 6월 19일
0

MLOps 부트캠프

목록 보기
27/34
post-thumbnail

오늘은

  1. AWS EC2 인스턴스 생성 및 기본 설정
  2. AWS Linux 2 환경 웹서버 구동
  3. Ubuntu 20.04 환경 웹서버 구동
  4. Windows Server 환경 웹서버 구동에 대해 학습하였다.

1. AWS EC2 생성 및 기본 설정

인스턴스 생성 및 SSH 접속을 위한 설정은 다음 프로세스와 같다. (Linux 서버 기준)

  1. 인스턴스 시작 > OS 이미지 선택
  2. 키페어 설정 (없으면 새 키 페어 생성->pem파일)
  3. 네트워크 설정 (보안 그룹 : Port 방화벽 설정에 대한 설정 값 -> 다른 인스턴스에도 동일한 정책을 쉽게 반영할 수 있다.)
  4. 인스턴스 생성이 완료되면 다음 명령어로 ssh원격 접속이 가능하다. (ssh port인 22번을 열어줘야한다. 초기 설정에 기본으로 체크되어있음)
	sudo ssh ec2-user@<public ip> -i <pem파일경로>/private.pem
  1. (참고1) 인스턴스 생성과 동시에 실행할 쉘 명령어를 입력 할 수 있음 (고급세부정보) : 다음 캡쳐는 아파치 웹서버 설치 및 서비스 실행, 테스트용 인덱스 페이지를 생성하는 예시
  2. (참고2) 용어 정리
    • 인바운드규칙 : 외부에서 해당 서버로 접속하는 경우
    • 아웃바운드 : 서버에서 나가는 신호 (기본적으로 전부 허용)
    • 인스턴스 중지 : 일시 정지. 다시 시작 가능. Public IP 재 할당
    • 인스턴스 종료 : 인스턴스 삭제됨. 다시 시작 불가. 데이터 삭제

2. AWS Linux 2 환경 웹서버 구동

  1. yum 으로 httpd 설치 (aws linux 2는 centos7 계열 / aws 2023은 centos9 계열)
  2. systemctl로 서비스 실행
  3. 보안 그룹에서 80포트에 대한 허용이 필요
    • 콘솔에서 추가하기 : 보안그룹 > 인바운드 규칙 > 인바운드 규칙 편집 > 규칙 추가
    • cli에서 추가하기 : aws ec2 authorize-security-group-ingress --group-id <그룹ID> --protocol tcp --port 80 --cidr 0.0.0.0/0 (콘솔에서 추가하려면 엑세스키 생성해서 정보를 추가해줘야함)
  4. (참고) 콘솔에서 보안그룹 수정하기
    1. aws configure > 엑세스 키/비밀키/리전(ap-northeast-2)/출력방식(json) 지정
    2. aws ec2 describe-security-groups --group-ids <보안그룹id> : 현재 정책 확인
    3. aws ec2 authorize-security-group-ingress --group-id <보안그룹id> --protocol tcp --port 80 --cidr 0.0.0.0/0 : 80포트 정책 업데이트

3. Ubuntu 20.04 환경 웹서버 구동

  1. sudo apt install apache2 : 설치 명령어
  2. dpkg -l apache2 : 설치 확인
  3. sudo systemctl status apache2.service : 상태 확인
  4. 보안그룹은 2. AWS Linux 2에서 적용한 보안그룹을 적용하면 별도의 방화벽 설정이 필요 없다.

4. Windows Server 환경 웹서버 구동

  • 윈도우 인스턴스 서버는 SSH로 접속하지 않고 RDP라는 프로그램으로 접속할 수 있다.
  • (윈도우환경) > 원격네트워크 접속 > 공인IP 또는 dns 주소 입력 > pem키로 생성한 암호 및 사용자 이름 입력
  • 서버 매니저 > http 서비스 install (IIS)
  • IIS 매니저에서 Default Document(경로 확인) 및 binding 규칙(포트) 등 설정 가능,
  • C:\inetpub\wwwroot : 해당 경로에 html파일 업로드

(참고) EC2 인스턴스 정보 확인 (메타데이터)

  • 접속한 EC2 인스턴스 서버에대한 정보를 CLI에서 확인 할 수 있다.
  • curl http://169.254.169.254/latest/meta-data/ + (옵션) : 해당 요청으로 옵션에 대한 서버정보를 확인
  • http://169.254.169.254 -> AWS에서 생성한 인스턴스에 대한 정보를 제공하기 위해 메타데이터를 저장해 놓은 서버
  • 접속한 EC2 서버에서 해당 url로 필요한 메타데이터 정보를 요청하면, 헤더정보에서 요청한 서버에 대한 정보를 확인하고 메타데이터에서 관련된 정보를 반환해 주는 방식

0개의 댓글