EKS에서 생성된 로드 밸런서에 ACM에서 발급한 인증서를 적용합니다.
4804 단어 ekskubernetesAWS
개요
EKS에서 생성한 로드 밸런서에 ACM에서 발급한 인증서를 적용하여 HTTPS 앱(사이트)으로 만들기
EKS : Amazon Elastic Container Service for Kubernetes
ACM : AWS Certificate Manager
EKS가 로드 밸런서를 생성?
EKS라고 할까 Kubernetes라고 할까, 저희들이 뒤편에서 여러가지 AWS 리소스를 작성하는 구조가 되고 있습니다.
로드 밸런서라든지 ENI라든지, 여러가지 만들어지는 것 같다.
생성 권한을 부여하기 위해 클러스터를 만들 때 IAM 역할을 선택하는 것이 좋습니다.
Select the IAM Role to allow Amazon EKS and the Kubernetes control plane to manage AWS resources on your behalf.
대신 EKS 또는 Kubernetes가 AWS 리소스를 관리할 수 있도록 IAM 역할을 선택하세요.
생성된 시점의 로드 밸런서
이런 식으로 매니페스트에서 service를 만든다고 한다.
$ kubectl create -f service.yml
service.ymlkind: Service
apiVersion: v1
metadata:
name: eks-service
spec:
type: LoadBalancer
selector:
app: rails-api
ports:
- protocol: TCP
port: 80
targetPort: 3000
서비스가 생성되면 EKS는로드 밸런서를 생성합니다.
그것을 확인하기 위해 다음 명령을 친다.
$ kubectl describe services
이런 항목을 찾아
LoadBalancer Ingress: xxxxxxxxxx.us-east-1.elb.amazonaws.com
xxxxxxxxxx.us-east-1.elb.amazonaws.com
앱의 엔드포인트입니다.
브라우저에 붙여넣고 Enter해 보면
http://xxxxxxxxxx.us-east-1.elb.amazonaws.com
로 연결되어 있는 것을 확인할 수 있다고 생각한다.
http가 허용되는 것은 초등학생까지입니다.
라고 말할 것 같기 때문에 https
를 사용하기로 합니다.
서비스의 매니페스트를 변경합니다.
service.ymlkind: Service
apiVersion: v1
metadata:
name: eks-service
annotations:
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: <ACMで作成した証明書のARN>
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "443"
spec:
type: LoadBalancer
selector:
app: rails-api
ports:
- protocol: TCP
port: 443
targetPort: 3000
EKS라고 할까 Kubernetes라고 할까, 저희들이 뒤편에서 여러가지 AWS 리소스를 작성하는 구조가 되고 있습니다.
로드 밸런서라든지 ENI라든지, 여러가지 만들어지는 것 같다.
생성 권한을 부여하기 위해 클러스터를 만들 때 IAM 역할을 선택하는 것이 좋습니다.
Select the IAM Role to allow Amazon EKS and the Kubernetes control plane to manage AWS resources on your behalf.
대신 EKS 또는 Kubernetes가 AWS 리소스를 관리할 수 있도록 IAM 역할을 선택하세요.
생성된 시점의 로드 밸런서
이런 식으로 매니페스트에서 service를 만든다고 한다.
$ kubectl create -f service.yml
service.ymlkind: Service
apiVersion: v1
metadata:
name: eks-service
spec:
type: LoadBalancer
selector:
app: rails-api
ports:
- protocol: TCP
port: 80
targetPort: 3000
서비스가 생성되면 EKS는로드 밸런서를 생성합니다.
그것을 확인하기 위해 다음 명령을 친다.
$ kubectl describe services
이런 항목을 찾아
LoadBalancer Ingress: xxxxxxxxxx.us-east-1.elb.amazonaws.com
xxxxxxxxxx.us-east-1.elb.amazonaws.com
앱의 엔드포인트입니다.
브라우저에 붙여넣고 Enter해 보면
http://xxxxxxxxxx.us-east-1.elb.amazonaws.com
로 연결되어 있는 것을 확인할 수 있다고 생각한다.
http가 허용되는 것은 초등학생까지입니다.
라고 말할 것 같기 때문에 https
를 사용하기로 합니다.
서비스의 매니페스트를 변경합니다.
service.ymlkind: Service
apiVersion: v1
metadata:
name: eks-service
annotations:
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: <ACMで作成した証明書のARN>
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "443"
spec:
type: LoadBalancer
selector:
app: rails-api
ports:
- protocol: TCP
port: 443
targetPort: 3000
$ kubectl create -f service.yml
kind: Service
apiVersion: v1
metadata:
name: eks-service
spec:
type: LoadBalancer
selector:
app: rails-api
ports:
- protocol: TCP
port: 80
targetPort: 3000
$ kubectl describe services
LoadBalancer Ingress: xxxxxxxxxx.us-east-1.elb.amazonaws.com
http://xxxxxxxxxx.us-east-1.elb.amazonaws.com
라고 말할 것 같기 때문에
https
를 사용하기로 합니다.서비스의 매니페스트를 변경합니다.
service.yml
kind: Service
apiVersion: v1
metadata:
name: eks-service
annotations:
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: <ACMで作成した証明書のARN>
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "443"
spec:
type: LoadBalancer
selector:
app: rails-api
ports:
- protocol: TCP
port: 443
targetPort: 3000
감상
수동으로 노력하지 않아도 좋은 증명서의 맞는 방법은 kubernetes 공식 에 있었습니다.
"SSL support on AWS"라는 제목.
매니페스트에 기술하는 것만으로 끝내 쉬웠습니다.
아직 베타 버전인가? 라는 곳이 조금 신경이 쓰이는 포인트.
마지막으로
왠지 공식이 최강이므로 영어이지만 열심히 읽어 봅시다.
나는 구글 번역을 사용하고 있지만
Reference
이 문제에 관하여(EKS에서 생성된 로드 밸런서에 ACM에서 발급한 인증서를 적용합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sugo/items/8edf446dca0cb6cce949
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(EKS에서 생성된 로드 밸런서에 ACM에서 발급한 인증서를 적용합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sugo/items/8edf446dca0cb6cce949텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)