Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. provider "google" {
  2. version = "1.4.0"
  3. project = "${var.project}"
  4. region = "${var.region}"
  5. }
  6.  
  7. resource "google_compute_instance" "app" {
  8. name = "name_your_instanse"
  9. machine_type = "g1-small"
  10. zone = "${var.zone}"
  11.  
  12. # определение загрузочного диска - начального образа (можно сделать свой с помощью Packer)
  13. boot_disk {
  14. initialize_params {
  15. image = "${var.disk_image}"
  16. }
  17. }
  18.  
  19. metadata {
  20. ssh-keys = "ssh_user:${file(var.public_key_path)}"
  21. }
  22.  
  23. tags = ["app"]
  24.  
  25. network_interface {
  26. # сеть, к которой присоединить данный интерфейс
  27. network = "default"
  28.  
  29. # использовать ephemeral IP для доступа из Интернет
  30. access_config {}
  31. }
  32. # коннект для работы провижинеров после установки и настройки ОС
  33. connection {
  34. type = "ssh"
  35. user = "ssh_user"
  36. agent = false
  37. private_key = "${file(var.private_key_path)}"
  38. }
  39.  
  40. provisioner "file" {
  41. source = "files/puma.service"
  42. destination = "/tmp/puma.service"
  43. }
  44.  
  45. provisioner "remote-exec" {
  46. script = "files/deploy.sh"
  47. }
  48. }
  49.  
  50. resource "google_compute_firewall" "firewall_puma" {
  51. name = "allow-puma-default"
  52.  
  53. # Название сети, в которой действует правило
  54. network = "default"
  55.  
  56. # Какой доступ разрешить
  57. allow {
  58. protocol = "tcp"
  59. ports = ["9292"]
  60. }
  61.  
  62. # Каким адресам разрешаем доступ
  63. source_ranges = ["0.0.0.0/0"]
  64.  
  65. # Правило применимо для инстансов с перечисленными тэгами
  66. target_tags = ["app"]
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement