Självstudie: Installera WebLogic Server manuellt på virtuella Azure-datorer (VM)
Den här självstudien visar stegen för att installera Oracle WebLogic Server (WLS) och konfigurera ett WebLogic-kluster på virtuella Azure-datorer (VM) i Windows eller GNU/Linux.
I den här självstudien lär du dig att:
- Skapa ett anpassat virtuellt nätverk och skapa de virtuella datorerna i nätverket.
- Etablera virtuella datorer med önskat Java Development Kit (JDK) och WLS installerat.
- Konfigurera en WebLogic Server-domän och ett WebLogic Server-kluster med hjälp av Guiden Oracle-konfiguration.
- Distribuera och kör ett Java-program i klustret.
- Exponera programmet för det offentliga Internet via Azure Application Gateway.
- Verifiera den lyckade konfigurationen.
Om du föredrar en helt automatiserad lösning som utför alla dessa steg åt dig på virtuella GNU-/Linux-datorer, direkt från Azure Portal, kan du läsa Snabbstart: Distribuera WebLogic Server på en virtuell Azure-dator med hjälp av Azure Portal.
Om du är intresserad av att ge feedback eller arbeta nära dina migreringsscenarier med det tekniska teamet som utvecklar WebLogic på Azure-lösningar, fyller du i den här korta undersökningen om WebLogic-migrering och inkluderar din kontaktinformation. Teamet med programchefer, arkitekter och ingenjörer kommer snabbt att kontakta dig för att initiera ett nära samarbete.
Förutsättningar
- En lokal dator med ett Unix-liknande operativsystem installerat , till exempel Ubuntu, macOS eller Windows-undersystem för Linux.
- En Azure-prenumeration. Om du inte har en Azure-prenumeration kan du skapa ettkostnadsfritt konto innan du börjar.
- Installera Azure CLI version 2.46.0 eller senare för att köra Azure CLI-kommandon.
- När du uppmanas till det installerar du Azure CLI-tillägg vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
- Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
- Du måste ha ett Oracle-konto. Följ stegen i Oracle Container Registry för att skapa ett Oracle-konto och godkänna licensavtalet för WebLogic Server-avbildningar. Anteckna lösenordet och e-postmeddelandet för ditt Oracle-konto.
Förbereda miljön
I det här avsnittet konfigurerar du infrastrukturen där du installerar JDK och WebLogic Server.
Antaganden
I den här självstudien konfigurerar du ett WebLogic Server-kluster med en administrationsserver och två hanterade servrar på totalt tre virtuella datorer. För att konfigurera klustret måste du skapa följande tre virtuella Azure-datorer inom samma tillgänglighetsuppsättning:
- Den virtuella administratörsdatorn (VM-namnet
adminVM
) har administrationsservern igång. - De hanterade virtuella datorerna (VM-namn
mspVM1
ochmspVM2
) har två hanterade servrar som körs.
Logga in på Azure
Om du inte redan har gjort det loggar du in på din Azure-prenumeration med kommandot az login och följer anvisningarna på skärmen.
az login
Kommentar
Om flera Azure-klienter är associerade med dina Azure-autentiseringsuppgifter måste du ange vilken klientorganisation du vill logga in på. Du kan göra detta med hjälp av alternativet --tenant
. Exempel: az login --tenant contoso.onmicrosoft.com
.
Skapa en resursgrupp
Skapa en resursgrupp med az group create. Resursgruppsnamn måste vara globalt unika i en prenumeration. Därför bör du överväga att lägga till en unik identifierare för alla namn som du skapar som måste vara unika. En användbar teknik är att använda dina initialer följt av dagens datum i mmdd
format. I det här exemplet skapas en resursgrupp med namnet abc1110rg
på platsen eastus
:
export RESOURCE_GROUP_NAME=abc1110rg
az group create \
--name ${RESOURCE_GROUP_NAME} \
--location eastus
Skapa ett virtuellt nätverk
Resurserna som består av ditt WebLogic Server-kluster måste kommunicera med varandra och det offentliga Internet med hjälp av ett virtuellt nätverk. En fullständig guide för hur du planerar ditt virtuella nätverk finns i cloud adoption framework for Azure guide Plan virtual networks (Molnimplementeringsramverk för Azure) planera virtuella nätverk. Mer information finns i Vanliga frågor och svar om Azure Virtual Network.
Exemplet i det här avsnittet skapar ett virtuellt nätverk med adressutrymme 192.168.0.0/16
och skapar ett undernät som används för virtuella datorer.
Skapa först ett virtuellt nätverk med az network vnet create. I följande exempel skapas ett nätverk med namnet myVNet
:
az network vnet create \
--resource-group ${RESOURCE_GROUP_NAME} \
--name myVNet \
--address-prefixes 192.168.0.0/24
Skapa ett undernät för WebLogic Server-klustret med az network vnet subnet create. I följande exempel skapas ett undernät med namnet mySubnet
:
az network vnet subnet create \
--resource-group ${RESOURCE_GROUP_NAME} \
--name mySubnet \
--vnet-name myVNet \
--address-prefixes 192.168.0.0/25
Skapa ett undernät för Application Gateway med az network vnet subnet create. I följande exempel skapas ett undernät med namnet wlsVMGateway
:
az network vnet subnet create \
--resource-group ${RESOURCE_GROUP_NAME} \
--name wlsVMGateway \
--vnet-name myVNet \
--address-prefixes 192.168.0.128/25
Skapa en tillgänglighetsuppsättning
Skapa en tillgänglighetsuppsättning med hjälp av az vm availability-set create, som du ser i följande exempel. Det är valfritt att skapa en tillgänglighetsuppsättning, men vi rekommenderar det. Mer information finns i Exempel på genomgång av Azure-infrastruktur för virtuella Windows-datorer.
az vm availability-set create \
--resource-group ${RESOURCE_GROUP_NAME} \
--name myAvailabilitySet \
--platform-fault-domain-count 2 \
--platform-update-domain-count 2
I följande avsnitt beskrivs stegen för att installera WebLogic Server på GNU/Linux eller Windows Server. Du kan välja operativsystem, JDK-version och WebLogic-version enligt dina krav, men du bör kontrollera att de är tillgängliga i Oracle Fusion Middleware-systemkonfigurationer som stöds. Överväg även system- och plattformsspecifika krav noggrant innan du fortsätter. Mer information finns i Systemkrav och specifikationer. Välj fliken för det valda operativsystemet.
Den här artikeln använder en Azure VM-avbildning som underhålls av Oracle och Microsoft som innehåller den senaste versionen av programvaran som stöds. Den fullständiga listan över WebLogic Server-basavbildningar som underhålls av Oracle och Microsoft finns i Azure Marketplace. Om du vill använda Windows OS börjar anvisningarna med en grundläggande virtuell Windows-dator och vägleder dig genom stegen för att installera alla nödvändiga beroenden.
Den Marketplace-avbildning som du använder för att skapa de virtuella datorerna i den här artikeln är Oracle:weblogic-141100-jdk11-ol91:owls-141100-jdk11-ol91:latest
.
Kommentar
Du kan fråga alla tillgängliga Oracle WebLogic-avbildningar från Oracle med az vm image list az vm image list --publisher oracle --output table --all | grep "weblogic"
. Mer information finns i Oracle VM-avbildningar och deras distribution på Microsoft Azure.
Skapa en Oracle Linux-dator för administratörsserver
I det här avsnittet skapar du Oracle Linux-datorer med JDK 11 och WebLogic 14.1.1.0 installerade för administratörsservern och hanterade servrar.
Skapa en virtuell dator med az vm create. Du kör administrationsservern på den här virtuella datorn.
I följande exempel skapas virtuella Oracle Linux-datorer med hjälp av ett SSH-nyckelpar för autentiseringen. Om du vill kan du använda lösenordsautentisering i stället.
Om du inte har något SSH-nyckelpar kan du generera det med hjälp av följande kommando:
ssh-keygen -t rsa -b 2048 -f ~/.ssh/wls-vm-key
Det här kommandot skapar följande filer:
- ~/.ssh/wls-vm-key: Den privata nyckeln.
- ~/.ssh/wls-vm-key.pub: Den offentliga nyckeln.
export VM_URN=Oracle:weblogic-141100-jdk11-ol91:owls-141100-jdk11-ol91:latest
az vm create \
--resource-group ${RESOURCE_GROUP_NAME} \
--name adminVM \
--availability-set myAvailabilitySet \
--image ${VM_URN} \
--size Standard_DS1_v2 \
--admin-username azureuser \
--ssh-key-value ~/.ssh/wls-vm-key.pub \
--public-ip-address "" \
--nsg ""
Kommentar
Användning av autentiseringsuppgifter för användarnamn och lösenord för att bevilja åtkomst till en virtuell dator rekommenderas inte. Om dina specifika användningskrav tyder på att autentiseringsbaserad åtkomst är den bästa metoden kan du skapa den virtuella datorn med användarnamn och lösenord:
export VM_URN=Oracle:weblogic-141100-jdk11-ol91:owls-141100-jdk11-ol91:latest
az vm create \
--resource-group ${RESOURCE_GROUP_NAME} \
--name adminVM \
--availability-set myAvailabilitySet \
--image ${VM_URN} \
--size Standard_DS1_v2 \
--admin-username azureuser \
--admin-password <your-password> \
--public-ip-address "" \
--nsg ""
Skapa en virtuell Windows-dator och konfigurera X-server
I den här självstudien används det grafiska gränssnittet för WebLogic Server för att slutföra installationen och konfigurationen. Du använder en virtuell Windows-dator som en "jump box" och kör en X Windows-systemserver för att visa de grafiska installationsprogrammet på de tre virtuella datorerna i WebLogic Server-klustret.
Följ de här stegen för att etablera en Windows 10-dator och installera en X-server. Om du redan har en Windows-dator i samma nätverk som Oracle Linux-datorn behöver du inte etablera en ny från Azure. Du kan gå till avsnittet som installerar X-servern.
Använd följande steg för att skapa en virtuell Windows 10-dator från Azure Portal:
- Öppna resursgruppen som du skapade tidigare i Azure Portal.
- Välj Skapa för att skapa resursen.
- Välj Beräkning, sök efter windows 10 och välj sedan Microsoft Windows 10.
- Välj den plan som du vill använda och välj sedan Skapa.
- Använd följande värden för att konfigurera den virtuella datorn:
- Namn på virtuell dator: myWindowsVM
- Bild: Windows 10 Pro
- Användarnamn: azureuser
- Lösenord: Secret123456
- Markera kryssrutan under Licensiering.
- Välj Granska + skapa och välj sedan Skapa.
Det tar några minuter att skapa den virtuella datorn och stödresurser.
När distributionen är klar installerar du X-servern och använder den för att konfigurera programservern på Linux-datorerna med hjälp av ett grafiskt gränssnitt.
Använd följande steg för att installera och starta X-servern:
- Använd Fjärrskrivbord för att ansluta till
myWindowsVM
. En detaljerad guide finns i Ansluta med fjärrskrivbord och logga in på en virtuell Azure-dator som kör Windows. Du måste köra de återstående stegen i det här avsnittet påmyWindowsVM
. - Ladda ned och installera VcXsrv Windows X Server.
- Inaktivera brandväggen. Om du vill tillåta kommunikation från de virtuella Linux-datorerna använder du följande steg för att inaktivera Windows Defender-brandväggen:
- Sök efter och öppna Windows Defender-brandväggen.
- Leta reda på Aktivera eller inaktivera Windows Defender-brandväggen och välj sedan Inaktivera i Privata nätverksinställningar. Du kan lämna inställningarna för offentligt nätverk ensamma.
- Välj OK.
- Stäng inställningspanelen för Windows Defender-brandväggen .
- Välj X-launch från skrivbordet.
- För visningsinställningar anger du visningsnumret till -1 för att använda flera fönster och väljer sedan Nästa.
- För Välj hur du startar klienter väljer du Starta ingen klient och väljer sedan Nästa.
- För extra inställningar väljer du Urklipp och Primär markering, Internt opengl och Inaktivera åtkomstkontroll.
- Välj Nästa för att slutföra.
En Windows-säkerhet aviseringsdialogruta kan visas med följande meddelande: "Tillåt att VcXsrv windows X-server kommunicerar i dessa nätverk." Välj Tillåt åtkomst.
- Använd Fjärrskrivbord för att ansluta till
- Kopiera SSH-nyckeln ~/.ssh/wls-vm-key till den virtuella Windows-datorn och spara den i C:\Users\azureuser.ssh.
Skapa Oracle Linux-datorer för hanterade servrar
Skapa två virtuella datorer med az vm create. Du kör de hanterade servrarna på dessa virtuella datorer.
I följande exempel skapas virtuella Oracle Linux-datorer med användarnamn och lösenordspar för autentiseringen. Om du vill kan du använda TLS/SSL-autentisering i stället.
export VM_URN=Oracle:weblogic-141100-jdk11-ol91:owls-141100-jdk11-ol91:latest
az vm create \
--resource-group ${RESOURCE_GROUP_NAME} \
--name mspVM1 \
--availability-set myAvailabilitySet \
--image ${VM_URN} \
--size Standard_DS1_v2 \
--admin-username azureuser \
--ssh-key-value ~/.ssh/wls-vm-key.pub \
--public-ip-address "" \
--nsg ""
az vm create \
--resource-group ${RESOURCE_GROUP_NAME} \
--name mspVM2 \
--availability-set myAvailabilitySet \
--image ${VM_URN} \
--size Standard_DS1_v2 \
--admin-username azureuser \
--ssh-key-value ~/.ssh/wls-vm-key.pub \
--public-ip-address "" \
--nsg ""
Använd följande kommandon för att hämta och visa de privata IP-adresserna som du använder i senare avsnitt:
export ADMINVM_NIC_ID=$(az vm show \
--resource-group ${RESOURCE_GROUP_NAME} \
--name adminVM \
--query networkProfile.networkInterfaces'[0]'.id \
--output tsv)
export ADMINVM_IP=$(az network nic show \
--ids ${ADMINVM_NIC_ID} \
--query ipConfigurations'[0]'.privateIPAddress \
--output tsv)
export MSPVM1_NIC_ID=$(az vm show \
--resource-group ${RESOURCE_GROUP_NAME} \
--name mspVM1 \
--query networkProfile.networkInterfaces'[0]'.id \
--output tsv)
export MSPVM1_IP=$(az network nic show \
--ids ${MSPVM1_NIC_ID} \
--query ipConfigurations'[0]'.privateIPAddress \
--output tsv)
export MSPVM2_NIC_ID=$(az vm show \
--resource-group ${RESOURCE_GROUP_NAME} \
--name mspVM2 \
--query networkProfile.networkInterfaces'[0]'.id \
--output tsv)
export MSPVM2_IP=$(az network nic show \
--ids ${MSPVM2_NIC_ID} \
--query ipConfigurations'[0]'.privateIPAddress \
--output tsv)
echo "Private IP of adminVM: ${ADMINVM_IP}"
echo "Private IP of mspVM1: ${MSPVM1_IP}"
echo "Private IP of mspVM2: ${MSPVM2_IP}"
Nu är du redo att ansluta till Oracle Linux-datorn för att konfigurera ett WebLogic-kluster med ett grafiskt gränssnitt.
Konfigurera WebLogic Server-domän och -kluster
En WebLogic Server-domän är en logiskt relaterad grupp av WebLogic Server-instanser och de resurser som körs på och anslutna till dem, som kan hanteras som en enda administrativ enhet. Mer information finns i WebLogic Server-domäner.
Grunden för hög tillgänglighet i WebLogic Server är klustret. Ett WebLogic Server-kluster är en grupp WebLogic Server-instanser som körs samtidigt och arbetar tillsammans för att ge ökad skalbarhet och tillförlitlighet. Mer information finns i Oracle WebLogic-kluster.
Det finns två typer av kluster, enligt beskrivningen i följande lista. Mer information finns i Om dynamiska kluster.
- Dynamiskt kluster: Ett kluster som innehåller en eller flera genererade (dynamiska) serverinstanser som baseras på en enda mall för delad server. När du skapar ett dynamiskt kluster förkonfigureras och genereras de dynamiska servrarna automatiskt åt dig, så att du enkelt kan skala upp antalet serverinstanser i det dynamiska klustret när du behöver en annan serverkapacitet. Du kan starta de dynamiska servrarna utan att först konfigurera och lägga till dem i klustret manuellt.
- Konfigurerat kluster: Ett kluster där du manuellt konfigurerar och lägger till varje serverinstans. Du måste konfigurera och lägga till en ny serverinstans för att öka serverkapaciteten.
Om du vill visa hur du skapar ett WebLogic-kluster vägleder den här självstudien dig genom processen att skapa ett konfigurerat kluster.
Skapa domänen med hjälp av konfigurationsguiden
Du fortsätter att använda konfigurationsguiden för X-server och Oracle för att skapa WebLogic Server-domänen.
I följande avsnitt visas hur du skapar en ny WebLogic Server-domän på adminVM
. Kontrollera att du fortfarande är på din Windows-dator, om inte, fjärranslutning till myWindowsVM
.
Anslut till
adminVM
från en kommandotolk.Kör följande kommandon på Windows-datorn
myWindowsVM
. Ersätt192.168.0.4
med dinadminVM
privata IP-adress:set SSH_KEY="C:\Users\azureuser\.ssh\wls-vm-key" set ADMINVM_IP="192.168.0.4" ssh -i %SSH_KEY% azureuser@%ADMINVM_IP%
Använd följande kommandon för att initiera mappen för domänkonfiguration:
sudo su export DOMAIN_PATH="/u01/domains" mkdir -p ${DOMAIN_PATH} chown oracle:oracle -R ${DOMAIN_PATH}
Använd följande kommandon för att installera beroendet för X-server:
# install dependencies for X-server sudo yum install -y libXtst libSM libXrender # install dependencies to run a Java GUI client sudo yum install -y fontconfig urw-base35-fonts
Använd följande kommandon för att bli
oracle
användare och ange variabelnDISPLAY
:sudo su - oracle export DISPLAY=<my-windows-vm-private-ip>:0.0 #export DISPLAY=192.168.0.5:0.0
Kör följande kommando för att starta oracle-konfigurationsguiden:
bash /u01/app/wls/install/oracle/middleware/oracle_home/oracle_common/common/bin/config.sh
Guiden Oracle-konfiguration startar och instruerar dig att konfigurera domänen. På följande sida efterfrågas domäntyp och plats. Välj Skapa en ny domän och ange domänplatsen till /u01/domains/wlsd. Domänkonfigurationen sparas i den här mappen.
Välj Nästa och välj sedan Skapa domän med hjälp av produktmallar. Behåll den valda standardmallen enligt följande skärmbild:
Välj Nästa och ange sedan administrationskonto. Ange Namnet som weblogic och Password som Secret123456.
Välj Nästa. För domänläge väljer du Produktion. Behåll standardalternativet för JDK.
Välj Nästa. För avancerade konfigurationer väljer du Administrationsserver, Node Manager och Topologi.
Välj Nästa och fyll i administrationsserverns namn med administratör. Fyll i Lyssnings-IP-adressen med den privata IP-adressen adminVM
för . Värdet är 192.168.0.4 i det här exemplet.
Välj Nästa. För Node Manager-typ väljer du Anpassad plats per domän och fyller i plats med /u01/domains/wlsd/nodemanager. För Node Manager-autentiseringsuppgifter är användarnamnet weblogic och lösenordet är Secret123456.
Välj Nästa. Lägg till följande objekt för hanterade servrar. Använd DE IP-adresser som du identifierade tidigare:
Servernamn | Lyssningsadress | Lyssna port |
---|---|---|
msp1 |
Den privata IP-adressen mspVM1 för . |
8001 |
msp2 |
Den privata IP-adressen mspVM2 för . |
8001 |
Välj Nästa och skapa sedan ett kluster med namnet cluster1
.
Välj Nästa. Ändra inte värdena för servermallar och dynamiska servrar. Standardvärdena är acceptabla för ett dynamiskt kluster.
För Tilldela servrar till kluster tilldelar du både msp1
och msp2
till cluster1
.
Välj Nästa. Lägg till datorerna adminVM
, mspVM1
och mspVM2
. Använd DE IP-adresser som du identifierade tidigare.
Name | Lyssningsadress för Nodhanteraren | Nodhanteraren lyssnar port |
---|---|---|
mspVM1 |
Den privata IP-adressen mspVM1 för . |
5556 |
mspVM2 |
Den privata IP-adressen mspVM2 för . |
5556 |
adminVM |
Den privata IP-adressen adminVM för . |
5556 |
Välj Nästa. För Tilldela servrar till datorer tilldelar du servern admin
till adminVM
, msp1
till mspVM1
och msp2
till mspVM2
.
Välj Nästa. Du ser konfigurationssammanfattningen, som bör se ut som följande skärmbild:
Välj Skapa. Sidan Konfigurationsstatus visar förloppet. Alla objekt i listan bör konfigureras korrekt.
Slutligen finns det en sida med slutet av konfigurationen för att visa URL:en för administrationsservern.
Administrationsservern körs inte, så URL:en löses inte. Välj Nästa och sedan Slutför. Du har konfigurerat domänen wlsd
med ett kluster cluster1
, inklusive två hanterade servrar.
Sedan tillämpar du domänkonfigurationen på mspVM1
och mspVM2
.
Skapa repliker med hjälp av kommandot pack and unpack
I den här självstudien används kommandot WebLogic Server pack och unpack för att utöka domänen. Mer information finns i Översikt över kommandona Paket och Packa upp.
Packa domänkonfigurationen på
adminVM
med följande steg, förutsatt att du fortfarande är påadminVM
och inloggad medoracle
användaren:cd /u01/app/wls/install/oracle/middleware/oracle_home/oracle_common/common/bin bash pack.sh -domain=/u01/domains/wlsd -managed=true -template=/tmp/cluster.jar -template_name="wlsd"
Om kommandot har slutförts visas utdata som liknar följande exempel:
[oracle@adminVM bin]$ bash pack.sh -domain=/u01/domains/wlsd -managed=true -template=/tmp/cluster.jar -template_name="wlsd" << read domain from "/u01/domains/wlsd" >> succeed: read domain from "/u01/domains/wlsd" << set config option Managed to "true" >> succeed: set config option Managed to "true" << write template to "/tmp/cluster.jar" .............................. >> succeed: write template to "/tmp/cluster.jar" << close template >> succeed: close template
Använd följande kommandon för att kopiera /tmp/cluster.jar till
mspVM1
ochmspVM2
med .scp
Om du uppmanas att ange nyckelfingret skriver duyes
. Ange lösenordet Secret123456 när du uppmanas att göra det.scp /tmp/cluster.jar azureuser@<mspvm1-private-ip>:/tmp/cluster.jar scp /tmp/cluster.jar azureuser@<mspvm2-private-ip>:/tmp/cluster.jar #scp /tmp/cluster.jar azureuser@192.168.0.6:/tmp/cluster.jar #scp /tmp/cluster.jar azureuser@192.168.0.7:/tmp/cluster.jar
Använd följande instruktioner för att tillämpa domänkonfiguration på
mspVM1
:Öppna en ny kommandotolk och använd följande kommandon för att ansluta till
mspVM1
. Ersätt192.168.0.6
med dinmspVM1
privata IP-adress:set SSH_KEY="C:\Users\azureuser\.ssh\wls-vm-key" set MSPVM1_IP="192.168.0.6" ssh -i %SSH_KEY% azureuser@%MSPVM1_IP%
Ange lösenordet för anslutningen. I det här exemplet är lösenordet Secret123456.
Du loggade in
mspVM1
med användarenazureuser
. Använd sedan följande kommandon för att bli rotanvändare och uppdatera filägarskapet för /tmp/cluster.jar tilloracle
:sudo su chown oracle:oracle /tmp/cluster.jar export DOMAIN_PATH="/u01/domains" mkdir -p ${DOMAIN_PATH} chown oracle:oracle -R ${DOMAIN_PATH}
oracle
Som användare använder du följande kommandon för att tillämpa domänkonfigurationen:sudo su - oracle cd /u01/app/wls/install/oracle/middleware/oracle_home/oracle_common/common/bin bash unpack.sh -domain=/u01/domains/wlsd -template=/tmp/cluster.jar
Om kommandot har slutförts visas utdata som liknar följande exempel:
[oracle@mspVM1 bin]$ bash unpack.sh -domain=/u01/domains/wlsd -template=/tmp/cluster.jar << read template from "/tmp/cluster.jar" >> succeed: read template from "/tmp/cluster.jar" << set config option DomainName to "wlsd" >> succeed: set config option DomainName to "wlsd" >> validateConfig "KeyStorePasswords" >> succeed: validateConfig "KeyStorePasswords" << write Domain to "/u01/domains/wlsd" .................................................. >> succeed: write Domain to "/u01/domains/wlsd" << close template >> succeed: close template
Använd följande instruktioner för att tillämpa domänkonfiguration på
mspVM2
:Anslut
mspVM2
i en ny kommandotolk. Ersätt192.168.0.7
med dinmspVM2
privata IP-adress:set SSH_KEY="C:\Users\azureuser\.ssh\wls-vm-key" set MSPVM2_IP="192.168.0.7" ssh -i %SSH_KEY% azureuser@%MSPVM2_IP%
Ange lösenordet för anslutningen. I det här exemplet är lösenordet Secret123456.
Du loggade in
mspVM2
med användarenazureuser
. Använd följande kommandon för att ändra till rotanvändaren och uppdatera filägarskapet för /tmp/cluster.jar och initiera mappen för domänkonfiguration:sudo su chown oracle:oracle /tmp/cluster.jar export DOMAIN_PATH="/u01/domains" mkdir -p ${DOMAIN_PATH} chown oracle:oracle -R ${DOMAIN_PATH} sudo su - oracle cd /u01/app/wls/install/oracle/middleware/oracle_home/oracle_common/common/bin bash unpack.sh -domain=/u01/domains/wlsd -template=/tmp/cluster.jar
Du replikerade domänkonfigurationen på mspVM1
och mspVM2
och är redo att starta servrarna.
Starta servrar
Stegen i det här avsnittet instruerar dig att utföra följande två uppgifter:
- Gör det så att administratören och de hanterade servrarna startas automatiskt efter omstart av servern.
- Starta servrarna för omedelbar användning.
De här två aktiviteterna är inte lätta att separera, så stegen för de två uppgifterna blandas samman.
Starta administratör
Gå tillbaka till kommandotolken som ansluter till adminVM
. Om du har förlorat det kör du följande kommando för att ansluta till det:
set SSH_KEY="C:\Users\azureuser\.ssh\wls-vm-key"
set ADMINVM_IP="192.168.0.4"
ssh -i %SSH_KEY% azureuser@%ADMINVM_IP%
Om du inte arbetar med oracle
användaren loggar du in med oracle
:
sudo su - oracle
Följande kommando bevarar admin
kontot till /u01/domains/wlsd/servers/admin/security/boot.properties för att aktivera automatisk start av admin
servern utan att fråga efter autentiseringsuppgifter:
Ersätt användarnamnet och lösenordet med ditt.
mkdir -p /u01/domains/wlsd/servers/admin/security
cat <<EOF >/u01/domains/wlsd/servers/admin/security/boot.properties
username=weblogic
password=Secret123456
EOF
Använd följande kommandon för att inspektera filen. Kontrollera att den har rätt ägarskap, behörigheter och innehåll.
ls -la /u01/domains/wlsd/servers/admin/security/boot.properties
cat /u01/domains/wlsd/servers/admin/security/boot.properties
Utdata bör se nästan identiska ut med följande exempel:
[oracle@adminVM bin]$ ls -la /u01/domains/wlsd/servers/admin/security/boot.properties
-rw-rw-r--. 1 oracle oracle 40 Nov 28 17:00 /u01/domains/wlsd/servers/admin/security/boot.properties
[oracle@adminVM bin]$ cat /u01/domains/wlsd/servers/admin/security/boot.properties
username=weblogic
password=Secret123456
Aktivera administratörsservern och nodhanteraren för att starta automatiskt efter omstart av den virtuella datorn
Skapa en Linux-tjänst för WebLogic-administratörsservern och nodhanteraren för att starta processen automatiskt efter omstart. Mer information finns i Använda systemd på Oracle Linux.
oracle
Avsluta användaren och logga in med root
användaren.
exit
sudo su
Skapa Linux-tjänsten för nodhanteraren:
cat <<EOF >/etc/systemd/system/wls_nodemanager.service
[Unit]
Description=WebLogic nodemanager service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
# Note that the following three parameters should be changed to the correct paths
# on your own system
WorkingDirectory=/u01/domains/wlsd
ExecStart="/u01/domains/wlsd/bin/startNodeManager.sh"
ExecStop="/u01/domains/wlsd/bin/stopNodeManager.sh"
User=oracle
Group=oracle
KillMode=process
LimitNOFILE=65535
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF
Skapa Linux-tjänsten för administratörsservern:
cat <<EOF >/etc/systemd/system/wls_admin.service
[Unit]
Description=WebLogic Adminserver service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
WorkingDirectory=/u01/domains/wlsd
ExecStart="/u01/domains/wlsd/startWebLogic.sh"
ExecStop="/u01/domains/wlsd/bin/stopWebLogic.sh"
User=oracle
Group=oracle
KillMode=process
LimitNOFILE=65535
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF
Nu är du redo att starta nodhanteraren och administratörsservern med adminVM
hjälp av följande kommandon:
sudo systemctl enable wls_nodemanager
sudo systemctl enable wls_admin
sudo systemctl daemon-reload
sudo systemctl start wls_nodemanager
sudo systemctl start wls_admin
Kontrollera administratörsserverns tillstånd med sudo systemctl status wls_admin -l
. Administrationsservern bör vara redo när du hittar liknande loggar:
[root@adminVM wlsd]# sudo systemctl status wls_admin -l
● wls_admin.service - WebLogic Adminserver service
Loaded: loaded (/etc/systemd/system/wls_admin.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2022-09-26 07:47:34 UTC; 54s ago
Main PID: 26738 (startWebLogic.s)
Tasks: 61 (limit: 20654)
Memory: 649.2M
... ...
Sep 26 07:48:15 adminVM startWebLogic.sh[26802]: <Sep 26, 2022, 7:48:15,411 AM Coordinated Universal Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>
Tryck på Q för att avsluta loggövervakningsläget.
Du kan inte komma åt administratörsservern innan du öppnar portar 7001
och 5556
. Använd följande kommandon för att öppna portar:
sudo firewall-cmd --zone=public --add-port=7001/tcp
sudo firewall-cmd --zone=public --add-port=5556/tcp
sudo firewall-cmd --runtime-to-permanent
sudo systemctl restart firewalld
Nu kan du komma åt administratörsservern i webbläsaren myWindowsVM
med URL:en http://<adminvm-private-ip>:7001/console
. Kontrollera att du kan visa administratörsservern, men logga inte in ännu. Om administratörsservern inte körs kan du felsöka och lösa problemet innan du fortsätter. Administratörsservern är inte tillgänglig utanför Azure.
Starta msp1
Gå tillbaka till kommandotolken som ansluter till mspVM1
. Om du har förlorat det använder du följande kommando för att ansluta till det:
set SSH_KEY="C:\Users\azureuser\.ssh\wls-vm-key"
set MSPVM1_IP="192.168.0.6"
ssh -i %SSH_KEY% azureuser@%MSPVM1_IP%
Om du inte arbetar med oracle
användaren loggar du in med oracle
:
sudo su - oracle
admin
Spara kontot på /u01/domains/wlsd/servers/msp1/security/boot.properties för att aktivera automatisk start msp1
utan att fråga efter autentiseringsuppgifter. Ersätt användarnamnet och lösenordet med ditt.
mkdir -p /u01/domains/wlsd/servers/msp1/security
cat <<EOF >/u01/domains/wlsd/servers/msp1/security/boot.properties
username=weblogic
password=Secret123456
EOF
Nu skapar du en Linux-tjänst för node manager för att starta processen automatiskt vid omstart av datorn. Mer information finns i Använda systemd på Oracle Linux.
oracle
Avsluta användaren och logga in med root
användaren.
exit
#Skip this command if you are root
sudo su
Skapa Linux-tjänsten för nodhanteraren:
cat <<EOF >/etc/systemd/system/wls_nodemanager.service
[Unit]
Description=WebLogic nodemanager service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
# Note that the following three parameters should be changed to the correct paths
# on your own system
WorkingDirectory=/u01/domains/wlsd
ExecStart="/u01/domains/wlsd/bin/startNodeManager.sh"
ExecStop="/u01/domains/wlsd/bin/stopNodeManager.sh"
User=oracle
Group=oracle
KillMode=process
LimitNOFILE=65535
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF
Starta sedan nodhanteraren.
sudo systemctl enable wls_nodemanager
sudo systemctl daemon-reload
sudo systemctl start wls_nodemanager
Om nodhanteraren körs visas loggar som liknar följande exempel:
[root@mspVM1 azureuser]# systemctl status wls_nodemanager -l
● wls_nodemanager.service - WebLogic nodemanager service
Loaded: loaded (/etc/systemd/system/wls_nodemanager.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2022-09-27 01:23:42 UTC; 19s ago
Main PID: 107544 (startNodeManage)
Tasks: 15 (limit: 20654)
Memory: 146.7M
... ...
Sep 27 01:23:45 mspVM1 startNodeManager.sh[107592]: <Sep 27, 2022 1:23:45 AM Coordinated Universal Time> <INFO> <Server Implementation Class: weblogic.nodemanager.server.NMServer$ClassicServer.>
Sep 27 01:23:46 mspVM1 startNodeManager.sh[107592]: <Sep 27, 2022 1:23:46 AM Coordinated Universal Time> <INFO> <Secure socket listener started on port 5556, host /192.168.0.6>
Tryck på Q för att avsluta loggövervakningsläget.
Du måste öppna porten 8001
för att få åtkomst till programmet som distribuerats till klustret och 5556
för kommunikation inom domänen. Använd följande kommandon för att öppna portar:
sudo firewall-cmd --zone=public --add-port=8001/tcp
sudo firewall-cmd --zone=public --add-port=5556/tcp
sudo firewall-cmd --runtime-to-permanent
sudo systemctl restart firewalld
Starta msp2
Gå tillbaka till kommandotolken som ansluter till mspVM2
. Om du har förlorat det använder du följande kommando för att ansluta till det:
set SSH_KEY="C:\Users\azureuser\.ssh\wls-vm-key"
set MSPVM2_IP="192.168.0.7"
ssh -i %SSH_KEY% azureuser@%MSPVM2_IP%
Om du inte arbetar med oracle
användaren loggar du in med oracle
:
sudo su - oracle
admin
Spara kontot till /u01/domains/wlsd/servers/msp2/security/boot.properties för att aktivera automatisk start msp2
utan att fråga efter autentiseringsuppgifter. Ersätt användarnamnet och lösenordet med ditt.
mkdir -p /u01/domains/wlsd/servers/msp2/security
cat <<EOF >/u01/domains/wlsd/servers/msp2/security/boot.properties
username=weblogic
password=Secret123456
EOF
Skapa sedan en Linux-tjänst för nodhanteraren.
oracle
Avsluta användaren och logga in med root
användaren.
exit
#SKip this command if you are in root
sudo su
Skapa Linux-tjänsten för nodhanteraren:
cat <<EOF >/etc/systemd/system/wls_nodemanager.service
[Unit]
Description=WebLogic nodemanager service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
# Note that the following three parameters should be changed to the correct paths
# on your own system
WorkingDirectory=/u01/domains/wlsd
ExecStart="/u01/domains/wlsd/bin/startNodeManager.sh"
ExecStop="/u01/domains/wlsd/bin/stopNodeManager.sh"
User=oracle
Group=oracle
KillMode=process
LimitNOFILE=65535
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF
Starta nodhanteraren.
sudo systemctl enable wls_nodemanager
sudo systemctl daemon-reload
sudo systemctl start wls_nodemanager
Om nodhanteraren körs visas loggar som liknar följande exempel:
[root@mspVM2 azureuser]# systemctl status wls_nodemanager -l
● wls_nodemanager.service - WebLogic nodemanager service
Loaded: loaded (/etc/systemd/system/wls_nodemanager.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2022-09-27 01:23:42 UTC; 19s ago
Main PID: 107544 (startNodeManage)
Tasks: 15 (limit: 20654)
Memory: 146.7M
... ...
Sep 27 01:23:45 mspVM2 startNodeManager.sh[107592]: <Sep 27, 2022 1:23:45 AM Coordinated Universal Time> <INFO> <Server Implementation Class: weblogic.nodemanager.server.NMServer$ClassicServer.>
Sep 27 01:23:46 mspVM2 startNodeManager.sh[107592]: <Sep 27, 2022 1:23:46 AM Coordinated Universal Time> <INFO> <Secure socket listener started on port 5556, host /192.168.0.6>
Tryck på Q för att avsluta loggövervakningsläget.
Öppna porten 8001
och 5556
.
sudo firewall-cmd --zone=public --add-port=8001/tcp
sudo firewall-cmd --zone=public --add-port=5556/tcp
sudo firewall-cmd --runtime-to-permanent
sudo systemctl restart firewalld
Starta hanterade servrar
Öppna nu administrationskonsolportalen från en webbläsare på din Windows-dator myWindowsVM
och använd följande steg för att starta de hanterade servrarna:
- Logga in på administrationskonsolportalen med ditt administratörskonto och lösenord. URL:en är
http://<adminvm-private-ip>:7001/console/
. I det här exemplet ärweblogic/Secret123456
administratörskontot och lösenordet . Du kommer att upptäcka att tillståndet för hanterade servrar är Avstängning. - Under Domänstruktur väljer du Miljöer, Servrar och Kontroll, väljer
msp1
ochmsp2
och väljer sedan Start. - Du kan uppmanas att bekräfta att servrarna startas. I så fall väljer du Ja. Meddelandet "En begäran har skickats till Node Manager för att starta de valda servrarna" visas.
- Du kan välja ikonen "uppdatera" överst i tabellen för att starta eller stoppa den dynamiska uppdateringen av data i tabellen. Den här ikonen visas i nästa skärmbild.
- Servrarna är snart igång.
Rensa Windows-datorn
Du har slutfört konfigurationen av WebLogic Server-klustret. Om du vill kan du ta bort Windows-datorn med följande kommandon. Du kan också stänga av Windows-datorn myWindowsVM
och fortsätta att använda den som en hoppruta för pågående klusterunderhållsuppgifter.
export WINDOWSVM_NIC_ID=$(az vm show \
--resource-group ${RESOURCE_GROUP_NAME} \
--name myWindowsVM \
--query networkProfile.networkInterfaces[0].id \
--output tsv)
export WINDOWSVM_NSG_ID=$(az network nic show \
--ids ${WINDOWSVM_NIC_ID} \
--query networkSecurityGroup.id \
--output tsv)
export WINDOWSVM_DISK_ID=$(az vm show \
--resource-group ${RESOURCE_GROUP_NAME} \
--name myWindowsVM \
--query storageProfile.osDisk.managedDisk.id \
--output tsv)
export WINDOWSVM_PUBLIC_IP=$(az network public-ip list \
-g ${RESOURCE_GROUP_NAME} --query [0].id \
--output tsv)
echo "deleting myWindowsVM"
az vm delete --resource-group ${RESOURCE_GROUP_NAME} --name myWindowsVM --yes
echo "deleting nic ${WINDOWSVM_NIC_ID}"
az network nic delete --ids ${WINDOWSVM_NIC_ID}
echo "deleting public-ip ${WINDOWSVM_PUBLIC_IP}"
az network public-ip delete --ids ${WINDOWSVM_PUBLIC_IP}
echo "deleting disk ${WINDOWSVM_DISK_ID}"
az disk delete --yes --ids ${WINDOWSVM_DISK_ID}
echo "deleting nsg ${WINDOWSVM_NSG_ID}"
az network nsg delete --ids ${WINDOWSVM_NSG_ID}
Exponera WebLogic Server med Azure Application Gateway
Nu när du har skapat WLS-klustret (WebLogic Server) på antingen virtuella Windows- eller GNU/Linux-datorer går det här avsnittet igenom processen att exponera WebLogic Server för Internet med Azure Application Gateway.
Skapa Azure Application Gateway
För att kunna exponera WebLogic Server för Internet krävs en offentlig IP-adress. Skapa den offentliga IP-adressen och associera sedan en Azure Application Gateway med den. Använd az network public-ip create för att skapa det, som du ser i följande exempel:
az network public-ip create \
--resource-group ${RESOURCE_GROUP_NAME} \
--name myAGPublicIPAddress \
--allocation-method Static \
--sku Standard
Du lägger till serverdelsservrarna i Application Gateway-serverdelspoolen. Fråga serverdels-IP-adresser med hjälp av följande kommandon:
export ADMINVM_NIC_ID=$(az vm show \
--resource-group ${RESOURCE_GROUP_NAME} \
--name adminVM \
--query networkProfile.networkInterfaces[0].id \
--output tsv)
export ADMINVM_IP=$(az network nic show \
--ids ${ADMINVM_NIC_ID} \
--query ipConfigurations[0].privateIPAddress \
--output tsv)
export MSPVM1_NIC_ID=$(az vm show \
--resource-group ${RESOURCE_GROUP_NAME} \
--name mspVM1 \
--query networkProfile.networkInterfaces[0].id \
--output tsv)
export MSPVM1_IP=$(az network nic show \
--ids ${MSPVM1_NIC_ID} \
--query ipConfigurations[0].privateIPAddress \
--output tsv)
export MSPVM2_NIC_ID=$(az vm show \
--resource-group ${RESOURCE_GROUP_NAME} \
--name mspVM2 \
--query networkProfile.networkInterfaces[0].id \
--output tsv)
export MSPVM2_IP=$(az network nic show \
--ids ${MSPVM2_NIC_ID} \
--query ipConfigurations[0].privateIPAddress \
--output tsv)
Skapa sedan en Azure Application Gateway. I följande exempel skapas en programgateway med hanterade servrar i standardserverdelspoolen:
az network application-gateway create \
--resource-group ${RESOURCE_GROUP_NAME} \
--name myAppGateway \
--public-ip-address myAGPublicIPAddress \
--location eastus \
--capacity 2 \
--http-settings-port 80 \
--http-settings-protocol Http \
--frontend-port 80 \
--sku Standard_V2 \
--subnet wlsVMGateway \
--vnet-name myVNet \
--priority 1001 \
--servers ${MSPVM1_IP} ${MSPVM2_IP}
De hanterade servrarna exponerar sina arbetsbelastningar med port 8001
. Använd följande kommandon för att uppdatera appGatewayBackendHttpSettings
genom att ange serverdelsporten 8001
och skapa en avsökning för den:
az network application-gateway probe create \
--resource-group ${RESOURCE_GROUP_NAME} \
--gateway-name myAppGateway \
--name clusterProbe \
--protocol http \
--host 127.0.0.1 \
--path /weblogic/ready
az network application-gateway http-settings update \
--resource-group ${RESOURCE_GROUP_NAME} \
--gateway-name myAppGateway \
--name appGatewayBackendHttpSettings \
--port 8001 \
--probe clusterProbe
Nästa kommandon etablerar en grundläggande regel rule1
. Det här exemplet lägger till en sökväg till administrationsservern. Använd först följande kommandon för att skapa en url-sökvägskarta:
az network application-gateway address-pool create \
--resource-group ${RESOURCE_GROUP_NAME} \
--gateway-name myAppGateway \
--name adminServerAddressPool \
--servers ${ADMINVM_IP}
az network application-gateway probe create \
--resource-group ${RESOURCE_GROUP_NAME} \
--gateway-name myAppGateway \
--name adminProbe \
--protocol http \
--host 127.0.0.1 \
--path /weblogic/ready
az network application-gateway http-settings create \
--resource-group ${RESOURCE_GROUP_NAME} \
--gateway-name myAppGateway \
--name adminBackendSettings \
--port 7001 \
--protocol Http \
--probe adminProbe
az network application-gateway url-path-map create \
--gateway-name myAppGateway \
--name urlpathmap \
--paths /console/* \
--resource-group ${RESOURCE_GROUP_NAME} \
--address-pool adminServerAddressPool \
--default-address-pool appGatewayBackendPool \
--default-http-settings appGatewayBackendHttpSettings \
--http-settings adminBackendSettings \
--rule-name consolePathRule
Använd sedan az network application-gateway rule update för att uppdatera regeltypen till PathBasedRouting
.
az network application-gateway rule update \
--gateway-name myAppGateway \
--name rule1 \
--resource-group ${RESOURCE_GROUP_NAME} \
--http-listener appGatewayHttpListener \
--rule-type PathBasedRouting \
--url-path-map urlpathmap \
--priority 1001 \
--address-pool appGatewayBackendPool \
--http-settings appGatewayBackendHttpSettings
Nu kan du komma åt administrationsservern med URL:en http://<gateway-public-ip-address>/console/
. Kör följande kommandon för att hämta URL:en:
export APPGATEWAY_IP=$(az network public-ip show \
--resource-group ${RESOURCE_GROUP_NAME} \
--name myAGPublicIPAddress \
--query [ipAddress] \
--output tsv)
echo "admin console URL is http://${APPGATEWAY_IP}/console/"
Kontrollera att du kan logga in på administrationsserverkonsolen. Om du inte kan kan du felsöka och lösa problemet innan du fortsätter.
Kommentar
I det här exemplet konfigureras enkel åtkomst till WebLogic-servrarna med HTTP. Om du vill ha säker åtkomst konfigurerar du TLS/SSL-avslutning genom att följa anvisningarna i Slutpunkt-till-slutpunkt-TLS med Application Gateway.
Det här exemplet exponerar administrationsserverkonsolen via Application Gateway. Gör inte detta i en produktionsmiljö.
Distribuera ett exempelprogram
Det här avsnittet visar hur du distribuerar ett program till WebLogic Server-klustret. Börja med att ladda ned testwebapp.war från Oracle och spara filen i ditt lokala filsystem. Använd sedan följande steg för att distribuera programmet:
- Öppna en webbläsare.
- Gå till administrationskonsolportalen med URL:en
http://<gateway-public-ip-address>/console/
och logga sedan in med ditt administratörskonto och lösenord. I det här exemplet ärweblogic/Secret123456
de . - Om det finns en sådan knapp under Ändringscenter väljer du Lås och Redigera. Om den här knappen inte finns kontrollerar du att text som "Framtida ändringar aktiveras automatiskt när du ändrar, lägger till eller tar bort objekt i den här domänen" finns under Ändringscenter.
- Under Domänstruktur väljer du Distributioner. Om du ser ett felmeddelande som liknar
Unexpected error encountered while obtaining monitoring information for applications.
kan du ignorera det på ett säkert sätt. Välj Konfiguration och sedan Installera. Inbäddat i texten finns en hyperlänk med texten Ladda upp dina filer. Välj den. Välj Välj fil och välj sedan testwebapp.war som skapades i föregående steg. Välj Nästa och sedan Nästa. - Se till att Installera den här distributionen som ett program är valt. Välj Nästa.
- Under Tillgängliga mål för testwebapp väljer du distributionsmål
cluster1
, väljer Nästa och sedan Slutför. - Under Ändringscenter väljer du Aktivera ändringar om det finns en sådan knapp. Du måste slutföra det här steget. Om du inte slutför det här steget börjar ändringarna inte gälla. Om den här knappen inte finns kontrollerar du att det finns text
Future changes will automatically be activated as you modify, add or delete items in this domain
under Ändringscenter. - Under Domänstruktur väljer du Distributioner och sedan Kontroll. Välj testwebapp och välj sedan Start, Servicing all requests (Underhåll av alla begäranden).
- Välj Ja.
- Du ser ett meddelande om att
Start requests have been sent to the selected deployments.
programmets status måste vara Aktiv.
Testa konfigurationen av WebLogic Server-klustret
Du har konfigurerat WebLogic Server-klustret och distribuerat Java-programmet till det. Använd följande steg för att få åtkomst till programmet för att verifiera alla inställningar:
- Öppna en webbläsare.
- Navigera till programmet med URL:en
http://<gateway-public-ip-address>/testwebapp/
.
Rensa resurser
Ta bort resursgruppen med följande kommando:
az group delete --name ${RESOURCE_GROUP_NAME} --yes --no-wait
Nästa steg
Fortsätt att utforska alternativ för att köra WebLogic Server på Azure.
Mer information om Oracle WebLogic-erbjudanden finns i Oracle WebLogic Server på Azure. Dessa erbjudanden är alla Bring-Your-Own-License. De förutsätter att du redan har rätt licenser med Oracle och är korrekt licensierade för att köra erbjudanden i Azure.