CDK를 사용하여 Cloud9에서 VSCode SSH 설정

2453 단어

요약



Cloud9을 사용하면 몇 가지 이점이 있습니다. 다음은 aws blog vscode cloud9입니다.
  • 30분 동안 유휴 상태가 지나면 자동으로 최대 절전 모드로 전환됨
  • vscode를 열면 자동으로 켜짐
  • 열린 포트 없음


  • Cloud9 환경을 만드는 CDK 스택



    AWS 콘솔, CLI, CloudFormation 등 Cloud9을 시작하는 방법은 여러 가지가 있습니다. 저는 아래와 같이 CDK 스택을 사용합니다.

    import { aws_cloud9, Stack, StackProps } from 'aws-cdk-lib';
    import { Construct } from 'constructs';
    
    export class Cloud9CdkStack extends Stack {
      constructor(scope: Construct, id: string, props?: StackProps) {
        super(scope, id, props);
    
        // cloud9 environment
        const cloud9 = new aws_cloud9.CfnEnvironmentEC2(
          this,
          'CdkCloud9Example',
          {
            automaticStopTimeMinutes: 30,
            instanceType: 't2.large',
            name: 'CdkCloud9Example',
            connectionType: 'CONNECT_SSM',
            ownerArn: `arn:aws:iam::${this.account}:user/YOUR_IAM_USER_NAME`
          }
        )
    
        // access the ec2 and attach volume
    
      }
    }
    
    


    로컬 시스템에 대한 ssh 구성



    ssh 개인 및 공개 키 생성

    ssh-keygen -b 4096 -C 'VS Code Remote SSH user' -t rsa
    


    로컬 시스템에서 공개 키 복사

    cat ~/.ssh/id_rsa.pub
    


    ec2 인스턴스의 authorized_keys에 키를 붙여넣습니다.

    echo 'key pub' >> authorized_keys
    


    로컬 시스템에 대한 ssh 구성 구성

    Host cloud9
        IdentityFile ~/.ssh/id_rsa_cloud9
        User ec2-user
        HostName INSTANCE_ID
        ProxyCommand sh -c "~/.ssh/ssm-proxy.sh %h %p"
    


    ssm-proxy script from here을 다운로드합니다. Cloud9-EC2가 실행 중인지 확인합니다.
  • EC2가 실행 중인 경우 ssm 세션을 시작하고 세션을 통해 ssh 터널을 시작합니다.
  • EC2가 중지되면 먼저 인스턴스를 시작한 다음 ssm 세션 및 터널 ssh를 시작합니다.

  •  chmod +x ~/.ssh/ssm-proxy.sh
    

    좋은 웹페이지 즐겨찾기