AWS를 이용한 웹 서버 만들기(vpc부터 RDB까지) - 1

박도영·2022년 11월 7일
0

AWS

목록 보기
2/2

1. 기본환경구성

  1. VPC 생성
    • CIDR(Classless Inter-Domain Routing) : Ip 주소 할당 기법 중 하나\
    • Tenancy : vpn에서 EC2를 생성할 때 전용 하드웨어를 사용하는 것
  2. Subnet 생성
    • VPC의 하위 네트워크
    • VPC의 CIDR보다 범위가 작아야함
    • subnet만으로는 통신을 할 수가 없음 -> Igw나 rt이 필요 !
    • 일부 인스턴스(특히 t2)는 지원하지 않는 서브넷 가용영역이 존재 !! (a1, c1은 됨)
  3. Internet Gateway생성
    • 생성 후에 attach해줘야 함
  4. Route Table 생성 및 Route생성
    • subnet별로 RT을 만들어줌 (Public은 a1과 b1을 한꺼번에 만들어줌)
    • subnet associations를 통해서 서브넷과 연결해줌
    • public rt는 route에 0.0.0.0/0을 igw로 추가해줌 -> 외부 통신 가능

2. Public EC2 생성 및 LAMP 웹서버

  1. EC2 생성
  • AMI (Amazon Machine Image)
    - t2.micro : t-instance family(사용용도?), 2-세대, micro-크기
  • LAMP 웹 서버 (Linux, Apache, MySQL, PHP)
  • Network
    - 어떤 vpc, subnet에 생성할 것인지
    • 자동으로 public IP를 만들것인지 (Elastic IP를 통해 고정 IP를 만들 것이므로 사용안함)
    • security group : type-어떤 포트 허용, source type-어떤 ip주소 허용
    • network interface : 가상의 랜카드. 통신에 사용되는 정보를 담고 있음
  • Storage(EBS)
  • Key pair
    - EC2에 접근할 때 사용하는 키페어
  • Elastic ip
    - Elastic ip 생성 후 ec2와 associate 해줌
    • ec2에 가보면 public ip가 생성되어 있음을 알 수 있음
  1. Index.php 생성
  • EC2 접속 (mac 기준. 윈도우는 putty나 shell사용해서 접속하세요 인터넷에 많음)
    1. 터미널 접속
    1. chmod 400 KeyPair.pem # 키페어의 권한을 바꿔준다
    2. ssh -i "Mac-Keypair-Demo.pem" ec2-user@ec2퍼블릭도메인 # ssh로 접속한다
  • cd var/www/html
  • vim index.php
  1. 작동 테스트

3. Custom AMI를 통한 Public EC2 인스턴스 생성

  1. Custom AMI 생성
  2. Custom AMI를 통한 EC2 추가 생성
  • Lamp web 서버, 명령코드가 이미 생성되어 있음 !

4. EFS를 통한 네트워크 파일 시스템 구성

  • 만개이상의 인스턴스를 연결할 수 있는 파일 공유 시스템
  • EFS와 EC2를 연결하기 위해서는 두 리소스 사이에 통신이 가능하도록 시큐리티 그룹이 필요
  1. EFS용 Security group 생성
  2. EFS 생성
    • Availability
    • Lifecycle
    • Performance / Throughput mode
    • Network 등
  3. EFS-EC2 마운트
    • amazon-efs-utils 사용
  4. 작동테스트

5. Application Load Balancer를 통한 이중화 네트워크 구성

  1. Target group 생성
    • 트래픽을 받는 그룹 (Target type - instance 선택)
    • Protocol / Port : 로드밸런서와 타겟그룹 사이의 통신에서 사용
    • Target registration
  2. Application Load Balancer 구성
    • Scheme : internet-facing
    • Network : vpc설정, public-subnet (IG가 RT에 설정되어 있어야 함)
    • Security group : 새로 생성
    • Listener / Rule : 외부의 요청을 받아들이고 분석하는 룰
  3. 작동테스트

6. Bastion host와 NAT Gateway를 통한 Private EC2 인스턴스의 외부 통신 구성

  • Bastion host : 외부와 내부 중간에 위치하는 호스트
  1. Private subnet에 EC2 생성
  2. Public subnet의 EC2를 통해 Private EC2접속
  3. NAT Gateway 생성
  4. Route table 설정

7. Application Load Balancer를 통한 이중화 네트워크 구성 2

  1. Target group 생성
  2. private subnet에 있는 EC2를 연결해주는 alb를 만든다
    • NAT gateway는 private EC2을 시작점으로 하고 외부를 목적지로 하는 경우에만 사용
    • 외부에서 내부로 요청하는 것은 alb를 사용 ( 확실하지 않음 ...)

참고자료 :
스스로 구축하는 aws 클라우드 인프라 기본편

profile
좋은 개발자란?

0개의 댓글