Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

클라우드 엔지니어 꿈나무

AWS 인프라 구축 2 : RDS, S3 버킷, DNS 본문

AWS

AWS 인프라 구축 2 : RDS, S3 버킷, DNS

새싹싹이 2023. 12. 7. 14:19

이전 글

https://hiheey.tistory.com/150

 

RDS 생성

파라미터 그룹

 

 

옵션 그룹

 

 

서브넷 그룹

private 에 연결

 

 

데이터베이스 생성

엔진 유형 : MYSQL

템플릿 : 프리티어

인스턴스 구성 : db.t2.micro

보안그룹 : default

가용 용역 : 설정 없음

데이터베이스 인증 : 암호 인증

 

 

web01 과 web02에 mysql 설치

$ sudo yum install -y mysql

 

엔드포인트로 CMD 연결

 

 

web01 및 web02 데이터베이스 연결 확인

$ mysqladmin ping -u admin -p -h [엔드포인트 주소]

 

 

스토리지 S3

 

모든 퍼블릭 엑세스 차단으로 지정하고 생성

 

 

IAM 역할 생성

EC2에 S3 버킷에 접근할 수 있도록 역할을 생성하여 적용

 

 

IAM 역할 적용

web01 과 web02에 둘 다 적용

 

접근 확인

web01 과 web02 둘 다 실행

$ echo "hello" > test.txt  => s3 버킷에 보낼 파일 생성

$ sudo aws s3 cp test.txt s3://bucketforkang

 

하기와 같이 txt 파일이 전송된 것을 확인할 수 있다.

 

 

퍼블릭 DNS에 리소스 정보 추가

도메인은 하기의 도메인으로 설정

 

 

레코드 생성

bastion용과 load balancer 용 2개 생성

 

bastion 용

라우팅 정책: 단순 라우팅 (해당 창이 안 보이면 마법사로 전환하면 해당 창 출력)

값에 bastion의 public IP 입력

 

 

로드밸런서용

 

nslookup 도메인 접속

 

 

프라이빗 DNS 

프라이빗 DNS 를 사용하기 위하여 VPC 내 DNS 설정 부분을 하기와 같이 수정

 

 

프라이빗 DNS 호스팅 영역 생성

프라이빗 DNS 는 퍼블릭 DNS와 중복이 되면 안되기 때문에 중복되지 않은 도메인 이름으로 설정 필수

 

 

프라이빗 DNS 의 레코드 생성

bastion, web01, web02, db 총 4개 생성

라우팅 정책 : 단순 라우팅

IP에는 인스턴스의 프라이빗 IP를 기재 

bastion, web01, web02는 레코드 이름 및 IP 주소만 수정하여 하기와 같이 작성

 

 

db용

RDS 는 고정 IP 주소 사용이 불가하기 때문에 엔드포인트로 레코드를 추가한다.

 

 

프라이빗 DNS 작동 확인

> ssh bastion => bastion 접속

$ nslookup web01.home

$ nslookup web02.home

$ nslookup db.home

 

 

위의 주어진 DNS 설정으로 config 파일 수정   

bastion server는 외부에서 접근을 해야하는 퍼블릭 DNS 주소 입력

더보기

Host bastion
    Hostname bastion.kanggroup.link 
    User ec2-user
    IdentityFile ~\.ssh\JumpServer_KeyPair.pem

Host web01
    Hostname web01.home
    User ec2-user
    IdentityFile ~\.ssh\JumpServer_KeyPair.pem
    ProxyCommand ssh.exe bastion -W %h:%p

Host web02
    Hostname web02.home
    User ec2-user
    IdentityFile ~\.ssh\JumpServer_KeyPair.pem
    ProxyCommand ssh.exe bastion -W %h:%p

 

 

인증서 요청

load balancer 주소로 인증

퍼블릭 인정서 요청 후, route 53에서 레코드 생성까지 해야 인증서가 발급된다.

 

발급 확인

 

 

인증서를 발급하였으니 위에서 언급했던 로드밸런서 리스너에 HTTPS 추가

 

 

설정 후, web01 과 web02에서 httpd 재시작

$ sudo systemctl restart httpd

인터넷창에서 https://www.[도메인 이름] 으로 접속

하기와 같이 https 로 접속이 가능하며 SSL 서버 인증서가 이용되고 있는 것을 볼 수 있다.