본문 바로가기

aws

(14)
vpc - vpc간의 연결 Transit Gateway Transit Gateway를 사용하는 이유는 다음과 같습니다. 1. 두개 이상의 VPC를 연결하여 동일한 네트워크 대역대인 것 처럼 사용하고 싶을 경우 (peering의 경우 여러개를 연결 했을 때 구성이 복잡해질 수 있다.) 2. 두개 이상의 VPC를 연결하여 사용하지만 Internet 망을 거치고 싶지 않은 경우 VPC는 아시다시피 Vertual Private Cloud의 약자로 클라우드가 아닌 IDC에서 사용하던 private한 환경과 같이 구성할 수 있는 가상의 클라우드 환경입니다. 지난번 VPC 구성에서는 하나의 VPC 안에서 외부 접근으로 부터 보호되어야하는 was 서버나 database가 들어가는 private 구역과 외부에서 접근이 가능하게 할 수 있는 web 서버를 가지고 있는 publ..
ec2 - 네트워크 인터페이스 사용(network interface) aws cloud 환경에서 여러개의 서버를 구축하는 작업을 하다가 보면 programming을 하는 것과 같이 같은 작업을 하는 경우가 적지 않게 발생합니다. ec2 instance를 여러개 생성하여 docker swarm으로 network 환경을 구성한 프로젝트가 있었습니다. docker swarm으로 통신을 테스트 하던 중에 network가 불안정하여 docker의 container의 name으로 통신을 하지 않고 IP 주소를 명시하여 사용하였습니다. 이때 구성하였던 network 환경은 위와 같습니다. test를 하기 위해 여러번 ec2 instance를 새로 생성하여 구성을 할 때 instance의 ip 주소가 바뀌어 매번 수작업으로 host의 "/etc/hosts" 파일과 docker-compo..
ec2 - AMI 이미지 생성 및 사용하기 aws ec2 instance를 사용하다 보면 "현재까지의 instance 상태"와 똑같이 다른 ec2 instance를 만들어야하는 경우가 있습니다. 또는 현재 상태를 저장해두어야 하는 백업이 필요한 경우도 있습니다. aws ec2 instance는 가상 이미지를 기반으로 computing을 제공하기 때문에 그 가상의 이미지의 상태를 저장하여 이식하고 재사용할 수 있습니다. 저같은 경우에도 같은 세팅으로 test 환경, QC 환경, production 환경을 구성할 때 test환경의 이미지를 그대로 AMI로 만들어 모든 환경에 배포를 한 적이 있습니다. 또는 autoscaling을 사용할 경우 autoscaling group을 구성할 때 현재 존재하는 AMI를 기반으로 autoscaling group을..
EFS - efs(elastic file system) 간단하게 사용하기 서비스를 위한 서버를 구성할 때 storage가 필요한 경우가 많습니다. AWS에는 S3라는 훌륭한 storage 서비스가 있습니다. 사용하기 쉽고 가용성이 뛰어난 S3를 사용하기 위해서 검토를 한 결과 저희 시스템이랑 호환을 할 수 없는 상황이 발생하여 다른 storage를 결정하게 되었습니다. S3를 사용할 경우 물론 파일을 읽고 쓰는데 여려움은 없지만 현재 개발중인 서버에서 사용하는 SDK가 file system 기반의 모듈을 사용해야하기 때문에 SDK를 수정해야하는 문제가 발생했습니다. 파일의 경로로 접근하여 동작하는 모듈의 특성상 S3는 사용할 수 없다는 결론이 났고 결과적으로 파일 스토리지 서비스인 EFS를 사용하기로 하였습니다. EFS를 사용하는 경우 몇가지 장점이 있습니다. 1. aws의 ..
vpc - 개발, 운영환경 세팅 Bastion, NAT(3) 지난번 포스팅까지 사실상 기본 구성에서 어플리케이션이나 서비스를 운영하는데 필요한 기본적인 서버 구성은 마쳤습니다. 하지만 vpc는 폐쇄적인 네트워크이고 정작 개발자나 운영자도 서버에 접근을 할 수 없습니다. 그렇기 때문에 개발 또는 운영을 하는 사람들이 작업을 할 수 있게 통로를 만들어 주어야 합니다.(bastion server) 그리고 서버 자체에서도 ubuntu update나 git 소스에 접근을 하기 위해서는 인터넷과 연결되어야 하는 경우도 있습니다. 이 작업을 위한 세팅도 해주어야 합니다.(NAT) 또 한가지 필요한 것은 보안을 강화하기 위해서 ACL(Access Control List)를 추가로 설정해 줄 수 있습니다. 이번 포스팅에서는 10~13을 진행하겠습니다. 1. vpc 생성 2. pr..
vpc - 서버구성 EC2, RDS(2) 지난 포스팅에서는 vpc 구성에 필요한 vpc, routing table, subnet, internet gateway를 구성하였습니다. 이번 포스팅에서는 구성한 네트워크망에 실제 instance를 띄우고 연결을 하는 작업을 진행할 것입니다. 이번 포스팅에서는 7~9을 진행하겠습니다. 1. vpc 생성 2. private subnet 생성 3. public subnet 생성 4. private routing table 생성 5. pulic routing table 생성 6. internet gateway 생성 7. private ec2 생성(private subnet과 연결) 8. public ec2 생성(public subnet과 연결) 9. private database 생성 10. bastion s..
vpc - 구성할 vpc 모델 소개 및 vpc 기본 세팅(1) 서버를 클라우드 환경에 구성을 하게 되면 초기 비용이 들지 않기 때문에 많이 사용을 하고 있는 중입니다. 하지만 두가지를 꼭 고려해야합니다. 1. 초기 비용이 들지 않지만 사용한 만큼 비용이 과금되기 때문에 비용계산을 합리적으로 할 수 있어야 합니다. 2. 서버가 외부에 있기 때문에 보안에 신경써야합니다. 오늘은 두번째 보안을 위해 클라우드 환경 내에서 독립적인 서버 환경을 구성해보고자 합니다. vpc는 아마존의 소개페이지를 보면 다음과 같이 설명합니다. vpc는 aws 데이터센터 안에서 논리적으로 네트워크를 분리하여 외부의 접근을 제어할 수 있습니다. 인터넷 게이트웨이를 통하지 않으면 외부와 통신이 되지 않으므로 vpc 안에서 외부와 통신이 필요한 서버와 내부에서만 통신이 되어야 하는 서버를 분리구성할..
ec2 - aws ec2 만들기 "putty 접속"(2) 이전 포스팅에서는 aws ec2를 생성하는 방법을 알아보았습니다. 사실 아무런 설정을 하지 않고도 기본적인 서버를 생성하여 사용할 수 있기 때문에 쉽게 서버를 구축할 수 있습니다. 단, 요금이 서버를 켜놓고 있는 상태이기만 해도 요금이 부과되기 때문에 사용하지 않는 서버는 중지를 시켜놓는 것을 추천드립니다. 이번 포스팅에서는 실제로 만든 서버에 putty로 접속하는 방법을 알아보겠습니다. 일단 지난 포스팅에서 ec2 인스턴스를 생성할 때 다운로드 받은 키를 준비합니다. 그리고 putty를 설치합니다. putty를 설치했다면 puttyGen을 실행합니다. 실행하여 Load 버튼을 클립하면 ec2에서 생성한 키를 선택하는 창이 뜹니다. 파일을 선택하는 화면에서 "All Files"를 선택한 다음 다운로드 받..