Tôi đang xây dựng ứng dụng của mình trong AWS.
Tôi đã triển khai dự án giao diện người dùng Reactjs của mình trong phiên bản EC2. Thay vì người dùng từ thế giới internet bên ngoài truy cập trực tiếp vào phiên bản EC2 của tôi, tôi muốn đặt phiên bản đó phía sau Cổng API AWS. Vì vậy, AWS API Gateway sẽ là điểm vào duy nhất cho các dịch vụ giao diện người dùng và dịch vụ phụ trợ của ứng dụng của tôi. Đây là kế hoạch để đi với:
thế giới bên ngoài ---> AWS API Gateway ---> Network Load Balancer ---> các phiên bản Nhóm mục tiêu VPC/EC2 của tôi
Đây là những gì tôi đã làm:
Dự án Reactjs Frontend đang chạy tốt trong phiên bản EC2; Tôi có thể truy cập trang web bằng địa chỉ ip công khai của phiên bản EC2.
Nhóm mục tiêu được định cấu hình tốt và Bộ cân bằng tải mạng. Tôi đã xác nhận bằng cách nhập tên DNS của NLB vào trình duyệt, tức là http://myapp-frontend-NLB-c11112esd43524rw.elb.ap-northeast-1.amazonaws.com
và tải thành công/mở trang web giao diện người dùng của ứng dụng của tôi.
Tôi đã tạo Cổng API AWS (REST API) mới và định cấu hình tên miền tùy chỉnh cho nó. (với chứng chỉ https được xử lý trong Trình quản lý chứng chỉ AWS).
tức là miền tùy chỉnh là frontend.myapp.com
;
tên miền API Gateway là d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com
Và tôi đã tạo mới NS
ghi lại trong nhà cung cấp DNS của tôi cho họ, để frontend.myapp.com
chỉ tới d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com
Tôi đã làm theo tài liệu aws này: https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-with-private-integration.html từng bước và định cấu hình liên kết VPC, Tài nguyên API, Loại tích hợp, v.v.
Sau khi triển khai API đã tạo, khi tôi nhấp vào mở URL Gọi, (ở dạng https://123qwe123qe.execute-api.ap-northeast-1.amazonaws.com/[stage]
), tôi có thể thấy mã HTML được trả lại.
Tôi mong đợi điều đó khi tôi đến thăm frontend.myapp.com
trong trình duyệt, DNS cuối cùng sẽ dẫn lưu lượng đến tên miền của API Gateway d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com
, và API Gateway sau đó sẽ chuyển yêu cầu tới NLB, v.v. và cuối cùng tải trang web/hoặc trả về cùng một mã HTML.
Tuy nhiên, khi tôi đến thăm frontend.myapp.com
trong trình duyệt, không có phản hồi. Tôi nghĩ bản ghi DNS không hoạt động. đào +dấu vết docloud.iwg-inc.co.jp.
cho kết quả sau:
; <<>> DiG 9.10.6 <<>> +trace frontend.myapp.com.
;; tùy chọn chung: +cmd
. 3240 TRONG NS i.root-servers.net.
. 3240 TRONG NS d.root-servers.net.
. 3240 TRONG NS b.root-servers.net.
. 3240 TRONG NS m.root-servers.net.
. 3240 TRONG NS j.root-servers.net.
. 3240 TRONG NS h.root-servers.net.
. 3240 TRONG NS f.root-servers.net.
. 3240 TRONG NS g.root-servers.net.
. 3240 TRONG NS k.root-servers.net.
. 3240 TRONG NS c.root-servers.net.
. 3240 TRONG NS a.root-servers.net.
. 3240 TRONG NS l.root-servers.net.
. 3240 TRONG NS e.root-servers.net.
;; Đã nhận được 811 byte từ 240d:1a:6a5:c900:e67e:66ff:fe1f:bf4c#53(240d:1a:6a5:c900:e67e:66ff:fe1f:bf4c) trong 29 ms
...kết quả khác...
giao diện người dùng.myapp.com. 14400 TRONG NS d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com.
;; Đã nhận 117 byte từ 54.68.111.244#53(ns4.jp-domains.jp) trong 131 mili giây
;; kết nối quá hạn; không thể truy cập máy chủ
Bạn có thể thấy, giao diện người dùng.myapp.com.
thực sự chỉ đến d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com.
như một NS
ghi.
Tuy nhiên, nó nói kết nối quá hạn; không thể truy cập máy chủ
.
d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com.
là tên miền tùy chỉnh của Cổng API của tôi mà tôi đã thử nghiệm với URL gọi và nó được kết nối với các dịch vụ.
tại sao nó lại nói không thể truy cập máy chủ
?
Điều đó có nghĩa là gì? Làm thế nào tôi có thể giải quyết nó và hoàn thành quy trình?