CLOUD/AWS

AWS EC2 SSH 연결 할때 네트워크 설정

Rainbound-IT 2021. 8. 12. 17:12
반응형

목차

     

     

     

     

     

    EC2 생성하고

    이런 메세지가 뜬다

    There was a problem connecting to your instance
     we were unable to connect to your instance. 
     make sure that your instance’s network settings are configured correctly for ec2 instance connect.

     

     

    EC2에서 그냥 연결을 하면 안됨

    인터넷 게이트웨이와 라우팅 설정을 해줘야한다.

     

     

     

     

     인터넷 게이트웨이와 라우팅 설정을 자세하게 설명해야할것 같아서 추가합니다.

     

    인터넷 활성화의 원인만 간단히 알고싶으신분은 아래로 

    https://rainbound.tistory.com/188?category=948892 

     

    AWS VPC 인터넷 접속, 액세스 하는법

    인터넷 액세스 활성화 VPC의 서브넷에 속한 인스턴스에 대해 인터넷 송수신 액세스를 활성화하려면 다음을 수행해야 합니다. 인터넷 게이트웨이를 생성하여 VPC에 연결합니다. 인터넷 바인딩된

    rainbound.tistory.com


    처음 계정을 생성하면 default VPC와 subnet 4개가 생성되어 있습니다.

    하지만 사용하는데 새로 자신만의 VPC를 생성하여 EC2에 ssh 접속을 하고싶어서 해보겠습니다.

     

     

    1. VPC 생성

    virtual private cloud라 해서 가상 사설 클라우드 망입니다.

    네트워크가 이안에 있다면 aws 서비스가 private 망이라도 서로 통신이 됩니다.

    생성은 간단합니다.

     

    vpc 서비스에 들어간뒤

    가상 프라이빗 클라우드 밑에 있는 vpc 클릭후 vpc 생성을 클릭

    vpc - vpc 생성

     

     

    누르시면 아래와 같은화면이 나오는데

    VPC만 - 이름짓고 - CIDR 정하면 됩니다.

    VPC, 서브넷등을 하면 AWS에서 만들어놓은 것을 할수도 있더군요.

    저는 며칠전에 처음봤네요.

    이걸로 해도 되긴하는데 콘솔에서 직접 구성하기 위하여 저는 VPC만을 선택하였습니다.

    선택후 아래에 주황색으로 VPC 생성을 클릭하시면됩니다.

    (나머지 옵션들은 찾아보시면 될것같습니다.)

     

     

     

    2. 서브넷생성

    이제 VPC 망에 네트워크인 서브넷을 생성할 차례입니다.

    VPC 밑에 서브넷 클릭후 서브넷생성을 클릭합니다.

     

     

     

     

     

    아래와 같은 화면이 나타나면 방금전에 생성했던 VPC를 선택하시고

     

    아래에 서브넷이름과 가용영역, cidr 블록을 선택 및 입력해주시면됩니다.

    서브넷이름은 아무거나 해도 상관이 없고

    가용영역의 경우 선택하지 않을 경우 쓰여있듯 알아서 선택됩니다.

    cidr은 vpc cidr보다 영역을 좁게 설정해야합니다.

    (더 추가하시고 싶으시면 아래에 새서브넷추가를 누르셔서 추가하시면 됩니다.)

     

    설정을 다하셨으면 오른쪽 아래에 서브넷생성을 누릅니다.

     

     

     

     

    3. 인터넷 게이트웨이 생성 및 연결

    이렇게 생성한 서브넷에 EC2를 ssh로 연결하면 되지 않을겁니다.

    ec2와 연결할수 있는 방법이 4가지 있습니다.

    • ec2 인스턴스 연결
    • Session Manager
    • ssh 클라이언트
    • ec2 직렬 콘솔

    대략 설명하면 

    ec2 인스턴스 연결:  ssh방식을 이용하여 콘솔로 접속하는 방식입니다. key가 필요없죠.

    Session manager: ssh키나 배스천호스트를 사용하지않고 에이전트를 이용하여 접속하는방식입니다.

    ssh 클라이언트: key및 주소를 ssh를 이용하여 접속합니다. (보안그룹등 보안설정이 되어 있어야 접속가능)

    EC2 직렬 콘솔: 로컬PC처럼 사용하는 직접 접근하는 방식입니다.(부팅해도 접속되어 있습니다.)

     

    위에서 1,3 이 되지 않는것을 경험하실겁니다.

    (session manager는 에이전트 설치 등 설정을 해야하고, ec2 직렬콘솔은 ec2 설정에서 직렬콘솔액세스를 허용하면 됩니다.)

    안되는이유는 라우팅테이블에 인터넷 게이트웨이 설정이 안되어 있기 때문이죠.

     

     

     

     

    그럼 설정을 해보겠습니다.

    vpc서비스에 들어가서 서브넷 밑에 있는 인터넷게이트웨이를 클릭후 인터넷 게이트웨이를 생성합니다.

    이름 아무거나 넣으시고 인터넷게이트웨이 생성을 합니다.

     

     

     

    생성후 VPC에 연결을 해줘야합니다.

    인터넷게이트웨이 선택후 작업에서 VPC 연결을 클릭합니다.

     

     

     

    아래와 같은 화면에서 사용가능한 VPC에 방금 만들었던 VPC를 선택하고 오른쪽아래에 연결을 합니다.

     

     

     

     

     

     

    4. 라우팅 테이블 설정

     

    서브넷 밑에 라우팅테이블 선택 후 연결하고 싶은 vpc가 있는 라우팅 테이블은 선택하시고

    아래에 라우팅 탭을 선택하신후 라우팅 편집을합니다.

     

     

     

     

    그러면 편집화면이 나오는데

    라우팅 추가를 클릭후 대상을 0.0.0.0/0,

    두번째 대상에 인터넷게이트웨이 선택후 방금 생성했던 인터넷 게이트웨이를 선택하고 변경사항 저장을합니다.

     

     

     

     

     

     

     

     

    5. EC2에 ssh 접속

    이제 VPC에서 설정할건 다했습니다.

    나머지는 ec2 설정인데 public, 보안그룹 설정이 제대로 되어 잇어야 접속을 할수 있습니다.

    public의 경우는 elastic ip를 할당하거나, 생성시 자동으로 public ip 할당을 선택하셔야합니다.

    보안그룹의 경우는 inbound에 접속하고자 하는 ip를 추가하시면 됩니다.

    (그밖에 보안설정을 해야할수도 있습니다.)

     

    그럼 이제 접속을 해봅니다.

    접속하고 싶은 ec2를 선택후 연결을 클릭합니다.

     

    EC2 인스턴스 연결의 경우 오른쪽아래에 연결을 클릭하시면 웹브라우저에서 연결이 될것입니다.

    ssh 클라이언트를 볼텐데요

    예: 밑에 명령어를 복사하여 cmd에 붙여넣어서 접속하시면됩니다.

    (pem키의 권한설정을 반드시 해주어야 합니다. chmod 400 [pem키]로. 그런데 윈도우의 경우 이 명령어가 듣질 않을겁니다.. 

    아래 링크를 참고해서하세요

    https://techsoda.net/windows10-pem-file-permission-settings/)

     

     

     

     

    아래와 같이 접속이 잘되는것을 확인하실수 있을겁니다!

     

     

     

     

     

    Reference

    https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectionTimeout

     

    인스턴스 연결 문제 해결 - Amazon Elastic Compute Cloud

    인스턴스 연결 문제 해결 다음 정보는 인스턴스 연결 문제를 해결하는 데 도움이 될 수 있습니다. Windows 인스턴스와 관련하여 추가 도움이 필요한 경우 Windows 인스턴스용 Amazon EC2 사용 설명서의

    docs.aws.amazon.com

     

     

     

    반응형