ssm을 통해 프라이빗 EC2 인스턴스에 대한 vscode ssh 원격 설정
AWS 시스템 관리자(SSM)를 사용하면 개방형 22 포트 없이 프라이빗 서브넷의 EC2에 원격으로 vscode ssh를 설정할 수 있습니다. GitHub ,
참조
건축물
CDK 스택
const vpc = new aws_ec2.Vpc(
this,
'VpcWithS3Endpoint',
{
gatewayEndpoints: {
S3: {
service: aws_ec2.GatewayVpcEndpointAwsService.S3
}
}
}
)
vpc.addInterfaceEndpoint(
'VpcIterfaceEndpointSSM',
{
service: aws_ec2.InterfaceVpcEndpointAwsService.SSM
}
)
const role = new aws_iam.Role(
this,
'RoleForEc2ToAccessS3',
{
roleName: 'RoleForEc2ToAccessS3',
assumedBy: new aws_iam.ServicePrincipal('ec2.amazonaws.com'),
}
)
role.addManagedPolicy(
aws_iam.ManagedPolicy.fromManagedPolicyArn(
this,
'PolicySSMMangerAccessS3',
'arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore'
)
)
role.attachInlinePolicy(
new aws_iam.Policy(
this,
'PolicyForEc2AccessS3',
{
policyName: 'PolicyForEc2AccessS3',
statements: [
new aws_iam.PolicyStatement(
{
actions: ['s3:*'],
resources: ['*']
}
),
]
}
)
)
const ec2 = new aws_ec2.Instance(
this,
'Ec2ConnectVpcEndpointS3',
{
role: role,
keyName: 'hai_ec2_t4g_large',
vpc: vpc,
instanceName: 'Ec2ConnectVpcEndpointS3',
instanceType: aws_ec2.InstanceType.of(aws_ec2.InstanceClass.T2, aws_ec2.InstanceSize.SMALL),
machineImage: aws_ec2.MachineImage.latestAmazonLinux(),
securityGroup: sg,
vpcSubnets: {
subnetType: aws_ec2.SubnetType.PRIVATE
}
}
)
SSM을 통해 프라이빗 EC2에 대한 연결 설정
aws ssm start-session --target "EC2-INSTANCE-ID"
EC2에 대한 vscode ssh 원격 설정
ssh-keygen -b 4096 -C 'VS Code Remote SSH user' -t rsa
Host ssm-private-ec2
IdentityFile ~/.ssh/id_rsa
HostName i-026bb5f5caaf16aa1
User ec2-user
ProxyCommand sh -c "~/.ssh/ssm-private-ec2-proxy.sh %h %p"
#!/bin/bash
AWS_PROFILE=''
AWS_REGION=''
MAX_ITERATION=5
SLEEP_DURATION=5
# Arguments passed from SSH client
HOST=$1
PORT=$2
echo $HOST
# Start ssm session
aws ssm start-session --target $HOST \
--document-name AWS-StartSSHSession \
--parameters portNumber=${PORT} \
--profile ${AWS_PROFILE} \
--region ${AWS_REGION}
vscode는 내부적으로 SSM 세션을 생성하는 ProxyCommand 스크립트를 통해 EC2에 대한 ssh 연결을 생성합니다. 이 방법입니다 vscode ssh remote with cloud9 works
Reference
이 문제에 관하여(ssm을 통해 프라이빗 EC2 인스턴스에 대한 vscode ssh 원격 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/entest/setup-vscode-ssh-remote-to-a-private-ec2-instance-via-ssm-dm7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)