테라폼으로 인스턴스를 생성시켜 웹 서버를 동작시키는 실습을 해보려고 합니다. 최대한 간단하게 웹 서버 하나만을 생성하는 것이 이번 실습의 목표이고, Hello,world를 웹 페이지에 표시해보려고 합니다. 본 실습에서는 포트번호를 80 대신 8080 번호를 사용하였는데 1024 이하 모든 포트번호를 사용하기 위해서는 root 권한이 필요한데, 80 포트를 사용할 경우 공격자가 root 권한을 가지게 되기 때문에, 보안의 위협이 생길 수 있습니다. 따라서, 권한이 제한된 포트번호로 웹 서버를 가동시키는 것이 가장 이상적인 방법이며, 그러기 위해선 높은 숫자 번호의 포트를 사용해야 합니다. 단일 웹 서버 배포하기 EC2를 생성하기 앞서, 사용자 데이터 스크립트의 구조를 먼저 알아야 합니다. #!/bin/ba..
Docker란 무엇일까 ? 인프라를 어플리케이션을 관리하는 것처럼 관리하고, 신속하고 코드를 배포에 용의하게 만들어주는 오픈 플랫폼입니다. 흔히 컨테이너 기반 가상화 도구라고도 불리며 애플리케이션을 컨테이너라는 단위로 격리하여 실행하고 배포하는 기술이라 볼 수 있습니다. 꼬리물기로, 하나씩 차근차근 알아보려고 합니다. 도커를 알았으니 이제 컨테이너가 뭔지 의문이 들 수 있습니다. 여기서 컨테이너란, 가상화 기술 중 하나로 호스트 운영체제 위에 여러 개의 격리된 환경을 생성하고 각각의 컨테이너 안에서 애플리케이션을 실행하는 소프트웨어 패키지 입니다. 그럼 또 여기서 가상화 기술이 정확한 개념에 대해 모르시는 분들이 있을 것이라 생각합니다. 여기서 말하는 가상화 기술이란, 하나의 물리적 컴퓨터 자원(CPU,..
VPC Endpoint란? VPC 엔드포인트를 통해, IGW, NAT, VPN 연결 또는 연결을 필요로하지 않고 AWS 서비스 및 VPC 엔드포인트 서비스에 비공개로 연결할 수 있습니다. VPC의 인스턴스는 서비스의 리소스와 통신하는 데 퍼블릭 IP 주소를 필요로 하지 않습니다. VPC와 기타 서비스간의 트래픽은 아마존 네트워크를 벗어나지 않습니다. 프라이빗 서브넷 같은 경우, 인터넷과의 접점이 없어 격리된 공간이지만, 이 상황에서도 AWS의 다양한 서비스를 연결할 수 있도록 지원하는 서비스를 VPC Endpoint라고 합니다. VPC 엔드포인트는 크게 두가지로 나눌 수 있습니다. Interface Endpoint ENI(Elastic Network Interface) 기반 프라이빗 ip를 만들어 서비스..
https://js990317.tistory.com/29 [VPC] 2. A-Z까지 커스텀 VPC 생성해보기 이번 실습에는 커스텀 VPC와 Subnet을 만들고 인터넷이 연결가능한 Public Subnet과 Private Subnet으로 나누어 만들어 주려고합니다. 마지막으로 NACL을 설정하고 만들어진 VPC에 EC2를 띄어보려고 합니다. 1 js990317.tistory.com 지난 실습때 Custom VPC 생성을 통해 퍼블릭 서브넷과 프라이빗 서브넷을 나누고 그안에 EC2까지 올려보는 실습을 했었습니다. 프라이빗 서브넷안에 생성한 EC2는 퍼블릭 주소를 받지 못하기 때문에 인터넷과 통신을 할 수 없는 상태입니다. 하지만, 프라이빗 서브넷 역시 DB서버의 업데이트 등 인터넷과의 통신이 필요할때가 존..
이번 실습에는 커스텀 VPC와 Subnet을 만들고 인터넷이 연결가능한 Public Subnet과 Private Subnet으로 나누어 만들어 주려고합니다. 마지막으로 NACL을 설정하고 만들어진 VPC에 EC2를 띄어보려고 합니다. 1. Custom VPC 만들기 기본 VPC를 제외한 Custom VPC를 한번 생성해보록 하겠습니다. 2. Subnet 생성 저는 CIDR를 16으로 지정하여 16비트의 호스트 주소를 사용하도록 하겠습니다. VPC망이 잘 생성됐음을 알 수 있고, 하나하나 부품을 생성하여 VPC를 조립해보겠습니다. 먼저 퍼블릭 서브넷과 프라이빗 서브넷을 구성해보록 하겠습니다. 각각의 서브넷을 사용하여 퍼블릭 서브넷은 10.0.0.x의 ip 주소를 프라이빗 서브넷은 10.0.1.x의 ip 주..
VPC 환경 구축해보기 저번에 테라폼 키 설정과 간단한 EC2 구축을 실습했었습니다. 클라우드 환경에서의 VPC는 서브넷이나 네트워크 게이트웨이 등 네트워킹 환경을 가상으로 완벽하게 제어할 수 있는, 한마디로 가상 네트워크 구축 센터라고 볼 수 있습니다. VPC는 클라우드 환경 구축에 있어 매우 중요한 요소에 해당하는데, 하나의 VPC 환경을 테라폼으로 간단하게 자동화시켜 동작하게 구현해보려고 합니다. provider "aws"{ region = "ap-northeast-2" // 제공자 리전 정보 alias = "vpc" } resource "aws_vpc" "main" { cidr_block = "10.0.0.0/16" tags = { Name = "terraform-vpc" } } resource ..
IP ? IP란 Internet Protocol의 약자로, 인터넷이 통하는 네트워크에서 어떤 정보를 수신하고 송신하는 통신에 대한 규약을 의미합니다. 우리가 사용하는 스마트폰, 노트북, 컴퓨터같은 전자기기는 모두 운영체제도 다르고, 아예 구현된 언어가 다르기 때문에 네트워크상에서 통신할 수 있도록 하려면 공통 통신 규약이 필요합니다. IPv4 IPv4는 우리가 흔히 접하는 IP주소 192.168.xx 혹은 127.0.0.1 처럼 8비트씩 4옥텟으로 나타난것을 의미합니다. IPv4는 총 32비트로, 약 43억개의 고유한 주소를 부여할 수 있는데, 처음 IP를 할당할 때는 클래스를 나누어 할당했지만, 인터넷이 점점 발달하면서 IP주소의 소모가 빨라지자 클래스로 나누어 할당하는 방식 대신 CIDR란 방식을 사..
테라폼(Terraform)이란? 테라폼을 설명하기전에 IaC에 대한 설명을 먼저 해야 할 것 같다. IaC는 Infrastructure as Code, 즉 코드형 인프라로, 코드 형태로 인프라를 작성, 정의, 배포, 업데이트 등 인프라를 관리하고 프로비저닝 하는 것을 뜻합니다. 여기서 테라폼은 IaC의 도구로 서버와 인프라 자체를 구성하는데 사용되는 도구입니다. 준비 사항 - EC2 사용 권한이 있는 AWS 사용자 - Terraform 설치 1. ACCESS_KEY 설정 이번 실습에서 우리는 EC2 배포 실습만 할 것이기 때문에 EC2 외 다른 권한을 부여하지 않은 AWS 사용자를 만들어 액세스 키를 설정해야 합니다. 해당 액세스 키를 발급해주고 여기서 발급받는 액세스 키는 키를 생성했을 때 빼고 재발급..