๋ฐ์ํ
์ถ๋ ฅ ๋ณ์
์ถ๋ ฅ ๋ณ์(output values)
๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฆฌ์์ค์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ๋ด๋ณด๋ผ ์ ์์ผ๋ฉฐ child module(์์ ๋ชจ๋)์์ root module(๋ฃจํธ ๋ชจ๋)๋ก ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ ๋ ํ์ํฉ๋๋ค.- ๋ด๋ณด๋ธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ์ธํ๋ผ์ ๊ตฌ์ฑ์ ํ์ฉํ๊ฑฐ๋ ๋ฐ์ดํฐ ์์ค๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
- output ์ ์ธ์ ๋ชจ๋ ๊ตฌ์ฑํ์ผ์ ๋ชจ๋ ์์น์์ ๊ฐ๋ฅํ์ง๋ง,
outputs.tf
์ ์ ์ธ ํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. - output values๋ ๋ฃจํธ ๋ชจ๋์ ์ํ ํ์ผ์ ์ ์ฅ๋ฉ๋๋ค.
terraform output
๋ output์ queryํ๋ ๋ช ๋ น์ ๋๋ค.
์ถ๋ ฅ ๋ณ์ ์ ์ธ
Output Blocks
description์ ์ ํ์ฌํญ์ด์ง๋ง ์์ฑํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
terraform์ ํํ์์ ๊ฒฐ๊ณผ๋ฅผ value๋ก ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
output "vpc_id" { description = "ID of project VPC" value = module.vpc.vpc_id } output "lb_url" { description = "URL of load balancer" value = "http://${module.elb_http.this_elb_dns_name}/" } output "db_password" { description = "Database administrator password" value = aws_db_instance.database.password sensitive = true }
sensitive
output์ด password์ ๊ฐ์ ๋ฏผ๊ฐํ ๊ฐ์ ๊ฐ๋ฆฌํฌ๋ ์ฌ์ฉํฉ๋๋ค.
sensitive๋ฅผ plan, apply, destory ๋จ๊ณ์์ console ์ถ๋ ฅ์ด
<sensitive>
๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค.ํ์ง๋ง output์ผ๋ก ์ถ๋ ฅํ๋ ๊ฒฝ์ฐ, JSON ํ์์ผ๋ก ์ถ๋ ฅํ๋ ๊ฒฝ์ฐ, ๋ฃจํธ ๋ชจ๋์์ ์์๋ชจ๋์ ์ถ๋ ฅ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฑ์์๋
sensitive๋ก ๊ฐ๋ ค์ง์ง ์์ต๋๋ค.
๋ฐ์ํ
'๐ IaC > Terraform' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Terraform] ์์กด์ฑ(dependency) ๊ด๋ฆฌ (0) | 2022.09.05 |
---|---|
[Terraform] data source (0) | 2022.09.04 |
[Terraform] Variable ์ ๋ ฅ ๋ณ์ (0) | 2022.09.03 |
[Terraform] Error: Incompatible provider version (0) | 2022.08.23 |
[Terraform] Provider, Resource, Data Source, Variable, Output, Locals, Module (0) | 2022.08.11 |