갬미의 성장일기

Day 70 - 세미프로젝트 (eks ingress tls 통신 ACM, ec2-s3 마운트하기) 본문

Cloud/Cloud 공부일기

Day 70 - 세미프로젝트 (eks ingress tls 통신 ACM, ec2-s3 마운트하기)

갬미 2022. 4. 20. 21:52

오늘 한 내용

- eks ingress tls : ACM 인증서 이용

- ec2-s3 마운트


eks ingress tls

목표

- 인증서 받아 신뢰할 수 있는 사이트라고 표시하기

- https 리다이랙션

 

1. ACM 인증서 받기 

AWS Certificate Manager로 이동 > 요청

다음 클릭

와일드카드 도메인 말고 본인이 사용할 도메인을 지정해서 준다

> 요청 클릭

 

Route53에 레코드가 생성되었다면 곧 발급으로 바뀐다

 

Route53 레코드 생성이 안되었다면 다음 클릭 -> 레코드 생성

생성 완료

 

ingress yml 수정

기존 yml에서 SSL 통신을 위한 부분을 annotation (주석아래 3줄)에 추가한다

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: myingress
  annotations:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/target-type: ip
    alb.ingress.kubernetes.io/scheme: internet-facing
    ## SSL Settings 여기만 추가함
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
    alb.ingress.kubernetes.io/certificate-arn: arn-key
    alb.ingress.kubernetes.io/ssl-redirect: '443'

spec:
  rules:
  - host: www.mymincloud.com
    http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:
            name: nginx-svc
            port: 
              number: 80

참고 블로그

ACM 발급

https://ansan-survivor.tistory.com/1075

 

[AWS Amazon Linux 2] 아마존 SSL/TLS (https) 무료 인증 AWS Certificate Manager(ACM) 서비스 사용 방법.

위와 같이 기본적으로 웹의 보안을 위해 http보다 https 프로토콜을 하도록 권장한다. 하지만 대부분 https 인증을 받기위해 돈을 지불해야 하는데, 아래 기관에서는 이를 무료로 발급해주는 비영리

ansan-survivor.tistory.com

TLS 

https://oops4u.tistory.com/2594

 

EKS ingress https

EKS 에서 http 를 https 로 리다이렉트 시켜주는 ALB 가 필요하다면, 아래와 같은 ingress 를 구성한다.  - 사전에 ACM 의 인증서 arn 이 필요하다. $ vi ingress.yaml apiVersion: networking.k8s.io/v1 kind: I..

oops4u.tistory.com

 

ec2-s3 마운트

목표

nginx log 파일을 5분마다 nfs서버에 백업하는 크론잡을 만들고

이 파일을 10분마다 s3와 마운트 된 폴더로 옮겨 (크론탭) s3에 자동으로 업로드 되도록한다

 

EC2와 S3 마운트하기

ec2와 s3를 마운트 할 수 있는 방법은 여러가지가 있다 

마운트 하는 오픈소스중 널리쓰이는 s3fs는 속도가 너무 느리다는 단점이 있어 대안책으로 나온 goofys를 사용하였다 

<<둘다 정식 패키지는 아니고 오픈소스임!>>

대략 이정도 차이가 난다고 한다~

# Golang fuse 설치
yum install -y golang fuse

# 설치 확인
go version

# go 환경 변수 설정
which go
export GOBIN=/usr/bin
go env | egrep 'GOROOT|GOBIN|GOPATH'

# goofys 설치
wget http://bit.ly/goofys-latest -O /usr/local/bin/goofys
chmod +x /usr/local/bin/goofys
goofys --version

# AWS Access Key 등록
aws configure # 본인 계정 정보 입력

# AWS S3 마운트(Goofys 마운트)
mkdir /os
goofys bucket-name /os

아래 블로그를 그대로 따라해도 된다

 

[AWS] Amazon Linux 2에서 goofys 설치 및 S3 마운트하기

Amazon Linux 2에서 goofys 설치 및 S3 마운트하기 이미지 출처 : https://github.com/kahing/goofys Golang fuse 설치 $ yum install -y golang fuse ===============================================..

scbyun.com

 

마찬가지로 코드는 깃에 ,,, 

 

오늘의 회고

  • 생각보다 시간이 오래걸려서 조금 놀랐다 ㅋㅋㅋ ㅜㅜ 물론 바보짓하느라 절반은 씀 ,, ,,,,, ,,,, 
Comments