[AWS] NACL과 Security Group의 차이
Public Cloud/AWS2022. 4. 26. 00:52[AWS] NACL과 Security Group의 차이

AWS SAA 연습 문제를 풀던 중 NACL과 Security Group의 차이가 무엇인지 궁금해져서 쓰는 글이다 ! 결론부터 말하면 같은 서브넷끼리 통신할 때는 Security Group 정책을 거치면서 통신하고 다른 서브넷끼리 통신할 때는 NACL의 정책을 먼저 거친 후, Security Group의 정책을 거치면서 통신한다. → 1차적 보안은 Security Group이고 2차적 보안은 NACL이다. ✔︎ NACL (Network Access Control List) - 네트워크 접근 제어 리스트 VPC에서 무료로 제공하는 기능이며 사용자가 직접 정책을 설정해 유입되는 트래픽을 제어한다. 서브넷 단위로 적용되며 여러개의 서브넷에 적용 가능하다. 서브넷은 하나의 NACL만 적용 가능하다. NACL이 ..

DevOps/Terraform2022. 4. 25. 18:21[Terraform] 데이터 소스 (Data Source)

✔️ 데이터 소스 (Data Source) Terraform Registry registry.terraform.io 이미지의 버전 변경으로 인해 사용할 이미지를 교체하고 싶을 때는 이미지의 id를 변경해야 한다. 개발 환경 중 특히 test 환경에서는 최신 버전의 이미지로 자주 변경하기 때문에 매번 id를 바꾸는 것은 번거로운 일이다. 이때 데이터 소스를 사용하는데, 데이터 소스는 해당되는 프로바이더에서 정보를 가져오는 역할을 한다. data "aws_ami" "example" { executable_users = ["self"] most_recent = true name_regex = "^myami-\\d{3}" owners = ["self"] filter { name = "name" values = ..

DevOps/Terraform2022. 4. 25. 17:55[Terraform] Count

✔️ Count The count Meta-Argument - Configuration Language | Terraform by HashiCorp Count helps you efficiently manage nearly identical infrastructure resources without writing a separate block for each one. www.terraform.io count는 meta argument이다. resource "aws_instance" "server" { count = 4 # create four similar EC2 instances ami = "ami-a1b2c3d4" instance_type = "t2.micro" tags = { Name = "Serv..

DevOps/Terraform2022. 4. 23. 09:44[Terraform] 모듈 (Module)

✔️ 모듈 (Module) Terraform Registry registry.terraform.io 모듈은 Terraform으로 리소스 구성을 패키징하고 재사용하는 주요 방법이다. ✔️ Root Module 모든 Terraform 구성에는 기본 작업 디렉토리의 .tf 파일에 정의된 리소스로 구성된 루트 모듈로 알려진 하나 이상의 모듈이 있다. ✔️ Child Modules Terraform 모듈(일반적으로 구성의 루트 모듈)은 다른 모듈을 호출하여 해당 리소스를 구성에 포함할 수 있다. 다른 모듈에 의해 호출된 모듈을 종종 자식 모듈이라고 한다. 자식 모듈은 동일한 구성 내에서 여러 번 호출할 수 있으며 여러 구성에서 동일한 자식 모듈을 사용할 수 있습니다. ✔️ Published Module 로컬 파일..

DevOps/Terraform2022. 4. 22. 23:21[Terraform] 프로비저너 (Provisioner)

✔️ 프로비저너 (Provisioner) Provisioners | Terraform by HashiCorp Provisioners run scripts on a local or remote machine during resource creation or destruction. Learn how to declare provisioners in a configuration. www.terraform.io 로컬 머신이나 리모트 머신에 특정 액션(주로 명령어 실행)을 할 수 있게 해준다. AWS 리소스를 정의할 때도 provisioner를 정의할 수 있다. 테라폼에서 제공하는 공통 argument이다. 기본적인 사용법은 다음과 같다. resource "aws_instance" "web" { # ... prov..

DevOps/Terraform2022. 4. 22. 18:51[Terraform] ec2 인스턴스 생성시 사용자 데이터 실행하기

✔️ 사용자 데이터 ec2 인스턴스를 만들 때 사용자 데이터를 입력하면 cloud-init이 명령을 실행해준다. terraform에서 인스턴스를 생성할 때 user_data를 실행할 수 있도록 해보자 resource "aws_instance" "app_web" { ... user_data = ... } Terraform에서 유저 데이터를 제공하는 방법은 여러가지이다. 일단 테라폼 코드에 직접 데이터를 입력하는 방법을 알아보자 ✔️ Terraform 코드에 직접 사용자 데이터 입력 main.tf 파일의 인스턴스 리소스 블록 내에 해당 코드를 작성한다. resource "aws_instance" "app_web" { user_data = (known after apply) # (6 unchanged attr..

image