Sanal ana makineler hakkında

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

Edge'de Yönlendirici, gelen tüm API trafiğini işler. Bu nedenle, bir API proxy'sine yapılan tüm HTTP ve HTTPS istekleri önce bir Edge yönlendirici 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 Edge yönlendiriciye karşılık gelir. Bir yönlendiricide birden fazla sanal ana makine tanımlayarak yönlendiricinin birden fazla alan adına yönelik API isteklerini işlemesini sağlayabilirsiniz.

Edge'deki 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önlendiricinin IP adresiyle eşlenen DNS alan adıdır.

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

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

Bir API proxy'sine yapılan istekte Yönlendirici, hangi sanal ana bilgisayarın isteği işleyeceğini belirlemek için gelen isteğin Host üstbilgisini tüm sanal ana bilgisayarlar tarafından tanımlanan ana bilgisayar 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 sanal ana makineye referans vermek ve sanal ana makineyi yapılandırırken kullanırsınız.
  • Sanal ana makinenin ana makine takma adı. Genellikle ana makine takma adı, yönlendiricideki 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önlendiricide açık bir bağlantı noktası olmalıdır.
  • TLS'nin (HTTPS erişimi) etkin olup olmadığı (HTTP erişimi).

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

  • name = myvhost
  • host alias = apis.acme.com
  • port = 443
  • TLS etkinleştirilmiş olmalıdır.

Sanal ana makine için yukarıdaki ayara göre, bir API proxy'sine yapılan istek şu biçimi kullanır:

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

Bu örnekte:

  • {proxy-base-path}, bir 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 üzerinden 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 (default ve secure) ve her ana makine takma adı için DNS kayıtları içerir.

Apigee tarafından sağlanan her 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 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ındaki "myorg" adlı bir kuruluşun varsayılan alan adı "myorg-prod.apigee.net"dır. Bu nedenle, söz konusu 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 bir alan adı olmayabilir. Bir alan adını Edge'deki 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 oluşturmanız gerekir. Bu sayede geliştiriciler, şirketinize özel bir alan üzerinden API'nize erişebilir.

Edge'de özel alan adı örneği:

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

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

Apigee Edge for Private Cloud'u yüklediğinizde sizin için varsayılan kuruluşlar, ortamlar veya sanal ana makineler oluşturulmaz. Edge yükleme işlemini tamamladıktan sonra, genellikle "ilk katılım" süreci aracılığıyla bir kuruluş, ortam ve sanal ana makine oluşturursunuz.

İ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şturduğunuzu varsayalım:

  • Kuruluş yöneticisi olarak görev yapacak, sizin seçtiğiniz bir kullanıcı
  • example adlı bir kuruluş
  • Kuruluşta prod adlı bir ortam
  • default adlı ortamda, 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 yönlendiricinin IP adresi ve IP:9001 biçiminde sanal ana makinenin bağlantı noktası.

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

Sanal ana makineler, Edge yönlendiricide 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. Bir bağlantı noktasını açmak için aşağıdaki biçimde 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, API'lerinize şu biçimde bir URL kullanarak erişebilirsiniz:

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

Genellikle, IP adresi ve bağlantı noktası numarası olan müşterilere API'lerinizi 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ımladığınızda, DNS girişinin alan adıyla eşleşen bir ana makine takma adı içeren bir sanal ana makine de oluşturmanız gerekir. Yukarıdaki örnekte, sanal ana makineyi oluştururken ana makine takma adı olarak myAPI.myCo.com değerini 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ı nasıl ayarlayacağınız, 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ı

Edge for the Cloud'da ilk Edge kuruluşunuzu oluşturduğunuzda Apigee otomatik olarak iki ortam (test ve prod), her ortamda iki sanal ana makine (default ve secure) ve her sanal ana makine için DNS kayıtları 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 istekler ş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. Bunu yapmak için önce kendi DNS girişinizi ve CNAME kaydınızı oluşturmanız gerekir.

Aşağıdaki şekilde, Edge'in bir API isteğini nasıl işlediğine dair 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önlendirmek için 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 üstbilgisini içerir.

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

  • name = myvhost
  • host alias = apis.acme.com
  • port = 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.

Özel bulut için Edge'de ana makine takma adları ve DNS adları

Cloud için Edge'de 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 ile Private Cloud arasındaki farklardan biri, Cloud Apigee'nin kuruluşlarınız için şu biçimde DNS adlarını otomatik olarak 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 (Yönlendirici bağlantı noktası 443)

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:

  • name = myvhost
  • host alias = apis.acme.com
  • port = 9001
  • TLS erişimini etkinleştirme

Aşağıdaki şekilde, Edge'in bir API isteğini nasıl işlediğine dair tipik bir yapılandırma gösterilmektedir:

Bu örnekte:

  • api.acme.com, istediğiniz alan adıdır.
  • api.acme.com'u yönlendiricinin IP adresine ve bağlantı noktasına yönlendirmek için 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 üstbilgisini içerir.

Daha fazla bilgi için Özel bulut 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ında "*" joker karakterini kullanabilirsiniz. "*" joker karakteri yalnızca ana makine takma adının başında (ilk "." karakterinden önce) olabilir ve diğer karakterlerle karıştırı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 fazla alt alan adına yönelik çağrıları işlemesine olanak tanır. Joker karakterli bir takma ad kullanmak, ürün sınırları içinde kalmak için ortam başına daha az sanal ana makine kullanmanıza da yardımcı olur. Bunun nedeni, joker karakterli bir sanal ana makinenin yalnızca bir sanal ana makine olarak sayılmasıdır.

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

Sanal barındırma tesisleri hakkında

Edge'de sanal ana makine bir 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 özelliklerin listesi, Edge for the Cloud veya Edge for the Private Cloud'u kullanıp kullanmadığınıza bağlıdır. Özel bulut için Edge kullanıyorsanız kullanılabilir özelliklerin listesi Edge sürümünüze de bağlıdır. Bir 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 makineler oluşturma hakkında daha fazla bilgi edinmek için aşağıdaki makalelere bakın: