Skip to main content

Web Server Using Amazon EC2

Basic C# example of an AWS web server accessible over HTTP.

This example lives in the pulumi/examples repository. Check out just this directory to use it:

Get started with this example
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examples
git -C pulumi-examples sparse-checkout set aws-cs-webserver
cd pulumi-examples/aws-cs-webserver

An example based on the Amazon sample at: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/deploying.applications.html. The example deploys an EC2 instance and opens port 80.

Deploying the App#

To deploy your infrastructure, follow the below steps.

Prerequisites#

  1. Install Pulumi
  2. Configure Pulumi for AWS
  3. Install .NET Core 3.0+

Deploying and running the program#

  1. Create a new stack:

    $ pulumi stack init dev
  2. Set the AWS region:

    $ pulumi config set aws:region us-west-2
  3. Run pulumi up to preview and deploy changes:

    $ pulumi up
    Previewing changes:
    ...
    Performing changes:
    ...
    info: 10 changes performed:
    + 10 resources created
    Update duration: 26.470339302s
  4. View the host name and IP address of the instance via stack output:

    $ pulumi stack output
    Current stack outputs (2):
    OUTPUT VALUE
    PublicDns ec2-34-217-176-141.us-west-2.compute.amazonaws.com
    PublicIp 34.217.176.141
  5. Verify that the EC2 instance exists, by either using the AWS Console or running aws ec2 describe-instances.

  6. From there, feel free to experiment. Simply making edits and running pulumi up will incrementally update your stack.

  7. Once you’ve finished experimenting, tear down your stack’s resources by destroying and removing it:

    Terminal window
    pulumi destroy --yes
    pulumi stack rm --yes

Related

The infrastructure as code platform for any cloud.