Sanal ana makineler hakkında

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Edge'de, gelen tüm API trafiği bir yönlendirici tarafından yönetilir. Bu, API proxy'sine gönderilen tüm HTTP ve HTTPS isteklerinin ilk olarak bir Uç Yönlendirici tarafından işleneceği anlamına gelir.

Sanal ana makineler, bir sunucuda birden fazla alan adı barındırmanıza olanak tanır. Edge için sunucu bir Uç Yönlendirici'ye karşılık gelir. Yönlendirici, bir yönlendiricide birden fazla sanal ana bilgisayar tanımlayarak birden fazla alan adına yönelik API isteklerini işleyebilir.

Uçtaki bir sanal ana makine, erişim protokolünü (HTTP veya HTTPS), açık bir Yönlendirici bağlantı noktasını ve bir ana makine takma adını tanımlar. Ana makine takma adı genellikle Yönlendirici'nin IP adresiyle eşlenen DNS alan adıdır.

Örneğin, aşağıdaki resimde iki sanal ana makine tanımına sahip bir Yönlendirici gösterilmektedir:

İlk sanal ana makine, domainName1 alanındaki HTTPS isteklerini, ikincisi ise domainName2 alanındaki HTTP isteklerini işler.

Yönlendirici, API proxy'sine yapılan bir istekte, gelen isteğinin Host başlığını tüm sanal ana makineler tarafından tanımlanan ana makine takma adları listesiyle karşılaştırarak isteği hangi sanal ana makinenin işleyeceğini belirler.

Sanal ana makine tanımları hakkında

Sanal ana makineler aşağıdaki bilgileri içerir:

  • Sanal ana makinenin dahili adı. API proxy'lerinizde ve sanal ana makineyi yapılandırırken sanal ana makineye referans vermek için bu adı kullanırsınız.
  • Sanal ana makinenin ana makine takma adı. Ana makine takma adı genellikle Yönlendirici üzerindeki IP adresiyle eşlenen DNS alan adıdır. API proxy isteklerinin Host başlığı, sanal ana makinenin ana makine takma adını içermelidir.
  • Yönlendirici üzerinde bir açık bağlantı noktası.
  • TLS'nin (HTTPS erişimi) etkin olup olmadığı (HTTP erişimi).

Örneğin, sanal ana makine oluştururken aşağıdaki bilgileri belirtirsiniz:

  • ad = myvhost
  • host alias = apis.acme.com
  • port = 443
  • TLS etkinleştirildi

Sanal ana makine için yukarıdaki ayara göre API proxy'sine yapılan bir istek aşağıdaki formu kullanır:

https://apis.acme.com/{proxy-base-path}/{resource-path}

Bu örnekte:

  • {proxy-base-path}, API proxy'si oluşturduğunuzda tanımlanır ve her API proxy'si için benzersizdir. Örneğin:
    https://apis.acme.com/characters
  • {resource-path} API proxy'si aracılığıyla erişilebilen bir kaynağın yolu. Örneğin:
    https://apis.acme.com/characters/coyote
    https://apis.acme.com/characters/roadrunner

Cloud için Edge'deki sanal ana makineler hakkında

Her Edge kuruluşu otomatik olarak iki ortam (test ve prod), her ortamda iki sanal ana makine (varsayılan ve güvenli) ve her ana makine takma adının DNS kayıtlarını içerir.

Apigee tarafından sağlanan her sanal ana makinenin ana makine takma adı, aşağıdaki tabloda gösterildiği gibi kuruluş ve ortam adını içerir:

Ortam Sanal ana makine adı Barındırıcı takma adı Bağlantı noktası TLS etkinleştirildi
üretim varsayılan {org-name}-prod.apigee.net 80 Hayır
güvenli {org-name}-prod.apigee.net 443 Evet
test varsayılan {org-name}-test.apigee.net 80 Hayır
güvenli {org-name}-test.apigee.net 443 Evet

Örneğin, prod ortamında "myorg" adlı bir kuruluşun varsayılan alan adı "myorg-prod.apigee.net" şeklindedir. Bu nedenle, bu kuruluştaki bir API proxy'sine erişmek için şu biçimde bir URL kullanırsınız:

http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}

Apigee ücretli planları: "apigee.net" içeren bir alan adı, müşterilerinize göstermek istediğiniz alan adı olmayabilir. Edge'de bir alan adını kuruluşunuzla eşlemek için DNS girişi ve CNAME kaydı kullanabilirsiniz. Ayrıca, ana makine takma adı bu alan adına ayarlanmış bir sanal ana makine de oluşturmanız gerekir. Bu, geliştiricilerin şirketinize özel bir alan üzerinden API'nize erişmesine olanak tanır.

Edge'deki özel alan örneğini aşağıda bulabilirsiniz:

https://apis.acme.com/{proxy-base-path}/{resource-path}

Private Cloud için Edge'deki sanal ana makineler hakkında

Özel Bulut için Apigee Edge'i yüklediğinizde sizin için varsayılan kuruluş, ortam veya sanal ana makine oluşturulmaz. Edge yükleme sürecini tamamladıktan sonra ilk olarak genellikle "ilk katılım" sürecini kullanarak bir kuruluş, ortam ve sanal ana makine oluşturmanız gerekir.

İlk katılımı gerçekleştirmek için Edge Management Server düğümünde aşağıdaki komutu çalıştırın:

/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

Burada configFile, kullanıcı, kuruluş, ortam ve sanal ana makine oluşturmak için gereken bilgileri içerir.

Örneğin, şunları oluşturursunuz:

  • Kuruluş yöneticisi olarak görev yapmak üzere seçtiğiniz bir kullanıcı
  • example adlı bir kuruluş
  • Kuruluştaki prod adlı bir ortam
  • Ortamda default adlı ve 9001 bağlantı noktasında HTTP erişimine izin veren bir sanal ana makine
  • Yönlendiriciye erişmek için kullanılan DNS adının ana makine takma adı veya IP:9001 biçiminde yönlendiricinin IP adresi ve sanal ana makinenin bağlantı noktası.

Daha sonra Edge'in şirket içi sürümüne istediğiniz sayıda kuruluş, ortam ve sanal ana makine ekleyebilirsiniz. Daha fazla bilgi için aşağıdaki sayfaları inceleyin:

Edge Yönlendirici'de sanal ana makineler açılır. Bu nedenle, sanal ana makine için belirttiğiniz bağlantı noktasının yönlendiricide açık olduğundan emin olmanız gerekir. Bağlantı noktası açmak için aşağıdaki formdaki bir komutu kullanabilirsiniz:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose

Bu komutu çalıştırdıktan sonra, API'lerinize aşağıdaki biçimde bir URL kullanarak erişebilirsiniz:

http://<router-ip>:9001/{proxy-base-path}/{resource-path}

Genellikle API'lerinizi IP adresi ve bağlantı noktası numarasıyla müşterilere yayınlamazsınız. Bunun yerine, yönlendirici ve bağlantı noktası için bir DNS girişi tanımlarsınız. Örneğin:

http://myAPI.myCo.com/{proxy-base-path}/{resource-path}

DNS girişini tanımlarken, DNS girişinin alan adıyla eşleşen bir ana makine takma adı içeren sanal bir ana makine de oluşturmanız gerekir. Yukarıdaki örnekte, sanal ana makineyi oluştururken myAPI.myCo.com ana makine takma adını belirtirsiniz.

Ana makine takma adları ve DNS adları hakkında

Sanal ana makine için ayarladığınız özelliklerden biri ana makine takma adıdır. Ana makine takma adı genellikle sanal ana makinenin DNS adıdır. Ana makine takma adını ayarlama şekliniz, Edge kurulumunuzun türüne (Cloud veya Private Cloud) bağlıdır.

Cloud için Edge'de ana makine takma adları ve DNS adları

Cloud için Edge'de ilk kez bir Edge kuruluşu oluşturduğunuzda Apigee otomatik olarak iki ortam (test ve prod), her ortamda iki sanal ana makine (varsayılan ve güvenli) ve her sanal ana makine için DNS kaydı oluşturur.

Sanal ana makinelerin ana makine takma adı, kuruluşun ve ortamın adını içerir. Bu nedenle, sanal ana makine üzerinden yapılan bir istek şu şekildedir:

  • http://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
  • https://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
  • http://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
  • https://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}

Genellikle varsayılan apigee.net alanını kullanmak yerine alan adınızı kullanan sanal ana makineler oluşturmak istersiniz. Bunu yapmak için öncelikle kendi DNS girişinizi ve CNAME kaydınızı oluşturmanız gerekir.

Aşağıdaki şekilde, Edge'in bir API isteğini işleme şekliyle ilgili tipik bir yapılandırma gösterilmektedir:

Bu örnekte:

  • api.acme.com, istediğiniz alan adıdır.
  • api.acme.com'u acme-prod.apigee.net'e yönlendirecek bir DNS girişi ve CNAME kaydı tanımlarsınız.
  • İstek, isteği işleyen sanal ana makineyi belirlemek için yönlendiricinin kullandığı Host başlığını içerir.

Bu örnekte, sanal ana makine tanımında aşağıdaki bilgileri belirtirsiniz:

  • name = myvhost
  • host alias = apis.acme.com
  • bağlantı noktası = 443
  • TLS erişimini etkinleştirme

Daha fazla bilgi için Cloud için sanal ana makineleri yapılandırma başlıklı makaleyi inceleyin.

Private Cloud için Edge'de ana makine takma adları ve DNS adları

Cloud için Edge'de olduğu gibi, barındırıcı takma adı için kendi alan adınızı kullanan sanal barındırıcılar oluşturursunuz. Ardından, bu sanal ana makinelere erişmek için kendi DNS girişinizi ve CNAME kaydınızı oluşturursunuz.

Cloud ve Private Cloud arasındaki farklardan biri de Cloud Apigee'de kuruluşunuz için otomatik olarak şu biçimde DNS adları oluşturmasıdır:

  • name=default: http://{org-name}-{env-name}.apigee.net (Yönlendirici bağlantı noktası 80)
  • ad=secure: https://{org-name}-{env-name}.apigee.net (443 numaralı yönlendirici bağlantı noktası)

Private Cloud için Edge'de, yönlendiricinizin IP adresi ve bağlantı noktası için DNS girişlerini oluşturmanız gerekir.

Örneğin, bu bilgileri bir sanal ana makine tanımında belirtirsiniz:

  • name = myvhost
  • barındırıcı takma adı = apis.acme.com
  • port = 9001
  • TLS erişimini etkinleştirme

Aşağıdaki şekilde, Edge'in bir API isteğini işleme şekliyle ilgili tipik bir yapılandırma gösterilmektedir:

Bu örnekte:

  • api.acme.com, istediğiniz alan adıdır.
  • api.acme.com adresini Yönlendiricinin IP adresine ve bağlantı noktasına işaret edecek bir DNS girişi ve CNAME kaydı tanımlarsınız.
  • İstek, Yönlendirici'nin isteği işleyen sanal ana makineyi belirlemek için kullandığı Host üst bilgisini içerir.

Daha fazla bilgi için Özel Cloud için sanal ana makineleri yapılandırma başlıklı makaleyi inceleyin.

Ana makine takma adları ve joker karakterler

Ana makine takma adına "*" joker karakterini ekleyebilirsiniz. "*" joker karakteri yalnızca ana makine takma adının başında (ilk "." karakterinden önce) bulunabilir ve diğer karakterlerle birlikte kullanılamaz.

Aşağıda, joker karakter kullanılan geçerli bir ana makine takma adı örneği verilmiştir:

*.example.com

Şu örnekler geçersizdir:

  www.*.example.com
  w*.example.com

Sanal ana makine takma adında joker karakter kullanmak, API proxy'lerinin alpha.example.com, beta.example.com veya live.example.com gibi birden fazla alt alan adına gönderilen çağrıları işlemesine olanak tanır. Joker karakter içeren bir takma ad kullanmak, joker karakter içeren bir sanal ana makine yalnızca bir sanal ana makine olarak sayıldığı için ürün sınırlarında kalmak amacıyla ortam başına daha az sanal ana makine kullanmanıza da yardımcı olur.

Sanal ana makinenin TLS sertifikasında, sertifikanın CN adında eşleşen bir joker karakter olmalıdır. Örneğin, *.example.com.

Sanal ev sahibi mülkleri hakkında

Edge'de sanal ana makine bir XML nesnesi ile temsil edilir. Örneğin, aşağıdaki XML nesnesi bir sanal ana makineyi tanımlar:

<VirtualHost name="vhostName">
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <!-- Private Cloud only -->
        <Interface>interfaceName</Interface>
    <Port>portNumber</Port>
    <BaseURL>http://myCo.com<</BaseUrl>
    <OCSPStapling>off</OCSPStapling>
    <RetryOptions/>
   <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
    <Properties>
        <Property name="proxy_read_timeout">timeout</Property>
        <Property name="keepalive_timeout">timeout</Property>
        <Property name="proxy_request_buffering">onOff</Property>
        <Property name="proxy_buffering">onOff</Property>
        <Property name="ssl_protocols">protocolList</Property>
        <Property name="ssl_ciphers">cipherList</Property>
    </Properties>
</VirtualHost>

Ayarlayabileceğiniz özelliklerin listesi, Cloud için Edge'i mi yoksa Private Cloud için Edge'i mi kullandığınıza bağlıdır. Özel Cloud için Edge kullanıyorsanız kullanılabilir mülkler listesi Edge sürümünüze de bağlıdır. Sanal ana makinenin tüm özelliklerinin tam açıklaması için Sanal ana makine özelliği referansı başlıklı makaleyi inceleyin.

Edge'in belirli bir sürümü için sanal ana makine oluşturma hakkında daha fazla bilgi için aşağıdaki makalelere bakın: