From e25bdf542f3cd577fe45f7809ab6672fd5800053 Mon Sep 17 00:00:00 2001 From: JoongHyun Kim Date: Fri, 10 Nov 2023 13:37:34 +0900 Subject: [PATCH] =?UTF-8?q?[=EA=B9=80=EC=A4=91=ED=98=84]=204=EC=A3=BC?= =?UTF-8?q?=EC=B0=A8=20=EA=B3=BC=EC=A0=9C=20-=20complete?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\354\260\250_\352\263\274\354\240\234.md" | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 "4\354\243\274\354\260\250 Server S-Day \352\263\274\354\240\234/\352\271\200\354\244\221\355\230\204_4\354\243\274\354\260\250_\352\263\274\354\240\234.md" diff --git "a/4\354\243\274\354\260\250 Server S-Day \352\263\274\354\240\234/\352\271\200\354\244\221\355\230\204_4\354\243\274\354\260\250_\352\263\274\354\240\234.md" "b/4\354\243\274\354\260\250 Server S-Day \352\263\274\354\240\234/\352\271\200\354\244\221\355\230\204_4\354\243\274\354\260\250_\352\263\274\354\240\234.md" new file mode 100644 index 0000000..294a498 --- /dev/null +++ "b/4\354\243\274\354\260\250 Server S-Day \352\263\274\354\240\234/\352\271\200\354\244\221\355\230\204_4\354\243\274\354\260\250_\352\263\274\354\240\234.md" @@ -0,0 +1,74 @@ +# 4주차 서버 세션 +## ✏️ 기본 과제 +```markdown +1. Bastion Host 없이 모든 서버에 퍼블릭 IP 부여하기 +2. `http://www.도메인이름`으로 접근하면 사용자용 Nginx 웹 서버가 보이고, `http://dev.도메인이름`으로 접근하면 관리자용 웹 서버가 보인다. +``` +
+ +## 기본 과제 인증 +1. ALB 리스너 규칙 + 스크린샷 2023-11-10 오후 12 12 15 + +2. DNS 접근
+ → [영상 인증](https://drive.google.com/file/d/18HRALxm2ToXLiYP-37LGisrY-CT0X97g/view?usp=sharing) +
+ +## 기본 과제 해결 과정 +1. `ALB`에 dev용 리스너 규칙 추가 + - 호스트 헤더값 `dev.joong.store`, 대상 그룹 `web-dev`로 전달되도록 설정한다. + - 규칙 우선수위 1순위는 user용으로 사용했기 때문에 2순위로 설정한다. + - cf) 규칙은 가장 낮은 값에서 가장 높은 값에 이르기까지 우선 순위에 따라 평가된다. 기본 규칙은 마지막에 평가된다. +
+ +2. `joongh.store` 도메인에 `dev.joongh.store`를 name으로 하는 A 레코드를 생성한다. + 스크린샷 2023-11-10 오후 12 16 35 + +
+ +3. 로컬에서 `web-dev`와 `web-user` 서버에 각 index.html 파일을 전송하고, `/usr/share/nginx/html` 경로에 있는 index.html를 대체한다. + 스크린샷 2023-11-10 오후 12 29 21 + + 스크린샷 2023-11-10 오후 12 36 35 + +
+ +## 📚 심화 과제 +```markdown +1. 기본 과제를 통해 구축한 서버를 활용해 ACM 발급 및 적용하기 +2. ALB는 "https://도메인이름"으로 접근하면 Nginx 웹 서버가 보이고, "http://도메인이름"으로 접근하면 자동으로 HTTPS 트래픽으로 리다이렉트된다. +``` +
+ +## 심화 과제 인증 +- `https://도메인이름`으로 접근 시 Nginx 웹 서버가 보이고, `http://도메인이름`으로 접근 시 HTTPS로 리다이렉션이 일어나는 모습
+→ [영상 인증](https://drive.google.com/file/d/1N_jYWKbYMFhBppjxn2_1AzpSe4fhRJsf/view?usp=sharing) + +
+ +## 심화 과제 해결 과정 +1. ACM 퍼블릭 인증서 요청 + - 루트 도메인뿐만 아니라, 모든 서브 도메인에 대해서 인증서를 발급받기 위해 `joongh.store`, `*.joongh.store`로 도메인 이름을 설정한다. + 스크린샷 2023-11-10 오후 12 56 15 + +2. 생성된 인증서를 클릭해 모든 도메인에 대해 `Route53에서 레코드 생성`한다. +3. ALB의 리스너 규칙 중 `HTTP`를 `HTTPS`로 수정하고, 보안 리스너 설정 파트에서 위에서 생성한 ACM 인증서를 선택해준다. + 스크린샷 2023-11-10 오후 1 05 49 + +
+ +4. HTTPS 트래픽을 허용하도록 ALB 보안그룹의 인바운드 규칙을 수정한다. + 스크린샷 2023-11-10 오후 1 09 19 + 스크린샷 2023-11-10 오후 1 11 01 + +
+
+ +5. HTTP로 들어오는 트래픽을 HTTPS로 리디렉션 해주는 HTTP 리스너를 생성한다. + 스크린샷 2023-11-10 오후 1 12 48 + +
+ +## 참고 +- ALB 리스너 규칙 + https://docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/application/listener-update-rules.html