mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-18 17:01:07 +00:00
54 lines
1.9 KiB
Markdown
54 lines
1.9 KiB
Markdown
# Using LinuxKit on Amazon Web Services (AWS)
|
|
|
|
This is a quick guide to run LinuxKit on AWS.
|
|
|
|
## Setup
|
|
|
|
Before you proceed it's recommended that you set up the [AWS CLI](https://aws.amazon.com/cli/)
|
|
and perform an `aws configure`
|
|
|
|
If you do not wish to install these tools you should ensure that you set the AWS [environment variables](http://docs.aws.amazon.com/cli/latest/userguide/cli-environment.html)
|
|
|
|
You will need to create an Amazon S3 Storage Bucket for your LinuxKit images and create a VM Import Service Role.
|
|
Instructions on how to do this can be found [here](http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#w2ab1c10c15b7).
|
|
|
|
Finally, you must set the `AWS_REGION` environment variable as this is used by the AWS Go SDK.
|
|
```
|
|
export AWS_REGION=eu-west-1
|
|
```
|
|
|
|
## Build an image
|
|
|
|
AWS requires a `RAW` image. To create one:
|
|
|
|
```
|
|
$ linuxkit build -format aws examples/aws.yml
|
|
```
|
|
|
|
## Push image
|
|
|
|
Before you do this you need to create a `vmimport` service role as explained in
|
|
[the VM import documentation](http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html).
|
|
|
|
Do `linuxkit push aws -bucket bucketname aws.raw` to upload it to the
|
|
specified bucket, and create a bootable image from the stored image.
|
|
|
|
Alternatively, you can use the `AWS_BUCKET` environment variable to specify the bucket name.
|
|
|
|
**Note:** If the push times out before it finishes, you can use the `-timeout` flag to extend the timeout. You may also want to consider passing `-ena` to enable enhanced networking in the AMI.
|
|
|
|
```
|
|
linuxkit push aws -bucket bucketname -timeout 1200 aws.raw
|
|
```
|
|
|
|
## Create an instance and connect to it
|
|
|
|
With the image created, we can now create an instance.
|
|
You won't be able to see the serial console output until after it has terminated.
|
|
|
|
```
|
|
linuxkit run aws -security-group "<security_group_id>" aws
|
|
```
|
|
|
|
You can edit the AWS example to allow you to SSH to your instance in order to use it.
|