[Azure] Terraform - AGW 구성 후 기존 VM 및 NSG 정책 추가
·
AWS, Azure
Terraform 코드를 사용하여 AGW 구성, 기존 VM 등록 및 NSG 정책 추가https://comengx.tistory.com/89 에서 구성한 내용에서 LB, LB 공인 IP 삭제 후 진행AGW 전용 SUBNET 생성 - azuredev-agw-subnet (사전 구성)기존 subnet을 같이 사용했더니, agw 구성이 진행되면서, 구성되어 있는 vm이 모두 삭제 됨.terraform plan 진행 시 기존 리소스 삭제 안내가 있었는데,, 제대로 보지를 않음.;;;;클라이언트 -> AGW 접속(공인 IP) -> VM 접속(사설 IP)기존에 구성한 NSG에 HTTP 서비스 포트 추가정책 추가 시 기존에 등록 된 정책과 규칙 번호가 중복되지 않도록 확인 필요 디렉토리 구조 각 파일의 내용메인 구성 ..
[Azure] Terraform - 다수의 VM 생성 및 LB 연동
·
AWS, Azure
Terraform 코드를 사용하여 다수의 리눅스 VM 생성 및 LB 연동리소스 그룹 - azuredev-rg (생성되어 있는 그룹 사용)VNET 이름 - azuredev-vnet (신규 생성)SUBNET 이름 - azuredev-subnet (신규 생성)공인 IP - azuredev1-pip  (신규 생성)VM 이름 - azuredev1  (신규 생성)SSH 접근은 사용자 계정 azuser로 패스워드 인증 사용LB 이름 -  azuredev-lb (신규 생성)LB 공인 IP - azuredev-lb-pip (신규 생성)추가적으로 SSH 및 80 포트 접속을 위한 NSG 구성 및 포트 설정이 필요(NSG 이름 - azuredev-nsg) -> 수동 구성 디렉토리 구조  각 파일의 내용메인 구성 - main..
[Azure] Terraform - VM 생성
·
AWS, Azure
Terraform 코드를 사용하여 리눅스 VM 만들기리소스 그룹 - azuredev-rg (생성되어 있는 그룹 사용)VNET 이름 - azuredev-vnet (신규 생성)SUBNET 이름 - azuredev-subnet (신규 생성)공인 IP - azuredev1-pip  (신규 생성)VM 이름 - azuredev1  (신규 생성)SSH 접근은 사용자 계정 azuser로 패스워드 인증 사용  디렉토리 구조   각 파일의 내용메인 구성 - main.tfterraform { required_providers { azurerm = { source = "hashicorp/azurerm" version = "4.4.0" } }}variable "subscription_id" {}..
[Azure] 별도의 인증 파일을 사용하여 서비스 주체와 Terraform 연동
·
AWS, Azure
1. 변수 파일 생성프로젝트 루트 디렉토리에 "terraform.tfvars" 파일 생성terraform.tfvars 파일은 로컬에만 저장하고, 절대 공유하거나 버전 관리 시스템에 커밋하지 않도록 주의 필요.# terraform.tfvarssubscription_id = "your_subscription_id"client_id = "your_client_id"client_secret = "your_client_secret"tenant_id = "your_tenant_id"  2. .gitignore 설정인증정보가 포함 된 "terraform.tfvars" 파일을 버전 관리에서 제외하기 위해 설정프로젝트 루트 디렉토리에 " .gitignore" 파일 생성예외 처리할 "terrafo..
[Azure] OS 디스크 (Blob 스토리지, 관리 디스크)
·
AWS, Azure
Azure OS 디스크는 기본적으로 Blob 스토리지(페이지 Blob)를 사용하여, 관리 디스크 형태로 제공이 됨.Azure Blob 스토리지비정형 데이터를 저장하고 관리하는 데 적합하며, 주로 대용량 데이터를 장기 보관 또는 아카이빙하는 데 사용일반적인 데이터 저장에 사용Azure 관리 디스크Azure 가상 머신의 디스크로 사용되며, VM이 실행되는 동안 운영 체제와 애플리케이션 데이터를 저장하는 영구적인 블록 스토리Azure VM의 스토리지 솔루션으로 특화OS 디스크로 사용 시 최대 용량은 4,095GiB페이지 BlobBlob 스토리지가 제공하는 3가지 유형 중 하나(블록 Blob, 추가 Blog, 페이지 Blob)랜덤 읽기/쓰기가 필요한 데이터에 최적화512바이트 페이지 단위로 저장Azure VM의..
[Azure] Terraform 연동을 위한 서비스 주체(Service Principal) 구성
·
AWS, Azure
서비스 주체(Service Principal)Azure 리소스에 대한 인증 정보 제공 및 권한 부여Azure CLI를 통해 생성 가능응용프로그램 또는 인프라 또는 Azure 인프라 제품들을 사용하기 위한 앱에 대한 ID를 만드는 과정이 서비스 주체(Service Principal) 입니다. 이는 응용프로그램 APP에서 Azure 인프라를 수정 하기 위해서 등록하고 사용 기간 설정등 자동화를 위해서 필요한 제품이며 이 권한은 AAD에서도 매우 중요한 기능입니다. 그래서 권한이 없는 사용자들은 함부로 이 서비스 주체를 만들수 없도록 세팅하는것은 매우 중요합니다.서비스 주체(Service Principal) 생성Azure Cloud Shell 실행 Terraform용 Service Principal 생성 (t..
[Azure] vscode에서 terraform 연동
·
AWS, Azure
Terraform 설치Terraform 파일 다운로드 (사용하는 OS 환경에 맞게 선택https://developer.hashicorp.com/terraform/install다운로드 파일 압축 해제 후 실행 파일 복사 (C:\Terraform 아래에 복사) 파일 실행 확인   환경 변수 등록 (Windows 10기준)내 컴퓨터 -> "속성" -> "고급 시스템 설정" -> "환경 변수" 클릭 시스템 변수 -> Path에 Terraform 실행 파일 경로 등록 다른 경로(C:\)로 이동하여 terraform 실행 확인   VSCode에서 Terraform 확장 패키지 설치확장 패키지 설치HashiCorp TerraformAzure Terraform (azure에서 사용할거라 설치)   Terraform 리..
[Azure] vscode와 azure 연동
·
AWS, Azure
vscode에서 azure 확장 패키지 설치설치 패키지: Azure Tools, Azure CLI Tools 확장 검색에서 Azure Tools 를 설치하면 추가 패키지들이 함께 설치 됨 Azure CLI Tools는 추가적으로 설치 필요.     테넌트(Tenant ID) 연결하기좌측 Azure 아이콘 클릭 후 Sign in to Azure... 클릭     웹 페이지에서 Azure 로그인 진행 정상적으로 연결이 진행되면 vscode에서 구독 리스트 확인이 가능함.
[AWS] Bastion Host
·
AWS, Azure
배스천 호스트(Bastion Host)란 보안을 위해 Host 외부 네트워크와 내부 네트워크 사이에서 게이트웨이 역할을 수행하는 호스트를 의미하며, 사용시 이점은 아래와 같다.외부 노출이 최소화 되어 외부에서 내부 리소스에 직접 접속하는것을 방지하여 보안 강화배스천 호스트를 통한 사용자 인증으로 인가되지 않은 사용자의 접근 예방배스천 호스트를 통해 내부 네트워크를 접근하기에 모든 접속 로그를 확인할 수 있음.배스천 호스트를 통한 외부 접근으로 모든 서버가 퍼블릭 IP를 가질 필요가 없어 리소스 운영 비용 절감.AWS Public IPv4 요금 부과 (서비스 연결에 상관 없이 시간 당, IP 당 0.005 USD)https://aws.amazon.com/ko/blogs/korea/new-aws-public..