ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • aws 강의실 vpc 실습 terraform 으로 만들기
    terraform 2023. 8. 10. 23:16

    aws 강의실을 보고 만들어봤다.

    https://www.youtube.com/watch?v=hi6S3DUJBBk 

     

    https://github.com/TaeWoonJeong/terraform-vpc

     

    GitHub - TaeWoonJeong/terraform-vpc

    Contribute to TaeWoonJeong/terraform-vpc development by creating an account on GitHub.

    github.com

     

    사용법은 어느정도 terraform 을 각자 공부한다음 사용해보자.

    terraform init
    terraform plan
    terraform apply

    aws cli를 설치한 적이 없다면, aws 계정 이 연결 안되어있다고 에러가 날 수 있다.

    aws cli 를 설치하고 인증을 한다음 사용하자.

    또는, 최상단 main.tf 에서

    provider "aws" 를 찾아보자.

    provider "aws" {
      region     = "ap-northeast-2"
      access_key = "액세스키"
      secret_key = "시크릿키"
    }

    이렇게 해주면 된다. 물론 IAM설정을 잘 해서 access_key 와 secert_key를 발급받아야한다.

    이번 예제에서는 ec2FullAccess 정도면 작동할 것으로 생각한다.

    만약 안된다면, Access Denied가 뜰것이니 IAM에 정책을 계속 추가하면 될것이다.

     

    비용이 드는것들

    ec2 t2.micro 3개

    nat-gateway

     

    간단한 설명

    1. vpc 를 10.0.0.0/16 으로 만들어준다.

    클래스 A: 10.0.0.0~10.255.255.255
    클래스 B: 172.16.0.0~172.31.255.255
    클래스 C: 192.168.0.0~192.168.255.255

    사설 IP주소로 위에 처럼 있다.

    물론 172.16.0.0/16 으로 해도 상관없다.

    2. vpc 아래에 subnet이 있다.

    vpc를 적절히 나눠줄건데, 여기서는 10.0.0.0/24 , 10.0.1.0/24 , 10.0.2.0/24 이렇게 했다.

    3. 인터넷 게이트웨이를 만들고 vpc와 연결해준다.

    4. 만든 인터넷 게이트웨이를 public 라우팅 테이블에 연결시키면서 라우팅 테이블을 만들어준다.

    5. 보안그룹을 만들어준다.

    6. key-pair을 만들어준다.(mobaXterm으로 접속할 것이므로 local_file을 사용해서 만들어준 pem 파일을 로컬에 저장할 수 있다.

    7. public ec2를 생성해준다. 만들었던 ke-pair과, 보안그룹, 인터넷이랑 연결된 서브넷을 연결시켜주고, 간단한 명령어들을 실행시켜본다.

          "sudo apt -y update",
          "sleep 15",
          "sudo apt -y update",
          "sudo apt -y install apache2",
          "sudo systemctl start apache2",
          "sudo chown -R ubuntu:ubuntu /var/www/html",
          "chmod +x *.sh",
          "sudo apt -y install cowsay",
          "cowsay Mooooooooooo!",

    성공하면, 소 가 나온다. ㅎㅎ

    8. private 라우팅 테이블을 만들고 새로운 서브넷고 연결한다.. 인터넷연결을 안한다.

    9. private ec2 를 만들어준다. 인터넷 연결이 없는 라우팅 테이블을 연결해준다.

    10. public ec2에서 private ec2 에 접근 가능한지 확인해보자.

    ssh -i "pem파일" ubuntu@ec2사설IP

     를 해서 접근 가능한지 확인한다.

    private ec2 안에 들어와서 curl -v naver.com 같은 거를 하면 당연히 안된다.

    다음으로 private ec2 인데, 인터넷이 되도록 만들어보자.

    11. nat-gateway 를 만들고 새로운 서브넷과 연결시켜준다.

    12. 라우팅테이블을 만들고, nat게이트웨이와 연결하고, cidr을 0.0.0.0/0 으로 인터넷이 되게한다.

    13. private-nat ec2 를 만들고, 만든 라우팅 테이블과 연결시켜준다.

    14. ssh명령어로 private nat ec2로 들어가서, 인터넷이 되는지 확인한다.

Designed by Tistory.