7.3. 샘플 애플리케이션 배포
샘플 애플리케이션을 위한 새 프로젝트를 생성합니다.
oc new-project hello-world
$ oc new-project hello-world
Copy to Clipboard Copied! Toggle word wrap Toggle overflow hello world 애플리케이션을 배포합니다.
oc new-app -n hello-world --image=docker.io/openshift/hello-openshift
$ oc new-app -n hello-world --image=docker.io/openshift/hello-openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사전 생성된 서비스 리소스를 NodePort 서비스 유형으로 변환합니다.
oc -n hello-world patch service hello-openshift -p '{"spec":{"type":"NodePort"}}'
$ oc -n hello-world patch service hello-openshift -p '{"spec":{"type":"NodePort"}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS Load Balancer Operator를 사용하여 AWS ALB를 배포합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS ALB Ingress 끝점을 curl하여 hello world 애플리케이션에 액세스할 수 있는지 확인합니다.
참고AWS ALB 프로비저닝에는 몇 분이 걸립니다.
curl: (6) 호스트를 해결할 수 없는
오류가 발생하면 기다렸다가 다시 시도하십시오.INGRESS=$(oc -n hello-world get ingress hello-openshift-alb -o jsonpath='{.status.loadBalancer.ingress[0].hostname}') curl "http://${INGRESS}"
$ INGRESS=$(oc -n hello-world get ingress hello-openshift-alb -o jsonpath='{.status.loadBalancer.ingress[0].hostname}') $ curl "http://${INGRESS}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Hello OpenShift!
Hello OpenShift!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3.1. AWS WAF 구성 링크 복사링크가 클립보드에 복사되었습니다!
AWS WAF 서비스는 ROSA와 같이 보호된 웹 애플리케이션 리소스로 전달되는 HTTP 및 HTTPS 요청을 모니터링, 보호 및 제어할 수 있는 웹 애플리케이션 방화벽입니다.
웹 ACL에 적용할 AWS WAF 규칙 파일을 만듭니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 그러면 코어(Common) 및 SQL AWS 관리 규칙 세트가 활성화됩니다.
위에서 지정한 규칙을 사용하여 AWS WAF 웹 ACL을 만듭니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS WAF Web ACL ARN으로 Ingress 리소스에 주석을 답니다.
oc annotate -n hello-world ingress.networking.k8s.io/hello-openshift-alb \ alb.ingress.kubernetes.io/wafv2-acl-arn=${WAF_ARN}
$ oc annotate -n hello-world ingress.networking.k8s.io/hello-openshift-alb \ alb.ingress.kubernetes.io/wafv2-acl-arn=${WAF_ARN}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 규칙이 전파되고 앱이 여전히 작동하는지 테스트할 때까지 10초 동안 기다립니다.
curl "http://${INGRESS}"
$ curl "http://${INGRESS}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Hello OpenShift!
Hello OpenShift!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow WAF가 잘못된 요청을 거부했는지 테스트합니다.
curl -X POST "http://${INGRESS}" \ -F "user='<script><alert>Hello></alert></script>'"
$ curl -X POST "http://${INGRESS}" \ -F "user='<script><alert>Hello></alert></script>'"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고AWS WAF 통합 활성화에는 몇 분이 걸릴 수 있습니다.
403 Forbidden
오류가 표시되지 않으면 몇 초 기다렸다가 다시 시도하십시오.예상되는 결과는
403 Forbidden
오류이며 이는 AWS WAF가 애플리케이션을 보호하고 있음을 의미합니다.