システムマネージャを介したリモートアクセスプライベートEC 2インスタンス
2865 ワード
概要
システムマネージャは、SSHとオープンポート22を使用せずにEC 2インスタンス(プライベートおよびパブリックサブネットの両方)へのリモートアクセスを有効にします.また、プライベートEC 2からは、VPCサービスエンドポイントを介してS 3のような他のサービスにアクセスすることが可能です.このポストでは、CDKを使ってこれらを展開する方法を共有したいです.
建築
CDKスタック
S 3 VPCエンドポイントでVPCを作成します
const vpc = new aws_ec2.Vpc(
this,
'VpcWithS3Endpoint',
{
gatewayEndpoints: {
S3: {
service: aws_ec2.GatewayVpcEndpointAwsService.S3
}
}
}
)
システム・マネージャ vpc.addInterfaceEndpoint(
'VpcIterfaceEndpointSSM',
{
service: aws_ec2.InterfaceVpcEndpointAwsService.SSM
}
)
EC 2のIAMロールを作成する const role = new aws_iam.Role(
this,
'RoleForEc2ToAccessS3',
{
roleName: 'RoleForEc2ToAccessS3',
assumedBy: new aws_iam.ServicePrincipal('ec2.amazonaws.com'),
}
)
SSMと通信するEC 2の役割 role.addManagedPolicy(
aws_iam.ManagedPolicy.fromManagedPolicyArn(
this,
'PolicySSMMangerAccessS3',
'arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore'
)
)
EC 2アクセスへのポリシー role.attachInlinePolicy(
new aws_iam.Policy(
this,
'PolicyForEc2AccessS3',
{
policyName: 'PolicyForEc2AccessS3',
statements: [
new aws_iam.PolicyStatement(
{
actions: ['s3:*'],
resources: ['*']
}
),
]
}
)
)
プライベートサブネットでEC 2を起動 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
}
}
)
Reference
この問題について(システムマネージャを介したリモートアクセスプライベートEC 2インスタンス), 我々は、より多くの情報をここで見つけました https://dev.to/entest/remote-access-private-ec2-instances-via-system-manager-42enテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol