ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS :: EC2에 접속하여 S3 조회하기 (SSH, WSL, AWS CLI)
    AWS 2021. 7. 6. 15:32
    728x90

     

     

     

     

    0. SSH 란 ?

     

    • SSH = Secure SHell, 즉 '보안 쉘'
    • 원격 호스트 컴퓨터에 접속하기 위해 사용되는 인터넷 프로토콜
    • 쉘을 통해 원격 접속을 하는 것이므로 기본적으로 CLI 환경에서 작업한다.
    • 기본 포트는 22번이다.

     

    • ssh 키(key)는 공개키(public key)와 개인키(private key)로 이루어진다.
    • 개인키는 로컬 환경에 위치해야 하고, 공개키는 원격 환경에 위치해야 한다.
    • ssh 접속을 시도하면 ssh Client가 두 키의 일치 여부를 확인한다.

     

     

     


     

     

     

    1. EC2의 생성 및 WSL 환경 설정

    • Amazon EC2 인스턴스를 한 개 생성한다.
    • 별도의 조작 없이 default 설정을 유지하여 생성하여도 무방하다. (접속이 잘 되는지만 확인할 것이기 때문)
    • 사용할 AMI(Amazon Machine Image)는 다음과 같다.

     

     

    • 인스턴스 생성 마지막 단계 중, 새로운 키 페어(key pair)를 생성하고, 이에 대한 파일을 다운받아 저장해둔다. (기존의 키 페어가 없다는 가정 하에 진행)

     

     

     

    • 본 작성자는 Window 운영체제에서 작업을 수행하였고, 리눅스 터미널 환경을 사용하기 위해 WSL을 설치하였다.
    • putty를 사용하는 방법도 있지만, 본 게시물에서는 WSL만을 사용하는 것으로 한다.
    • WSL을 설치하고, 사용할 계정을 생성한 후 "$ ls"를 통해 조회해보면 다음과 같다.

     

     

    • mount를 통해, 로컬 PC와 WSL 환경 간 파일 공유를 수행한다.
    • /mnt/~ 경로를 통해 위에서 저장한 키 페어(.pem) 파일을 WSL 환경으로 복사하여 가져온다.
    • 이 때 복사하여 가져온 파일은 /home/user_id/.ssh 에 저장한다.
    • .ssh 폴더가 없다면 생성한다. (mkdir .ssh)

     

     

     

     

     


     

     

     

    2. pem 파일을 통해 Amazon EC2 접속

    • putty가 아닌 WSL로 접속을 하는 것의 장점 중의 하나는, 별도의 키 조작 없이 생성한 키 그대로를 사용하여 접속이 가능하다는 점이라고 생각한다.
    • 다음 명령어를 통해 EC2에 접속한다. (접속 전, EC2를 실행하고 퍼블릭 IPv4 DNS 주소를 복사해둔다.)

     

     

     

     


     

     

     

    3. config 만들기

    • 위와 같이 너무 길고 복잡한 명령어를 대신하여 config 파일을 만들어 좀 더 수월한 작업을 할 수 있다.
    • 하나의 config 안에 여러 개의 접속 정보를 저장하면, 여러 개의 인스턴스 접속을 편리하게 할 수 있다.
    • vi 편집기를 통해 config 파일을 연다. (경로 : /home/user_id/.ssh)
    • config 파일 안에 다음과 같은 내용을 작성한다.
      • connect-01 : 하나의 함수라고 생각한다면, 함수 명이라고 보면 된다. 이 이름을 통해 ssh에 접속하게 된다.
      • HostName : public IPv4 DNS
      • User : 사용자 명 (여기서는 ubuntu)
      • IdentityFile : pem 파일 경로 (여기서는 /home/user_id/.ssh/)

     

     

    • 위와 같은 config가 있다고 한다면, "$ ssh connect-01" 명령어를 통해 인스턴스(1)에 접속할 수 있고, "$ ssh connect-02" 명령어를 통해 다른 인스턴스(2)에 접속할 수 있다.

     

     

     

     


     

     

     

    4. AWS CLI를 통해 S3 조회

    • WSL을 통해, 임의로 생성한 EC2 인스턴스에 접근한 상황이다.
    • 현재 아무런 패키지가 설치되지 않았으므로, AWS 공식 홈페이지의 안내와 같이 AWS CLI를 설치해준다.

     

     

    • 설치 후 "$ aws --version"을 통해 설치가 완료되었는지 확인한다.
    • "$ aws s3 ls"를 통해 인스턴스 내의 버킷을 조회할 수 있다.

     

     

     

     

     

     

     

    728x90

    댓글

kxmjhwn@gmail.com