CDK Construct for a VSCode Server development environment on EC2
Project description
CDK VSCode Server Construct
This is a CDK Construct for creating a VSCode server on an Amazon Linux EC2 instance.
You can access to Visual Studio Code server by browser and start development easily.
Usage
Install the package:
npm install cdk-code-server
Use it in your CDK stack:
import { CodeServer } from 'cdk-code-server';
new CodeServer(this, 'CodeServer');
You can customize the instance type, node.js version, and other properties:
import { CodeServer } from 'cdk-code-server';
import * as ec2 from 'aws-cdk-lib/aws-ec2';
// Use an existing VPC
declare const vpc: ec2.IVpc;
// Use an existing policy as a instance role
declare const policy: iam.PolicyStatememnt;
new CodeServer(this, 'CodeServer', {
vpc,
// Specify the instance type
// Default is c7g.2xlarge
instanceType: ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MEDIUM),
// Specify the CPU architecture
// Default is ec2.AmazonLinuxCpuType.ARM_64
cpuType: ec2.AmazonLinuxCpuType.X86_64,
// Specify the IAM policy for the instance role
// Default is a policy that has an administrator access
policy,
// Specify the size of the EBS volume
// Default is 30 GB
volumeSize: 100,
});
Setup VSCode Server
After the stack is deployed, you can access to the server via EC2 instance connect endpoint(EIC endpoint) and create connection to the VSCode server:
Access to the EC2 instance
Access the EC2 management console in the AWS Console, and connect to your EC2 instance via the EIC Endpoint.
Select the Instance ID > Connect > EC2 Instance Connect > Connect using EC2 Instance Connect Endpoint > Connect
If the following screen is displayed, you're all set.
Start the VSCode server
Execute the following command to start the VSCode server:
[ec2-user@ip-10-0-0-23 ~]$ code tunnel service install
[2024-06-10 02:10:42] info Using GitHub for authentication, run `code tunnel user login --provider <provider>` option to change this.
To grant access to the server, please log into https://github.com/login/device and use code 3811-9932
Next, open your browser and go to https://github.com/login/device, enter the code, and complete the authentication.
In the example above, enter '3811-9932' > Continue > Continue > Authorize-Visual-Studio-Code.
Return to the EC2 instance, run the code tunnel again, and open the displayed URL https://vscode.dev/tunnel/ip-{privateIp}{region} in your browser.
[ec2-user@ip-10-0-0-23 ~]$ code tunnel
*
* Visual Studio Code Server
*
* By using the software, you agree to
* the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and
* the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement).
*
[2024-06-10 02:11:44] info Creating tunnel with the name: ip-10-0-0-23ap-north
[2024-06-10 02:11:44] info Open this link in your browser https://vscode.dev/tunnel/ip-10-0-0-23ap-north
Connected to an existing tunnel process running on this machine.
Open this link in your browser https://vscode.dev/tunnel/ip-10-0-0-23ap-north
VSCode will open, and you'll be prompted with "What type of account did you use to start this tunnel?" Select GitHub
.
At this point, the GitHub authentication screen may appear again, so press Authorize.
Once you open the terminal, you’re all set.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cdk_code_server-0.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65571603605770c797d58b21ce735ae7fdf5b03a10cef7bf67fcca789943de4d |
|
MD5 | 507241979114508f017468600318d10e |
|
BLAKE2b-256 | 8173428f44686fe9e80bfdf79d7791fb5c680d2aa8764eb2662f595841abd268 |