Development Study/AWS

[Learn About AWS] 1회차 실습내용 정리

  • -
728x90

AWS Series

 

[Learn About AWS] Series

 

time-map-installer.tistory.com


What is EC2?

EC2는 무엇일까?

EC2 - Elastic Compute Cloud

  • 가상 서버 기능을 제공하는 클라우드 서비스
  • AWS의 물리적 서버를 가상화 기술을 이용하여 사용자들이 공동으로 사용할 수 있도록 함
  • 컴퓨팅 파워의 크기를 조정 가능
  • 물리적인 서버없이 클라우드를 통해 필요한 만큼 리소스를 요청하여 사용 가능
  • 온프레미스 환경에서 Windows 서버와 LINUX 서버와 동일한 서비스

라는 설명을 담고 있는 EC2 이다.

EC2의 인스턴스?

클라우드를 공부하다보면 인스턴스라는 말을 한 번 쯤은 들어본 적이 있을 것이다

그렇다면 인스턴스는 무엇일까?

  • 인스턴스 : 가상 컴퓨팅 환경
  • 인스턴스 유형 : CPU, 메모리, 스토리지 및 네트워킹
  • 용량의 다양한 조합으로 구성된 여러가지 인스턴스 유형을 제공

애플리케이션 요구에 따라 인스턴스 패밀리, 세대 및 크기가 결정된다

  • 인스턴스 패밀리 : M, T, C, R, IO, I, D, G, P, F
  • 인스턴스 세대 : 인스턴스 패밀리에 따라 1~5 세대
  • 인스턴스 크기 : 인스턴스 패밀리 및 세대에 따라 다양한 크기 제공

EC2의 수명주기는 어떨까?

EC2는 실행중, 정지됨, 종료됨 상태로 나뉜다

  • 실행중(Running)
    • 인스턴스 동작 중 상태
    • 과금 발생
    • 정지/종료/리부트 명령으로 상태 전이 가능
  • 정지됨(Stopped)
    • 중지된 상태
    • EBS 볼륨을 루트로 사용하는 인스턴스만 가능
    • 과금 안됨
    • 시작/종료 명령으로 상태 전이 가능
  • 종료됨(Terminated)
    • 인스턴스가 완전히 제거된 상태
    • 시작이나 정지 불가능
    • 과금 안 됨

EC2 실행하는 방법

EC2는 총 4가지의 상태로 구분 할 수 있다

  1. 인스턴스 시작
  2. 인스턴스 중지 및 시작
  3. 인스턴스 최대 절전 모드
  4. 인스턴스 만료/종료

인스턴스 시작

  • 인스턴스를 시작하면 Pending 상태로 전환된다
  • 인스턴스 유형에 따라 호스트 컴퓨터의 하드웨어가 결정한다
  • 인스턴스 사용이 시작되면 running 상태로 전환된다
  • 인스턴스가 유휴상태/연결되지 않는 상태에도 비용이 청구된다

인스턴스 중지 및 시작

  • 인스턴스를 중지하면 Stopping 상태로 전환되고 그 후 Stopped 상태로 전환
  • 인스턴스에 대한 사용 요금이나 데이터 전송 요금이 부과되지 않지만 EBS 볼륨에 대한 스토리지 요금은 부과된다
  • 인스턴스가 stopped 상태인 경우에는 인스턴스 유형 및 속성 등을 수정 가능
  • 인스턴스를 중지했다가 다시 시작하면 이전 인스턴스 스토어 볼륨에 있는 데이터가 손실된다

인스턴스 최대 절전 모드

  • 인스턴스를 최대 절전 모드로 전환하면 인스턴스 메모리의 컨텐츠를 AmazonEBS에 저장
  • 인스턴스를 시작하면 Amazone EBS 컨텐츠가 다시 복원된다
  • 최대 절전 모드의 인스턴스를 시작하면 인스턴스는 Pending 상태로 전환되고 그 다음 Running 상태로 전환된다

인스턴스 만료 / 종료

  • 종료되면 T인스턴스를 호스팅하는 하드웨어의 복구가 불가능한 장애가 검색되면 만료 대상이 되고, 만료 날짜가 되면 AWS에 의해서 중지되거나 종료됨
  • Amazon EBS를 사용하는 경우에는 다시 시작 가능하다
  • 인스턴스 스토어 볼륨을 사용하는 경우에는 인스턴스를 다시 사용할 수 없다
  • 인스턴스가 erminated 상태로 변경되고 다시 시작할 수 없다

EC2 생성, 그리고 실행까지

1. AWS 로그인 후, 좌측 상단의 격자 모양을 눌러 메뉴 열기

2. 좌측 메뉴 하단에 있는 컴퓨팅 메뉴에 있는 EC2 들어가기

2. 혹은 검색해서 들어가기

3. EC2 메뉴

4. 좌측 메뉴에서 인스턴스 찾아 들어가기

인스턴스 시작 버튼 누르기

5. 인스턴스 시작하기

이름 정하기

6. 이름 정하기

임의로 지은 이름이다

7. Ubuntu 선택(+ 프리 티어 선택)

Ubuntu를 사용하기로 했다

8. 키 페어 생성하기

RSA, Mac = .pem, Win = .ppk

9. 웹 서버로 사용할것이므로 위치 무관 설정

웹서버이기에 위치 무관으로 설정

10. 인스턴스 시작하기

11. 성공적으로 시작하기

12. 인스턴스로 가서 실행되기까지 기다리기

실행중으로 바뀌면서 업데이트 된 인스턴스 상태

13. 인스턴스 아이디를 눌러 연결하기 창 띄우기

Mac은 터미널에 입력한다 복사된 명령을 입력한다

14. 키페어가 위치한 디렉터리로 이동해서 명령어 입력하기

15. 명령어 입력 시 오류가 난 경우


시험에 내기 좋은 부분 : Linux 관련 기초 알아보기

Linux Prompt?

이것은 무엇일까?

Prompt : ubuntu@ip-000-00-00-00:~$

  • 따라서, 위의 문자열은 "Ubuntu 운영체제를 사용하는 ip-000-00-00-00 호스트에서 현재 사용자의 홈 디렉토리에 대한 명령어를 입력할 준비가 되었다"는 의미를 가지고 있다

Analyze Prompt

"ubuntu": 현재 사용 중인 운영체제 이름, Ubuntu는 Linux 계열의 운영체제 중 하나이다**"@" 기호**: 사용자 이름과 호스트 이름을 구분하는 기호**"ip-000-00-00-00": 현재 사용 중인 컴퓨터의 호스트 이름, 숫자 대신에 실제 호스트 이름이 표시될 수 있다":" 기호**: 호스트 이름과 프롬프트 문자열을 구분하는 기호이다**"~": 현재 사용자의 홈 디렉토리를 나타내는 기호이다"$"**: 명령어를 입력할 준비가 되었음을 나타내는 프롬프트 문자열

Linux Commands & Usage - 여러개를 합쳐서 사용가능

ls : "list", 현재 디렉토리에 있는 파일과 디렉토리를 나열

  • ls -l : 파일과 디렉토리의 세부 정보를 보여준다
  • ls -a : 숨겨진 파일을 포함하여 모든 파일과 디렉토리 나열
  • ls -t : 시간 순서대로 정렬하여 나열
  • ls -R : 하위 디렉토리를 포함한 전체 디렉토리 구조 나열
  • *ls .txt : .txt 확장자를 가진 모든 파일 나열
  • ls -IS : 가장 큰 파일부터 크기 순서대로 나열
  • ls -lh : 인간이 읽기 쉬운 형식으로 표시 (10MB → 10M)

pwd : "print working directory", 현재 작업 디렉토리의 경로 출력

cd : "change directory", 현재 작업 디렉토리 변경

  • cd ~ : 홈 디렉토리로 이동
  • cd - : 이전 디렉토리로 이동
  • cd / : 루트 디렉토리로 이동
  • cd .. : 상위 디렉토리로 이동

mkdir : "make directory", 현재 위치에 새 디렉토리 생성

  • mkdir directory_name : 새로운 디렉토리 생성
  • mkdir -p directory1 directory2 directory3 : 디렉토리 여러 개 동시에 생성

rm : "remove", 파일 삭제

  • rm file_name : 파일 삭제
  • rm -r directory_name : 디렉토리, 하위 디렉토리 모두 삭제
    • 디렉토리가 비어있지 않으면 -r 옵션 없이 삭제할 수 없다
  • rm -f file_name : 파일 강제 삭제, 삭제 전에 경고가 나타나지 않음
  • rm -i file_name : 파일 삭제 전에 확인 메세지 표시, [y / n]
  • rm -rf directory_name : 디렉토리, 하위 디렉토리 강제로 삭제
    • 디렉토리가 비어있지 않아도 삭제할 수 있다
    • 파일이 영구적으로 삭제되기에 사용에 주의한다

cp : "copy", 파일 혹은 경로 복사

  • cp file1 file2 : file1을 file2로 복사
    • file2가 존재하지 않으면 새로 생성
    • file2가 존재하면 덮어쓴다
  • cp -r dir1 dir2 : dir1 디렉토리와 그 하위 디렉토리 전체를 dir2로 복사
  • cp -i dir1 dir2 : file2가 이미 존재하는 경우 사용자에게 덮어쓰기 여부를 묻는다
  • cp -u dir1 dir2 : file2가 file1보다 오래된 경우에만 복사
  • cp -p file1 file2 : file1의 소유자, 그룹, 권한 등을 그대로 유지한 채 file2로 복사
  • cp -a dir1 dir2 : dir1 디렉토리와 그 하위 디렉토리 전체를 dir2로 복사하며, 파일의 소유자, 그룹, 권한, 수정 등을 그대로 유지

mv : "move", 파일 경로 혹은 이름 변경

cat : 파일 내용 터미널에 출력

  • cat file1 : file1의 내용 출력
  • cat file1 file2 > file3 : file1과 file2의 내용을 합쳐서 file3 파일에 작성
    • 만약 file3이 존재하지 않으면 새로 생성, 이미 존재하는 경우 덮어쓰기
  • cat file1 >> file2 : file1의 내용을 file2 파일에 추가
    • 만약 file2가 존재하지 않으면 새로 생성
    • 만약 file2가 존재하면 이미 존재하는 내용을 덮어쓰지 않고 뒤에 추가
  • cat -n file1 : file1의 내용을 출력하며 각 줄에 번호 붙이기
  • cat -b file1 : file1의 내용을 출력하면서 비어있지 않은 줄에만 번호 붙이기
  • cat -s file1 : file1의 내용을 출력하면서 빈 줄 하나로 합치기
  • cat -E file1 : file1의 내용을 출력하면서 각 줄 끝에 $ 기호 추가

chmod : 파일 또는 디렉토리의 권한 변경

  • 권한은 파일 타입(처음 1회), 읽기, 쓰기, 실행(rwx 3회 반복)의 10자리 문자열로 나타낸다
  • 비활성화된 권한은 - 로 표시되며, 총 세번 반복된다
  • 첫 번째 rwx부터 소유자, 그룹, 기타 사용자에 대한 권한을 나타낸다

chown : 파일 또는 디렉토리의 소유자 변경

ps : 현재 실행 중인 프로세스 목록 출력

ping : 네트워크 연결 상태 확인

tar : 파일 아카이브 혹은 압축풀기

exit : 현재 쉘 종료

touch : 빈 파일 생성 혹은 파일의 수정 시간 변경

리눅스 시스템에서 자주 사용되는 단축키Ctrl + C : 현재 실행 중인 프로세스를 강제 종료Ctrl + Z : 현재 실행 중인 프로세스를 일시 중지Ctrl + D : 현재 터미널 세션을 종료Ctrl + A : 현재 커서 위치에서 해당 줄의 맨 앞으로 이동Ctrl + E : 현재 커서 위치에서 해당 줄의 맨 뒤로 이동Ctrl + U : 현재 커서 위치에서 해당 줄의 앞쪽을 모두 삭제Ctrl + K : 현재 커서 위치에서 해당 줄의 뒷쪽을 모두 삭제Ctrl + L : 현재 터미널 창을 지워서 깨끗한 화면을 보여Tab : 파일 이름이나 명령어의 자동 완성 기능을 사용Arrow Keys : 명령어 히스토리를 탐색, 위쪽 방향키는 이전 명령어를, 아래쪽 방향키는 이후 명령어를 표시한다


+ 실습내용 일부 캡처

ubuntu@ip-000-00-00-00:~$ nano file1.text

nano라는 텍스트 에디터에 텍스트 입력해보기

ubuntu@ip-000-00-00-00:~$ cat file1.text

파일 내용을 화면에 뿌려주는 코드

잠을 깨기위한 몸부림..


End

728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.