Transferring Files from Local System to Remote AWS Instance using AWS SSM

Hey everyone! Today, I want to share with you a convenient and efficient way to transfer files from your local system to a remote instance in AWS. We’ll be using AWS Systems Manager (SSM), a powerful service that enables remote management of your EC2 instances. Let’s get started!

Step 1: Set up AWS SSM

Before we begin, make sure you have AWS CLI installed and configured on your local system. Also, ensure that the target EC2 instance is running and has the SSM Agent installed.

Step 2: Create an S3 Bucket (Optional)

If you want to transfer files using S3 as an intermediate storage location, you can create an S3 bucket in the same AWS region as your EC2 instance. This step is optional if you prefer transferring files directly from your local system to the remote instance without using S3.

Step 3: Prepare the File for Transfer

Locate the file you want to transfer on your local system and ensure it is accessible.

Step 4: Initiate the File Transfer

Open a terminal or command prompt on your local system and run the following AWS CLI command to initiate the file transfer:

aws ssm send-command --instance-ids <INSTANCE_ID> --document-name "AWS-RunShellScript" --parameters "commands=['aws s3 cp /path/to/local/file s3://your-bucket-name/file']" --output text

Replace <INSTANCE_ID> with the instance ID of your target EC2 instance. If you opted to use S3, replace /path/to/local/file with the actual path to the file on your local system and your-bucket-name/file with the S3 bucket and file location.

Step 5: Verify the File Transfer

To verify the successful transfer, you can either log in to your EC2 instance and check the destination path or use the AWS CLI command to download the file from S3 to your EC2 instance:

aws ssm send-command --instance-ids <INSTANCE_ID> --document-name "AWS-RunShellScript" --parameters "commands=['aws s3 cp s3://your-bucket-name/file /path/on/ec2/instance']" --output text

Again, replace <INSTANCE_ID> with your instance ID and adjust the S3 and destination paths accordingly.

That’s it! You have successfully transferred a file from your local system to a remote instance in AWS using AWS SSM. This method eliminates the need for complex setup or manual file transfers, making it convenient and scalable for large-scale deployments.

Feel free to explore more features of AWS SSM, such as executing commands remotely, managing instances, and automating tasks. Happy file transferring!