AWS Classic

v4.30.0 published on Tuesday, Nov 30, 2021 by Pulumi

Web Server Using Amazon EC2

View Code Deploy

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.

Prerequisites

  1. Install Pulumi
  2. Configure Pulumi for AWS
  3. Configure Pulumi for Python

Deploying and running the program

  1. Create a new stack:

    $ pulumi stack init python-webserver-testing
    
  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 stack 'python-webserver-testing'
    Previewing changes:
    ...
    
    Do you want to proceed? yes
    Updating stack 'python-webserver-testing'
    Performing changes:
    
    #: Resource Type          Name                                   Status     Extra Info
    1: pulumi:pulumi:Stack    webserver-py-python-webserver-testing  + created  
    2: aws:ec2:SecurityGroup  web-secgrp                             + created  
    3: aws:ec2:Instance       web-server-www                         + created  
    
    info: 3 changes performed:
        + 3 resources created
    Update duration: 26.470339302s
    
    Permalink: https://pulumi.com/lindydonna/examples/webserver-py/python-webserver-testing/updates/1
    
  4. View the host name and IP address of the instance via stack output:

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

Clean up

To clean up resources, run pulumi destroy and answer the confirmation question at the prompt.