inblog logo
|
sxias
    AWS

    [AWS] 1. AWS

    문정준's avatar
    문정준
    Jun 11, 2025
    [AWS] 1. AWS
    Contents
    1. Linux2. kernel3. Network4. Settings

    1. Linux

    • Linux : 서버 운영 시 사용하는 GPL OS
      • GPL : 공개 오픈 소프트웨어 - 상업적 이용 불가 (Open Source)
      • Linux는 여러 kernel이 존재
        • RedHat 계열 : Amazon Linux, CentOS
        • Debian 계열 : Ubuntu, Rasbian, Kali Linux

    2. kernel

    • 운영체제 (OS, Operation System)는 실제로 컴퓨터에게 명령을 내릴 수 있는 프로그램인 커널(kernel)과 kernel을 동작시키는 명령어들로 구분됨
    • kernel의 종류가 다르면 kernel이 컴퓨터에게 명령을 내리는 행위가 같더라도 명령어가 다름
      • kernel의 종류 (계열)를 잘 파악해야 함

    3. Network

    • 클라우드 시스템 (Cloud) 은 외부 가상 PC(서버)를 빌려 내 컴퓨터와 가상 컴퓨터를 통신시켜 원격으로 컴퓨터를 동작하는 시스템
      • 보편적으로 Linux를 주로 사용하며, Linux를 사용할 경우 Terminal을 이용하여 조작
      • Terminal을 원격으로 조작하기 위해서는 터미널의 포트 번호가 열려있어야 함
        • 22 : Terminal Port Number
      • 외부에서 자신 쪽으로 들어오는 통신을 Inbound, 바깥쪽으로 나가는 통신을 Outbound라고 함
        • Outbound의 경우 보통 요청에 대한 응답이므로 대부분 Open 상태
          • 보안성이 높아야 하는 서버의 경우는 Outbound도 제한 필요 (Sniffing, Snoofing 위험)
        • Inbound는 접근 포트, IP 등에 대한 제한이 필요 (보안의 위험)
     

    4. Settings

    • Amazon EC2 (AWS) 로그인
    • EC2 접속
    notion image
     
    • 인스턴스 시작 클릭
    notion image
     
    • OS 선택 - Ubuntu 사용
    notion image
     
    • 사양 선택 - 프리 티어용 선택
    notion image
     
    • 키 페어 - 키는 공유하면 안됨 (개인 키)
    notion image
    • 키 페어 유형 - RSA 설정
      • 파일 형식 .pem (SSH 사용)
      • .ppk는 PuTTY 사용 시 체크
    notion image
     
    • 네트워크 설정 : 기본 값 사용
      • SSH 트래픽은 필수 허용 (포트 번호를 열어줌)
    notion image
     
    • 스토리지 구성
      • 허용 범위 내에서 설정 : 30GiB
    notion image
     
    • 인스턴스 생성
    notion image
     
    • 인스턴스 확인
      • 실행 중이 아닐 경우 새로 고침
    notion image
     
    • 퍼블릭 IPv4 주소 복사
      • 프라이빗 IPv4 : 사설 IP - 접속 불가
      • 인스턴스끼리는 통신 가능 (내부 망)
    notion image
     
    • MobaXterm 실행 후 세션 생성
    notion image
     
    • SSH 선택 후 정보 입력
      • Remote host : 호스트 서버 주소
      • username : 사용자 이름
      • Private Key : 비밀번호 (개인 키)
    notion image
     
    • 정보 입력 후 OK → Accept 클릭
    notion image
     
    • Terminal 화면
      • 시간대 - 미국 기준 : 배포 시 한국 기준으로 변경해야 함
    notion image
     
    • 명령어 갱신 (최신화)
    sudo apt update
     
    • jdk 찾기
    sudo apt-cache search jdk
    notion image
     
    • jdk 중 21이 포함된 명령어만 찾기 : Pipeline & grep 사용
    sudo apt-cache search jdk | grep 21
    notion image
     
    • openJDK 21 설치
      • 이름 정확하게 입력 : Tab 사용
    sudo apt install openjdk-21-jdk
     
    • y 입력 후 Enter : 설치
    notion image
     
    • git clone : 실행할 서버 git clone
    git clone 'repository.git'
    notion image
     
    • 폴더 진입 후 gradlew 확인
    cd 'repository name' ls -l
    notion image
     
    • build → jar 파일 생성
      • 미리 구워둔 jar 파일을 바로 실행시키면 안 됨 : 배포 환경의 차이 때문에 정상 작동 확신 불가
    ./gradlew clean build
     
    • gradlew이 읽기 전용 (readonly, 실행 권한 없음) 일 경우
      • 실행 권한 추가 (user)
        • 실행 권한 ( 3비트, 0 ~ 7 )
          • r (read) : 4
          • w (write) : 2
          • x (execute) : 1
        • 4 (100) : read-only (읽기만 가능)
        • 5 (101) : non-writable (쓰기 불가)
        • 6 (110) : non-executable (실행 불가)
        • 7 (111) : super (모든 기능 사용 가능)
    chmod +x (1 / 3 / 5 / 7) gradlew
    notion image
     
    • build/libs 폴더 이동 : jar 파일 실행
    cd build/libs
     
    • jar 파일 실행
    java -jar 'jar name'
     
    • Tomcat 포트 열기 : 보안 그룹 편집
      • 보안 그룹 클릭
    notion image
     
    • 인바운드 규칙 편집
      • 규칙 추가 후 유형, 포트, 소스 지정
        • 유형 : TCP (신뢰성 있는 통신)
        • 포트 : 8080 (Tomcat 포트)
        • 소스 : Anywhere-IPv4 (0.0.0.0/0)
          • 보안이 중요한 경우는 IP 접근 제한 필요
     
    notion image

    Result

    • 접속 가능
      • 이때, IP는 원격 PC의 IP로 접속해야 함
    notion image
     
    Share article
    Contents
    1. Linux2. kernel3. Network4. Settings

    Sxias ㆍ a32176740@gmail.com

    RSS·Powered by Inblog