Định cấu hình máy chủ ảo cho Đám mây riêng

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Khi cài đặt tại cơ sở hạ tầng riêng, bạn có toàn quyền kiểm soát các máy chủ ảo. Bạn có thể tạo máy chủ ảo cho mọi tổ chức và trong mọi môi trường bằng cách sử dụng TLS (Bảo mật tầng truyền tải) hay không.

Tài liệu này mô tả cách tạo một máy chủ ảo đơn giản. Đó là một phương thức không hỗ trợ TLS. Để biết thêm ví dụ, bao gồm cả ví dụ về cách tạo máy chủ ảo hỗ trợ TLS, hãy xem bài viết Định cấu hình quyền truy cập TLS vào một API cho Đám mây riêng tư.

Tìm hiểu thêm:

Giới thiệu về bí danh của máy chủ

Khi tạo máy chủ ảo, bạn phải chỉ định bí danh của máy chủ lưu trữ ảo. Thông thường, đây là tên DNS của máy chủ ảo.

Bộ định tuyến cạnh so sánh tiêu đề Host của yêu cầu đến với danh sách các bí danh máy chủ hiện có trong quá trình xác định proxy API xử lý yêu cầu. Khi gửi yêu cầu thông qua một máy chủ ảo, hãy chỉ định một tên miền khớp với bí danh của máy chủ lưu trữ ảo hoặc chỉ định địa chỉ IP của Bộ định tuyến và tiêu đề Host chứa bí danh của máy chủ.

Ví dụ: nếu bạn đã tạo một máy chủ ảo có bí danh của máy chủ là myapis.apigee.net trên cổng 9001, thì yêu cầu cURL tới một API thông qua máy chủ ảo đó có thể sử dụng một trong các dạng sau:

  • Nếu bạn có mục nhập DNS cho myapis.apigee.net:

    curl http://myapis.apigee.net:9001/proxy-base-path/resource-path
  • Nếu bạn không có mục nhập DNS cho myapis.apigee.net:

    curl http://routerIP:9001/proxy-base-path/resource-path -H 'host:myapis.apigee.net'

    Trong biểu mẫu này, bạn chỉ định địa chỉ IP của Bộ định tuyến và truyền bí danh của máy chủ lưu trữ trong tiêu đề Host.

    curl http://routerIP:9001/proxy-base-path/resource-path

Các tuỳ chọn khi bạn không có mục nhập DNS cho máy chủ ảo

Khi bạn không có mục nhập DNS, có một lựa chọn là đặt bí danh của máy chủ thành địa chỉ IP của Bộ định tuyến và cổng của máy chủ ảo, dưới dạng routerIP:port. Ví dụ:

192.168.1.31:9001

Khi bạn tạo lệnh curl trong biểu mẫu bên dưới:

curl http://routerIP:9001/proxy-base-path/resource-path

Tuỳ chọn này được ưu tiên vì hoạt động hiệu quả với giao diện người dùng Edge.

Nếu bạn có nhiều Bộ định tuyến, hãy thêm bí danh của máy chủ cho mỗi Bộ định tuyến, chỉ định địa chỉ IP của từng Bộ định tuyến và cổng của máy chủ ảo.

Ngoài ra, bạn có thể đặt bí danh của máy chủ lưu trữ thành một giá trị, chẳng hạn như temp.hostalias.com. Sau đó, bạn phải truyền tiêu đề Host trên mọi yêu cầu:

curl -v http://routerIP:9001/proxy-base-path/resource-path -H 'Host: temp.hostalias.com'

Hoặc thêm bí danh của máy chủ vào tệp /etc/hosts của bạn. Ví dụ: thêm dòng này vào /etc/hosts:

192.168.1.31 temp.hostalias.com

Sau đó, bạn có thể gửi yêu cầu như thể bạn có mục nhập DNS:

curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path

Giới thiệu về cổng máy chủ ảo trên Edge dành cho đám mây riêng tư 4.16.01 trở lên

Khi tạo máy chủ ảo, bạn chỉ định cổng Bộ định tuyến mà máy chủ ảo sử dụng. Ví dụ: cổng 9001.

Đối với Apigee dành cho đám mây riêng tư phát hành 4.16.01 trở lên, theo mặc định, Bộ định tuyến chạy dưới dạng "apigee" người dùng không có quyền truy cập vào các cổng đặc quyền, thường là các cổng 1024 trở xuống. Nếu muốn tạo một máy chủ ảo liên kết Bộ định tuyến với một cổng được bảo vệ, thì bạn phải định cấu hình Bộ định tuyến để chạy với tư cách người dùng có quyền truy cập vào các cổng đó. Xem Thiết lập máy chủ ảo để biết thêm thông tin.

Tạo máy chủ ảo

Phần này mô tả cách tạo máy chủ ảo cho Apigee Edge dành cho đám mây riêng tư. Xin lưu ý rằng để tạo máy chủ ảo mới, bạn phải là quản trị viên của tổ chức.

Bạn có thể tạo máy chủ ảo cho Apigee Edge trong đám mây riêng tư bằng API hoặc giao diện người dùng Edge. Bạn có thể xem nội dung mô tả trong những phần sau.

Tạo máy chủ ảo bằng trình duyệt

Phần này mô tả cách tạo máy chủ ảo bằng trình duyệt (chỉ giao diện người dùng Edge).

Cách tạo máy chủ ảo mới trong giao diện người dùng Edge:

  1. Đăng nhập vào giao diện quản lý Edge.
  2. Chọn Quản trị viên > Máy chủ ảo.
  3. Chọn môi trường trong danh sách thả xuống.

    Edge sẽ hiển thị danh sách các máy chủ ảo cho môi trường đó.

  4. Để tạo máy chủ ảo mới, hãy chọn + Virtual Host (Máy chủ ảo).

    Edge sẽ hiển thị biểu mẫu Create Virtual Host (Tạo máy chủ ảo).

    Bạn cũng có thể nhấp vào tên của một máy chủ ảo hiện có để chỉnh sửa.

  5. Xác định máy chủ ảo mới của bạn. Xin lưu ý rằng trường URL cơ sở phải bao gồm giao thức (tức là thêm tiền tố "http://" hoặc "https://" vào giá trị của trường).

    Ngoài ra, hãy lưu ý rằng:

    • Không có giới hạn về số lượng máy chủ ảo bạn có thể tạo
    • TLS là không bắt buộc và có thể là phiên bản 1.0, 1.1 hoặc 1.2
    • Có thể định cấu hình cổng của máy chủ ảo
  6. Nhấp vào nút Create (Tạo) để lưu máy chủ ảo mới của bạn.

Tạo máy chủ ảo bằng API

Để tạo máy chủ ảo bằng API, hãy tạo đối tượng XML xác định máy chủ ảo. Ví dụ: đối tượng XML sau đây xác định một máy chủ ảo sử dụng giao thức HTTP:

<VirtualHost name="myVHost">
   <HostAliases>
     <HostAlias>DNS_name_or_IP:port</HostAlias>
   </HostAliases>
   <Interfaces/>
   <Port>9005</Port>
</VirtualHost>

Xin lưu ý rằng máy chủ ảo chứa một thuộc tính name. Bạn sử dụng giá trị của thuộc tính name để định cấu hình proxy API nhằm sử dụng máy chủ ảo.

Sau đó, bạn có thể truy cập proxy API qua máy chủ ảo này bằng cách gửi yêu cầu tới:

http://routerIP:port/proxy-base-path/resource-path
https://routerIP:port/proxy-base-path/resource-path

Trong trường hợp:

  • http hoặc https: Nếu máy chủ ảo được định cấu hình để hỗ trợ TLS, hãy sử dụng HTTPS. Nếu máy chủ ảo không hỗ trợ TLS, hãy sử dụng HTTP.
  • routerIP:port là địa chỉ IP và số cổng của máy chủ ảo.
  • proxy-base-pathresource-path được xác định khi bạn tạo proxy API.

Thông thường, bạn không xuất bản API của mình cho khách hàng bằng địa chỉ IP và số cổng. Thay vào đó, bạn sẽ xác định mục nhập DNS cho Bộ định tuyến và cổng. Ví dụ:

http://api.myCompany.com/proxy-base-path/resource-path
https://api.myCompany.com/proxy-base-path/resource-path

Nếu xác định mục nhập DNS, bạn phải tạo một email đại diện của máy chủ lưu trữ cho máy chủ ảo khớp với tên miền của mục DNS đó. Bí danh máy chủ phải khớp với chuỗi mà ứng dụng truyền vào trong tiêu đề Host. Từ ví dụ trên, bạn chỉ định bí danh của máy chủ lưu trữ của api.myCompany.com.

<VirtualHost name="myVHost">
    <HostAliases>
        <HostAlias>api.myCompany.com</HostAlias>
    </HostAliases>
    <Interfaces/>
    <Port>9005</Port>
</VirtualHost>

Để tạo máy chủ ảo sử dụng giao thức HTTP, hãy làm như sau:

  1. Tạo máy chủ ảo bằng cách sử dụng API Tạo máy chủ ảo, trong đó ms-IP là địa chỉ IP hoặc tên miền của nút Máy chủ quản lý:
    $ curl -X POST -H "Content-Type:application/xml" \
    http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \
    -d '<VirtualHost name="newVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Interfaces/>
        <Port>9005</Port>
      </VirtualHost>' \
    -u sysAdminEmail:password
    
  2. Tạo bản ghi DNS cho máy chủ ảo khớp với bí danh của máy chủ.
  3. Nếu bạn đã có sẵn proxy API, hãy thêm máy chủ ảo vào phần tử <HTTPConnection> trong Điểm cuối proxy. Máy chủ ảo được tự động thêm vào tất cả các proxy API mới. Xem phần Định cấu hình proxy API để sử dụng máy chủ ảo.

Sửa đổi máy chủ ảo

Để sửa đổi máy chủ ảo, hãy thực hiện các thao tác sau:

  1. Cập nhật máy chủ ảo bằng cách sử dụng API Cập nhật máy chủ ảo, trong đó <ms-IP> là địa chỉ IP hoặc tên miền của nút Máy chủ quản lý. Bạn phải chỉ định định nghĩa đầy đủ về máy chủ ảo trong nội dung yêu cầu, chứ không chỉ các phần tử mà bạn muốn thay đổi. Trong ví dụ sau, bạn thay đổi số cổng của máy chủ ảo từ 9008 thành 9009:

    curl -X PUT -H "Content-Type:application/xml" \
      http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \
      -d '<VirtualHost name="newVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Interfaces/>
        <Port>9009</Port>
      </VirtualHost>' \
      -u email:password
  2. Chỉ đối với Edge for Private Cloud phiên bản 4.16.01 và 4.16.05, nếu bạn sửa đổi một máy chủ ảo hiện có và bật TLS hoặc tắt TLS mà không thay đổi số cổng, thì:
    1. Dừng bộ định tuyến:

      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
    2. Xoá mọi tệp trong /opt/nginx/conf.d:

      rm -f /opt/nginx/conf.d/*
    3. Khởi động bộ định tuyến:

      /opt/apigee/apigee-service/bin/apigee-service edge-router start
    4. Lặp lại cho tất cả Bộ định tuyến.