https://github.com/europ/gcp-simple-web-server
Deploy simple web server provided by nginx in debian 10 to google cloud platform using terraform.
https://github.com/europ/gcp-simple-web-server
debian debian10 gcp google-cloud-platform nginx terraform web-server
Last synced: 2 months ago
JSON representation
Deploy simple web server provided by nginx in debian 10 to google cloud platform using terraform.
- Host: GitHub
- URL: https://github.com/europ/gcp-simple-web-server
- Owner: europ
- Created: 2020-11-18T11:03:47.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-12-15T14:26:44.000Z (over 5 years ago)
- Last Synced: 2025-05-15T14:11:46.654Z (about 1 year ago)
- Topics: debian, debian10, gcp, google-cloud-platform, nginx, terraform, web-server
- Language: HCL
- Homepage:
- Size: 590 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Google Cloud Platform - Simple Web Server
Deploy simple web server provided by [nginx](https://www.nginx.com/) in [debian 10](https://www.debian.org/index.html) to [google cloud platform](https://cloud.google.com/) using [terraform](https://www.terraform.io/).
##### Deployed Infrastructure

##### Dependency Graph

### Setup
1. prerequisites installation
1. [Google Cloud Platform](https://console.cloud.google.com/)
* create a project
1. install [Google Cloud SDK](https://cloud.google.com/sdk/docs/install)
* authenticate yourself
1. install [Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli)
1. environment configuration
```bash
cat < ~/.gcp
export GCP_PROJECT_ID=
export GCP_ACCOUNT_FILE=~/.config/gcloud/legacy_credentials//adc.json
export GCP_ZONE=europe-west3-b
export GCP_REGION=europe-west3
export TF_VAR_gcp_zone="\$GCP_ZONE"
export TF_VAR_gcp_credentials="\$GCP_ACCOUNT_FILE"
export TF_VAR_gcp_project_id="\$GCP_PROJECT_ID"
export TF_VAR_gcp_region="\$GCP_REGION"
EOS
# secure the file
chmod 0600 ~/.gcp
# load the file
source ~/.gcp
```
1. clone this repository and `cd` into it
1. create SSH key pair
```bash
ssh-keygen -t rsa -b 4096 -C "terraform" -f ./ssh/key
```
1. configure terraform variables (set your custom values)
```bash
# create variable file
cp .terraform.tfvars.example terraform.tfvars
# set custom variable values
vi terraform.tfvars
```
1. deployment
```bash
# download module(s)
terraform init
# deploy
terraform apply
```