ๅฎๅใงไฝฟ็จใใใฏใฉใฆใใปใญใฅใชใใฃใใญใฐใฉใใณใฐ (AWS, Python, Terraform)
ใฏใฉใฆใใฎใใใฎใใญใฐใฉใใณใฐ่จ่ช(Python, Terraform)ใๅญฆในใใใใซๆงๆใใใฆใใพใใใทใณใใซใ ใ้ขๅใช็นฐใ่ฟใๆฅญๅใใใใคใฉใฎใใใซใใใญใคใใใฎใใ็นๅฎใฎใฝใชใฅใผใทใงใณใงใฏ่งฃๆฑบใงใใชใ่ช็คพๅบๆใฎใใชใทใผใชใฉใ็ดๆฅไฝๆใ้ฉ็จใใใใจใใงใใพใใ็นใซๆใไบบๆฐใฎใใIaC(Infrastructure as Code)ใขใใชใฑใผใทใงใณใงใใTerraformใ้ใใฆใปใญใฅใชใใฃใขใผใญใใฏใใฃใ้ฉ็จใใPythonใง่ถ ็ฐกๅใชใใใทใฅใใผใไฝๆใ่กใฃใฆใฟใพใ๏ผ
ๅ่ฌ็ 674ๅ
้ฃๆๅบฆ ๅ็ด
ๅ่ฌๆ้ ็กๅถ้

ใ็ฅใใ
8 ไปถ
ใใใซใกใฏใ
็ฅ่ญๅ ฑๆ่ ใใงใณใฌใณใใณใงใใ
ๅ ใปใฉใ็ฅใใใใใใใซๆ้ใฎๆตใใซๆฒฟใฃใฆใใใฆ้ฃใถใใใซ่ฌ็พฉใๆนๅใๅคๆดใใใใใฎ็ฎ็ใงๆน็ทจใ้ฒใใไปๆฅใฎ้จใงๆฐ่ฆๆฎๅฝฑใใ่ฌ็พฉใใกใฎใขใใใญใผใใๅฎไบใใพใใใ
็ฐกๅใซๅคๆดใใใ้จๅใ็ณใไธใใใฐใ
่ฟฝๅ ใใใ้จๅ
VPC Cidrใฎ่จญ่จใจAWS Network Firewallใฎๆง็ฏ
Steampipe + Streamlitใซใใใปใญใฅใชใใฃใใใทใฅใใผใใฎไฝๆ
Terraform้ข้ฃใฎRemote Stateใdepends_onใชใฉ
ๆนๅใใใ้จๅ
Pythonใฎ็นๅฎใฎๆฉ่ฝใฎใชในใใงใฏใชใใboto3ใซๅบใฅใใฆ้็บใใๆฎต้็ใชใณใผใใฎๆนๅ
Terraform้ข้ฃใฎ่ฑๅฏใชไพใจๅฎ่ทต
ใใพใไฝฟใใใฆใใชใใจๅคๆญใใใใใ่ฌ็พฉใจ็ดๆฅ้ข้ฃใใชใใจๆใใใ้จๅใ้คใ
้คๅปใใใ้จๅ๏ผ6ใถๆ๏ฝ1ๅนด็จๅบฆใฏๆฎใไบๅฎ๏ผ
ๆขๅญ่ฌ็พฉ้จ
ไธ่จใจๅใใงใใๆขๅญใฎ่ฌ็พฉใใในใฆๅ่ฌใใใๆนใฏใPythonใTerraform้จๅใฏๆขใซใใใๅญ็ฅใฎใใใงใใใญใธใงใฏใ้จๅใ ใใๆฐใใซใ่ฆงใใใ ใใใจใใๅงใใใพใใ
ๆฎใใฎ2024ๅนดใซไปไธใใฆ้ ใใๆใใพใใฆใใใงใจใ2025ๅนดใซใชใใพใใใใซใใใใใจใใใใใพใใ
ใใงใณใฌใณใใณใใชใผใ ใ
ใใใซใกใฏใ
็ฅ่ญๅ ฑๆ่ ใใงใณใฌใณใใณใงใใ
่ฌ็พฉใๆฒ็คบใใฆ็ด1ๅนด8ใถๆ็จๅบฆใ้ใใพใใใ
ๅคๆดใใใๅ ๅฎนใใใฃใฆใๅใใฆๆฎๅฝฑใใ่ฌ็พฉใ ใใๆ ๅใ่ณๆใ่ฌ็พฉๅ ๅฎนใชใฉใๆดๆฐใใใใใใใชใจๆใใพใใใ .)
ใ ใใ๏ผ่ฌ็พฉใๆน็ทจใใใ๏ผ
ใไฟๆใใใ้จๅใ
็พๅจใฎใซใชใญใฅใฉใ ใฎใปใฏใทใงใณ
่ฉณ็ดฐใช้ฒ่ก็ถๆณใฏๅคๆดใใใใใจใใใใพใใ
[ๅ้คใใใ้จๅ]
Pythonใใญใฐใฉใใณใฐ
ใใซใใใญใปใน
็พๅจใญใผใฝใณไธ่ฆใ ใจๆใใใ
GILใซ้ขใใๅ ๅฎน
็ญใๆ้ๅ ใซใใพใใซใๅคใใ่ชฌๆใใใใจใใใใใงใไธ่ฆใซ่ฆใใใ
Terraformใใญใฐใฉใใณใฐ
IAMใ็จใใใใฉใใฉใผใ ใฎ่ชฌๆ
ไปใฎๆฉ่ฝใง่ชฌๆใ็ฝฎใๆใใไบๅฎ
test ้ข้ฃๅ ๅฎน
[่ฟฝๅ ใใใ้จๅ]
3-TierใขใผใญใใฏใใฃใฎใใใฎVPC่จญ่จ
AWS Network Firewallใๆดป็จใใใใใใฏใผใฏใขใผใญใใฏใใฃ
ใใใ้ ใใฆใไปๅนดไธญใฏๅฎๅ จใซๆน็ทจใใใๆ ๅใซ็ฝฎใๆใใใใจ่จ็ปใใฆใใพใใใใฎใใใซ่ฟฝๅ ็ใซใขใณใฑใผใใๅใใใใจใใพใใ
ไธ่จใฎใชใณใฏใใใณใกใณใใใๆธใใใ ใใใใใใใจใใใใใพใใ
ใใใใจใใใใใพใใ
ใใงใณใฌใณใใณใใชใผใ ใ
ใใใซใกใฏใ็ฅ่ญๅ ฑๆ่ ใใงใณใฌใณใใณใงใใ
ไปๅใๅใใฆในใฟใผใใใใใใซใผใจใณใณใใใใจใใ่ฌ็พฉใใชใชใผในใใใใจๆใใพใใ ๏ผใชใผใใณๆฅใฏใพใ ๆชๅฎ๏ผ
ใใใซไผดใใไปฅไธใฎใชในใใฎ่ฌ็พฉใๅ่ฌไธญใฎๆนใซๆ่ฌใฎๆฐๆใกใ่พผใใฆๅ่ฌ็็ป้ฒใคใใณใใ้ฒ่กใใใใจใใพใใ
ๅฎๅใงไฝฟ็จใใฆใใAWSใฏใฉใฆใIAMใฎ็่งฃใจใปใญใฅใชใใฃ
[DevOps]้ซ้ใงๅฎๅ จใชใขใใชใฑใผใทใงใณ้ ๅธใใคใใฉใคใณ๏ผCI / CD๏ผใฎไฝๆ
Googleใใฉใผใ ใ้ใใฆใชใชใผในใใใ่ฌ็พฉใฎๅ ๅฎนใใ็ขบ่ชใใใ ใใใใฉใผใ ใซ่จๅ ฅใใฆใ็ณใ่พผใฟใใใ ใใใฐใๆ้้ใใซ่ฟฝๅ ้ฒ่กไบๅฎใงใใ
ใใ ใใๅฎ้ใฎ่ฌ็พฉใใชใชใผในใใใใพใงใฏๅ่ฌใชในใใซใฏๅบใพใใใฎใงใใใฎ็นใฏๅ่ใซใ้กใใใพใใใใคใ่ณชใฎ้ซใ่ฌ็พฉใๆไพใใใใๅชใใฆใพใใใพใใ
ใใใใจใใใใใพใใ
ใใใซใกใฏใ
ๅฎๅใงไฝฟ็จใใใฏใฉใฆใใใญใฐใฉใใณใฐ่ฌๅธซใฎใใงใณใปใฌใณใใณใงใใ
Terraform 1.8 ใใผใธใงใณใงใฏ
provider-defined functionsใจใใๆฉ่ฝใใชใชใผในใใใพใใใ็ฐกๅใซ่จใใฐใใใญใใคใใฌใใซใง้ขๆฐใใตใใผใใใใฎใงใใใใพใใซไพใ่ฆใใจใ
terraform { required_providers { aws = { source = "hashicorp/aws" } } } provider "aws" {} # result: # { # "partition": "aws", # "service": "iam", # "region": "", # "account_id": "444455556666", # "resource": "role/example", # } output "role" { value = provider::aws::arn_parse("arn:aws:iam::444455556666:role/example") } # result: # { # "partition": "aws", # "service": "elasticloadbalancing", # "region": "us-east-2", # "account_id": "123456789012", # "resource": "loadbalancer/app/my-load-balancer/1234567890123456", # } output "elb" { value = provider::aws::arn_parse("arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/app/my-load-balancer/1234567890123456") }๏ผ็ใฃใโฆ๏ผๅบใฆใใใฐใใใฎๆฉ่ฝใชใฎใงๆฉ่ฝใ็ขบใใซๅคใไธ่ถณใใฆใใใใๅฎฃ่จๅ่จ่ชใๅคๆงใช็ตใฟ่พผใฟ้ขๆฐใ้ใใฆๆ็ถใ็ใซไฝฟ็จใใชใใใฐใชใใชใๅ ดๅใใใฃใ๏ผsplitๅพใซใคใณใใใฏในใขใฏใปในใใฆlocalใซไฟๅญใใฆ...๏ผใใใๅฐใๅฎฃ่จ็ใซใตใใผใใซใชใฃใฆใใใใใงใใ
ใจใฆใๆใใๆฉ่ฝใชใฎใงใใจใฆใ็ฐกๅใงใใใใใ่ฆงใฎๆนใฏใชใณใฏๅ่ใซใใฆใใ ใใ๏ผ
ๅฅใฎ้ขๆฐใ็ใพใใใจๆใใฎใงใใใฎ้ใซ็ตใฟ่พผใฟ้ขๆฐใ่ฆใคใใฆๅฎ่ฃ ใใใใจใซใคใใฆ่ฃๅใใใๆฐๆใกใงใใญใ
ใใใใจใใใใใพใใ
ใใใซใกใฏใ
ๅฎๅใงไฝฟ็จใใใฏใฉใฆใใใญใฐใฉใใณใฐ่ฌๅธซใฎใใงใณใปใฌใณใใณใงใใ
Terraform 1.7 ใใผใธใงใณใใชใชใผในใใใพใใใ้ข้ฃใใใ็ฅใใใฏใใกใใใใ่ฆงใใใ ใใพใใ
ๆใฃใใใ๏ผๅคงใใในใใฌในใๅใใใปใฉ๏ผๅคงใใชๅคๅใ็ใใพใใใใในใๅพใซใขใธใฅใผใซใๅ้คใใใ้ ๅบใๅคๆดใใใพใใ
ๆขๅญ
ใกใคใณในใใผใฟในใใกใคใซ
ๅใขใธใฅใผใซใใจใฎในใใผใฟในใใกใคใซ๏ผ้้ ๏ผ
ใใใใฃใฆใใขใธใฅใผใซใๅ็ งใใฆใในใใไฝๆใใใจใใกใคใณในใใผใฟในใใกใคใซใซใญใผใใใใใชใฝใผในใซไพๅญใใพใใ
ๅคๆด
run ใใญใใฏ้้ ใง็ถๆ ใใกใคใซใๅ้คใใ
ใ ใใๆฉใๅ้คใใใใชใฝใผในใซไพๅญ
็ฐกๅใชไพ

ไปฅๅใฏไธ่จใฎใใใซไฝๆใงใใพใใใงใใใใ1.7ใใใฏๅฏ่ฝใงใใ
Mocks (in beta)
็ฐกๅใซ่จใใฐใๅฎ้ใฎใใญใใคใใใชใฝใผในใใใผใฟใใขใธใฅใผใซใไฝๆ/ๅ้ค/ๅ็ งใใใซ็นๅฎใฎๅคใๅฎ็พฉใใฆไฝฟ็จใใๆฉ่ฝใงใใ
ใใใใใ่ฆใ็ตๆใๅ็ดใซ้ ๅธใพใใฏ็ๆใใใๅใใขใใฏใใผใฟใซใใฆๅ ฅใใฆใใใฐใไปฅๅใใใใฃใจๆฉใใในใใๅฏ่ฝใซใชใใใใงใใ
ไพใไปฅไธใซ็คบใใพใใ
# main.tftest.hcl mock_provider "aws" { override_data { target = module.credentials.data.aws_s3_object.data_bucket values = { body = "{\"username\":\"username\",\"password\":\"password\"}" } } } run "test" { assert { condition = jsondecode(local_file.credentials_json.content).username == "username" error_message = "incorrect username" } }ใใผใฟใใญใใฏใฎ็ตๆใไฝๆใใrunใใญใใฏใไปใใฆ่ฟ ้ใซใในใใงใใพใใ
1.7 ใชใชใผในใซ้ขใใใฌใใฅใผ
ใใคใใผใใผใธใงใณ ไธๅบฆใซๆฌๅฝใซ้่ฆใชใญใธใใฏใๅคๆดใใใใจใฏๆฌๅฝใซๅฟใ็ใๆใใพใใใใ็งใฎ่ฌ็พฉใ่ฆใฆใๆขๅญใฎๅ้ค็ถๆ ใๅบๆบใซใใฆใใ ใใฃใๆนใ ใซไปฃใใใซ่ฌ็ฝชใ็ณใไธใใพใใ
ไธ่จใฎ็็ฑ+ in betaใฎ็ถๆ ใชใฎใงใMocksใซใคใใฆใฎๅ ๅฎนใฏใๅพใงใใๅฐใๆ็ใใ็กฌใใชใฃใใ่ฟฝๅ ใงๆฎใใใจใใพใใใใ ใใใจใซใใ็บๅฃฒใใใๅ ๅฎนใฏใๅฑใใใใฎใๅใใใใชใฎใงใใใฎใใใชใใฅใผในใ็บ่กใใพใใ
ใใใใจใใใใใพใใ
ใใใซใกใฏใ
ๅฎๅใงไฝฟ็จใใใฏใฉใฆใใใญใฐใฉใใณใฐ่ฌๅธซใฎใใงใณใปใฌใณใใณใงใใ
Python GILใซ้ขใใฆใใใๅฐใ่ฉณ็ดฐใชๆ ๅใๆฎๅฝฑๅพใซใขใใใญใผใใใพใใใ
ๅฎ้ใPythonใไฝฟใฃใฆ่จๅคงใช๏ผ๏ผ๏ผใขใใชใฑใผใทใงใณใไฝๆใใใใจใใชใ้ใใๅคงๅน ใซๆฐใซใใๅฟ ่ฆใฏใใใพใใใใๅใซ๏ผไพฟๅฎใฎใใใซ๏ผ่ชฌๆใใใใจใซใคใใฆไฟฎๆญฃใๅฟ ่ฆใงใใใใใๅฐใ่ฉณใใ็ฅใใจใใญใธใงใฏใๆใซใฉใฎใขใธใฅใผใซใ้ธๆใในใใใใชใใใฎใใใซๅไฝใใใฎใใๅใใใจๆใฃใฆ่ฟฝๅ ใใใใจใซใชใใพใใใ
ๅ่ใ้กใ่ดใใพใใ
ใใใใจใใใใใพใใใใใซใกใฏใ
ๅฎๅใงไฝฟ็จใใใฏใฉใฆใใใญใฐใฉใใณใฐ่ฌๅธซใฎใใงใณใปใฌใณใใณใงใใ
Terraform 1.6ใง่ฟฝๅ ใใใใในใๆฉ่ฝใซ้ขใใฆ่ฌ็พฉใ่ฟฝๅ ใใพใใใ
ไธปใช่ฟฝๅ ใฏไปฅไธใฎ้ใใงใใ
ใใฉใใฉใผใ ใฎๆขๅญใฎใในใๆนๆณใฎ็ฐกๅใช่ชฌๆ
ใซในใฟใ ๆกไปถใฎ่ชฌๆ
.tftest.hcl ใใกใคใซใฎๅบๆฌๆๆณ
ใในใ้ข้ฃๅ ๅฎน๏ผๆๅ/ๅคฑๆใในใใชใฉ๏ผ
ใในใ้ฒ่กไธญใฎ็ถๆ ็ฎก็ใๅฎ่ก/ๅ้คใฎ้ ๅบ
ใในใๆฆ็ฅ
ๅ่ใ้กใ่ดใใพใใ
ใใใใจใใใใใพใใใใใซใกใฏใ
ๅฎๅใงไฝฟ็จใใใฏใฉใฆใใใญใฐใฉใใณใฐ่ฌๅธซใฎใใงใณใปใฌใณใใณใงใใ
่ฌ็พฉใงไฝฟ็จใใPython / Terraformใฎใใผใธใงใณใซ้ขใใฆใใ็ฅใใใใใใใซๆฐ่ใ็บ่กใใใใจใซใชใใพใใใ
[Python]
Pythonใฏ็พๅจ3.12ใพใงๅ ฌ้ใใใฆใใ็ถๆณใงใใใใ ใใ๏ผๆฅตใใฆ็งใฎไธป่ฆณ็ใชๅคๆญใง๏ผใพใ ๆฐใใ่ฟฝๅ ใใใๆฉ่ฝใซใคใใฆ็พๅจใฎ่ฌ็พฉใซ่ฟฝๅ ใใๅ ๅฎนใฏใชใใจ่ใใใใใขใใใใผใใใชใ็ถๆ ใงใใ
3.10 ๏ฝ 3.12 ใใผใธใงใณใฎไธปใชๅคๆด็นใฏไปฅไธใฎ้ใใงใใPythonใฎในใใผใใขใใ๏ผใใใ้ๅผพไธธใฏใชใ๏ผ - > 3.11 / 3.12
ใใใซใใใใใใใ็นๅฎใฎไปไบใฏๆใใใปใฉ้ใใชใใพใใใ
ใฟใคใ้ข้ฃใฎๅคใใฎๆฉ่ฝใฎ่ฟฝๅ ใจๅผทๅ - > 3.10ใ3.12
Java๏ผใฟใคใ๏ผในใฏใชใใใฎ้ใ้ฒใ๏ผ
ใคใณใฟใใชใฟๅฅGILๅฐๅ ฅ - > 3.12
ไปใฎ่จ่ชใฎใใใซใใซใในใฌใใใๆดป็จใใๆฅใๆฅใใฎใ๏ผ
็พๅจใฏPython C APIใไปใใฆใฎใฟๅฉ็จๅฏ่ฝใงใใ
็ด็ฒใชCใงๆธใใใใฉใคใใฉใชใฎ้ๅบฆใๅน็ใๆนๅใใใใใใซ๏ผ๏ผๆนๅใใใฐ๏ผ
็จๅบฆใงใใใใกใใใไปใซใไปใฎๅคใใฎใใฎใๅปๆญขใใใๆนๅ๏ผใพใใฏ่ฟฝๅ ๏ผใใใใใจใใใใพใใใใใใใซ็ฅใๅฟ ่ฆใใใใปใฉ้่ฆใชๅ ๅฎนใฏใชใใใใงใใ
ใใใซใAWS Lambdaใ็พๅจ3.11ใพใงใตใใผใใใฆใใพใใ
ใใฃใใ็พๅจใฎ่จ็ปใงใฏPython 3.13ใ็บ่กจ(release)ใใใใจ้ข้ฃ่ฌ็พฉใ่ฟฝๅ ไบๅฎใงใใ
[Terraform]
ใใฉใใฉใผใ ใพใใ1.2๏ฝ1.5ใใผใธใงใณใ็ตใฆๆงใ ใชๆฉ่ฝใ่ฟฝๅ ใใใพใใใ
ๅคๆฐใซใชใใทใงใณใงไฝฟ็จๅฏ่ฝ - > 1.3
Python ใง obj.get("key", "default") ใชใฉใฎไฝฟ็จๅฏ่ฝ
null_resourceใ็ฝฎใๆใใใใใฉใซใใฎterraform_data - > 1.4
่ฟฝๅ ใฎใใญใใคใใใใฆใณใญใผใใใใซไบคๆๅฏ่ฝ
ใณใผใใงใคใณใใผใๅฏ่ฝ - > 1.5
ใใงใใฏใใญใใฏใซใใๆค่จผใฎๅผทๅ - > 1.5
ใใ ใใไธ่จใฎๆฉ่ฝใฏใในใฆใฉใณใฟใคใ ๏ผๅฎ่กๆ๏ผใซๅไฝใใใใฎใงใใใใใๅคงใใ็ดนไปใใๅฟ ่ฆใใชใใจๆใใฆใใพใใใใ
Terraform 1.6ใใผใธใงใณใงใฏใใคใใซใในใ้ข้ฃใฎๆฉ่ฝใใชใชใผในใใใพใใใๅพๆฅใฎใในใใฏใ1) ใฉใณใฟใคใ ใจๅ้ขใงใใชใใใ2) ๆงใ ใชใชใผใใณใฝใผในใ้ใใฆใฎใฟๅฏ่ฝใงใใใใใใใใใฎๆฉ่ฝใฎ็บๅฃฒใซใใใใใๅฅใฎใชใผใใณใฝใผในใไฝฟใใชใใฆใใในใใๅฏ่ฝใซใชใใพใใใ
ใใฎๆฉ่ฝใฏๆฅ้ฑไธญใซ่ฌ็พฉใงๆดๆฐใใใใจๆใใพใใๅ่ใ้กใ่ดใใพใใ
ใใใใจใใใใใพใใ

