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ğini bir Yönlendirici işler. Yani bir API proxy'sine yapılan tüm HTTP ve HTTPS istekleri önce bir Edge Yönlendiricisi tarafından işlenir.

Sanal ana makine, bir sunucuda birden fazla alan adı barındırmanıza olanak tanır. Edge için sunucu bir Uç Yönlendiriciye karşılık gelir. Yönlendirici üzerinde birden fazla sanal ana makine tanımlayarak Yönlendirici, birden fazla alan adına yapılan API isteklerini işleyebilir.

Edge'deki sanal ana makine; erişim protokolünü (HTTP veya HTTPS), açık bir Yönlendirici bağlantı noktasını ve ana makine takma adını tanımlar. Ana makine takma adı, genellikle Yönlendiricinin 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ında HTTPS isteklerini, ikincisi ise domainName2 alanında HTTP isteklerini işler.

Bir API proxy'sine yapılan istekte Yönlendirici, hangi sanal ana makinenin isteği işlediğini belirlemek için gelen isteğin Host üst bilgisini tüm sanal ana makineler tarafından tanımlanan ana makine takma adları listesiyle karşılaştırır.

Sanal ana makine tanımları hakkında

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

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

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

  • ad = benimvhost
  • ana makine takma adı = apis.acme.com
  • bağlantı noktası = 443
  • TLS etkinleştirildi

Sanal ana makineyle ilgili yukarıdaki ayara göre, bir API proxy'sine yapılan istek şu 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
  • API proxy'si aracılığıyla erişilebilen bir kaynağın yolu {resource-path}. Örneğin:
    https://apis.acme.com/characters/coyote
    https://apis.acme.com/characters/roadrunner

Edge for the Cloud'daki 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ı için DNS kaydı içerir.

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

Ortam Sanal ana makine adı Ana makine takma adı Bağlantı noktası TLS etkin
ü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ındaki "myorg" adlı kuruluşun varsayılan alan adı "myorg-prod.apigee.net" olur. Bu nedenle, bu kuruluştaki bir API proxy'sine erişmek için URL'yi şu şekilde kullanırsınız:

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

Ücretli Apigee planları: "Apigee.net" ifadesini içeren bir alan adı, müşterilerinize göstermek istediğiniz bir ad olmayabilir. Bir alan adını Edge'de kuruluşunuzla eşlemek için DNS girişi ve CNAME kaydı kullanabilirsiniz. Ayrıca, ana makine takma adının bu alan adına ayarlanmış bir sanal ana makine oluşturmalısınız. Bu sayede geliştiriciler, API'nize şirketinize özel bir alan adı üzerinden erişebilir.

Aşağıda, Edge'deki özel alan adına bir örnek verilmiştir:

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

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

Private Cloud için Apigee Edge'i yüklediğinizde sizin için varsayılan kuruluş, ortam veya sanal ana makine oluşturulmaz. Edge yükleme işlemini tamamladıktan sonra ilk işleminiz genellikle "ilk katılım" süreci üzerinden bir kuruluş, ortam ve sanal ana makine oluşturmaktır.

İlk katılım işlemini gerçekleştirmek için Uç Yönetim Sunucusu 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 gerekli bilgileri içerir.

Örneğin, aşağıdakileri oluşturursunuz:

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

Daha sonra şirket içi Edge 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:

Uç 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ını açmak için aşağıdaki formda bulunan bir komut kullanabilirsiniz:

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

Bu komutu çalıştırdıktan sonra şu formdaki bir URL'yi kullanarak API'lerinize erişebilirsiniz:

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

API'lerinizi genellikle IP adresi ve bağlantı noktası numarası olan 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 ana makine takma adına sahip bir sanal ana makine de oluşturmanız gerekir. Yukarıdaki örnekte, sanal ana makineyi oluştururken myAPI.myCo.com için bir ana makine takma adı belirtmeniz gerekir.

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

Sanal ana makine için ayarladığınız mülklerden biri ana makine takma adıdır. Ana makine takma adı, genellikle sanal ana makinenin DNS adıdır. Ana makine takma adını nasıl ayarlayacağınız, Edge yükleme türünüze (Cloud veya Private Cloud) bağlıdır.

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

Cloud for the Cloud'da 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ş ve ortamın adını içerir. Dolayısıyla, bir sanal ana makine üzerinden yapılan istek şu biçimde olur:

  • 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. Bunun 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 şekline ilişkin tipik bir yapılandırma gösterilmektedir:

Bu örnekte:

  • api.acme.com istediğiniz alan adıdır.
  • api.acme.com adresini acme-prod.Apigee.net adresine işaret edecek şekilde bir DNS girişi ve CNAME kaydı tanımlarsınız.
  • İstek, Yönlendiricinin isteği işleyen sanal ana makineyi belirlemek için kullandığı Host üst bilgisini içerir.

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

  • ad = benimvhost
  • ana makine takma adı = apis.acme.com
  • bağlantı noktası = 443
  • TLS erişimini etkinleştir

Daha fazla bilgi edinmek için Bulut için sanal ana makineleri yapılandırma başlıklı makaleye göz atın.

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

Edge for the Cloud'da olduğu gibi ana makine takma adı için kendi alan adınızı kullanan sanal ana makineler 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, Cloud Apigee'de kuruluşlarınız için otomatik olarak aşağıdaki şekilde DNS adları oluşturmasıdır:

  • name=default: http://{org-name}-{env-name}.apigee.net (Yönlendirici bağlantı noktası 80)
  • name=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şleri oluşturmanız gerekir.

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

  • ad = benimvhost
  • ana makine takma adı = apis.acme.com
  • bağlantı noktası = 9001
  • TLS erişimini etkinleştir

Aşağıdaki şekilde, Edge'in bir API isteğini işleme şekline ilişkin 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 şekilde bir DNS girişi ve CNAME kaydı tanımlarsınız.
  • İstek, Yönlendiricinin isteği işleyen sanal ana makineyi belirlemek için kullandığı Host üst bilgisini içerir.

Daha fazla bilgi için Private Cloud için sanal ana makineleri yapılandırma başlıklı makaleye bakın.

Ana makine takma adları ve joker karakterler

Ana makine takma adına "*" joker karakterini ekleyebilirsiniz. "*" joker karakteri, ana makine takma adının yalnızca başında (ilk "."den önce) olabilir 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

Aşağıdaki ö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 çok alt alan adına gönderilen çağrıları işlemesine olanak tanır. Joker karakterli bir sanal ana makine yalnızca bir sanal ana makine olarak sayıldığından, joker karakter takma adı kullanmak, ürün sınırları dahilinde kalmak için 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 bulunmalıdır. Örneğin, *.example.com.

Sanal ana makine özellikleri hakkında

Edge'de, sanal ana makine XML nesnesiyle temsil edilir. Örneğin, aşağıdaki XML nesnesi bir sanal ana makine 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 özellik listesi, Cloud için Edge veya Private Cloud için Edge kullanmanıza göre belirlenir. Private Cloud için Edge kullanıyorsanız mevcut özelliklerin listesi, kullandığınız Edge sürümüne de bağlıdır. Sanal ana makinenin tüm özelliklerinin tam açıklaması için Sanal ana makine mülkü referansı bölümüne bakın.

Kullandığınız Edge sürümüne özel sanal ana makineler oluşturma hakkında daha fazla bilgi edinmek için aşağıdaki sayfalara göz atın: