Wowza Media Server na Amazon EC2

Luty 21, 2009

Na stronie Wowza znajdziemy informacje o możliwości uruchomienia Wowza Media Server na Amaozn EC2. Aby skorzystać z Wowza Media Server musimy najpierw założyć konto na Amazon Web Services, tu jest opis jak założyć konto i korzystać z Amazon EC2. Następnie korzystając z dokumentacji Wowza Pro Unlimited for Amazon EC2 User’s Guide (PDF >>) uruchamiamy Wowza Media Server na Amazon EC2. Amazon przygotował Wowza Media Server zainstalowany na systemie operacyjnym Fedora Core 8. Do uruchomienia instancji Wowza Media Server wybieramy jeden z dostępnych Amazon Machine Images (AMIs) np. AMI ID: „ami-5811392c” (jest to mała lub średnia instancja o architekturze 32 bitowej dla regionu – „Europe”). Generujemy parę kluczy (prywatny i publiczny) do uruchomienia instancji Wowza Media Server za pomocą polecenia: „ec2-add-keypair –region eu-west-1 wowza-keypair” – dla regionu Europa.

Wygenerowany klucz (poniższy klucz prywatny pochodzi z dokumentacji Wowza):

Klucz zapisujemy w np. w pliku „wowza-keypair-putty.ppk” wykorzystując do tego program: „puttygen.exe”. Teraz już uruchamiamy instancję z Wowza Media Server na Fedora Core 8 poleceniem:ec2-run-instances ami-5811392c -k –region eu-west-1 wowza-keypair -t m1.small„.

Poleceniem „ec2-describe-instances –region us-east-1” sprawdzamy, czy instancja już się uruchomiła, jeżeli tak to zobaczymy podobny tekst:

RESERVATION r-49bb5320 664010435657 default INSTANCE i-1e3dcb77 ami-5811392c ec2-72-44-40-222.compute-1.amazonaws.com 10-251-50-83.ec2.internal running air 0 8ED157F9 m1.small 2009-02-12T22:04:44+0000„.

Teraz musimy otworzyć port 22 dla TCP – poleceniem: „ec2-authorize default –region us-east-1 -p 22„, żebyśmy mogli połączyć się z nowo utworzoną instancją Wowza Media Server. Wykorzystując aplikację: „putty.exe” możemy połączyć się z naszą uruchomioną instancją, wykorzystując wcześniej utworzony klucz prywatny „wowza-keypair-putty.ppk” oraz adres naszej instancji: „ec2-72-44-40-222.compute-1.amazonaws.com„. Teraz możemy wykorzystać nasz serwer Wowza Media Server do zapisu i odczytu strumieni wideo.

Do przetestowania naszego serwera możemy wykorzystać Wowza Media Server Pro zainstalowaną lokalnie na naszym komputerze. Musimy tylko otworzyć port 1935 dla protokołu RTMP poleceniem: ec2-authorize default –region eu-west-1 -p 1935„. Następnie odszukujemy w Wowza Media Server zainstalowanym lokalnie przykładowy player: „fastplay.html” i uruchamiamy go (możemy znaleźć go w „[install-dir]/examples/FastPlayVideoStreaming/client/fastplay.html„).

Podajemy

Server: rtmp://[instance-public-domain]/fastplay

Stream: merry_melodies_falling_hare

gdzie: [instance-public-domain] – adres publiczny naszej instancji z serwerem Wowza np. ec2-72-44-40-222.compute-1.amazonaws.com a merry_melodies_falling_hare – to przykładowy strumień wideo umieszczony na Amazon EC2 z uruchomioną Wowza Media Server.

Naciskamy przycisk „Play” i cieszymy się z poprawnie działającego serwera Wowza na EC2.

Reklamy

Amazon EC2 – pierwsze starcie

Luty 13, 2009

Moim zadaniem było zapoznanie się z Amazon Elastic Compute Cloud (Amazon EC2). Zarejestrowałem się na Amazon EC2 jako nowy użytkownik i postanowiłem postępować zgodnie z dokumentacją Amazon Elastic Compute Cloud Getting Started Guide (API Version 2008-12-01). Po zarejestrowaniu się na stronie Amazon Web Services (AWS) mamy możliwość wypełnienia zakładki z danymi osobowymi, możemy wygenerować (lub wgrać własny) certyfikat X.509 i klucz prywatny potrzebny do komunikacji z AWS. Następnie musimy zdefiniować metodę płatności (podanie karty kredytowej), dzięki czemu będziemy mogli korzystać z Amazon EC2 (ewentualnie z innych usług amazona).

Na stronie Amazon EC2 zapoznałem się z zasadami działania serwisu EC2 i zorientowałem się, że są na nim przygotowane „obrazy” tzw. Amazon Machine Images (AMIs), zawierające zainstalowany system operacyjny lub oprogramowanie (np. Wowza Media Server Pro zainstalowana na Fedora Core 8). Potrzebując np. systemu operacyjnego odszukujemy AMIs – z wybranym systemem operacyjnym i uruchamiamy go na własne potrzeby tworząc swoją instancję. Instancja działa na zasobach Amazonu a my możemy z niej korzystać za pomocą Internetu. Mamy możliwość wyboru typu instancji. Instancje różnią się zasobami z jakich korzystają (ilość i rodzaj procesorów, rozmiar pamięci RAM, rozmiar pamięci do przechowywania danych) oraz ceną. Ceny wahają się od 0,10 $ do 1,20 $ za godzinę działania instancji, w zależności od typu instancji. Postanowiłem, że uruchomię instancję z Windows Server 2003 na EC2.

Do uruchomienia i zarządzania instancją na EC2 mogę wykorzystać jedno z trzech narzędzi:

Amazon EC2 API Tools jest to aplikacja, którą pobieramy i umieszczamy w katalogu na naszym komputerze a następnie za pomocą poleceń z linii komend zarządzamy naszymi instancjami.

Elasticfox jest to rozszerzenie instalowane do przeglądarki Mozilla Firefox. Elasticfox – pozwala korzystając z „okienek” i przycisków zarządzać naszymi instancjami.

AWS Management Console w wersji Beta jest dostępna za pomocą przeglądarki internetowej na stronie AWS po zalogowaniu się użytkownika na swoje konto.

Zdecydowałem się wykorzystać Amazon EC2 API Tools do komunikacji z AWS, ponieważ takie były zalecenia w dokumentacji.

Najpierw musiałem ustawić ścieżkę do zmiennej środowiskowej Javy.

Następnie trzeba zalogować się do serwisu Amazon Simple Storage Service (Amazon S3) oraz do Amazon Elastic Compute Cloud (Amazon EC2) (jeżeli jeszcze się nie logowaliśmy do tych serwisów). Po zalogowaniu się do AWS trzeba stworzyć swój certyfikat (X.509) wykorzystując dostępny kreator oraz zapisać na swoim komputerze utworzone pliki. Następnie pobieramy Amazon EC2 API Tools i rozpakowujemy pliki na przykład do folderu: „C:/ec2/”.

Następnie ustawiamy ścieżkę do zmiennej środowiskowej aplikacji Amazon EC2 API Tools:

np. „C:\> set EC2_HOME=C:\ec2\ec2-api-tools-1.3-26369” i dodajemy nową zmienną z dostępem do katalogu „bin” do ścieżki.

Aby Amazon EC2 API Tools działało poprawnie trzeba jeszcze ustawić dwie zmienne środowiskowe (EC2_PRIVATE_KEY I EC2_CERT) ze ścieżkami do naszego certyfikatu X.509 i klucza prywatnego (wygenerowanego wcześniej na stronie AWS po zalogowaniu się do swojego konta).

Jeszcze tylko ustawienie zmiennej – EC2_URL na region (us-east-1 lub eu-west-1)

np. „C:\ >set EC2_URL=http://us-east-1.ec2.amazonaws.com” i już wszystko powinno działać.

Wprowadziłem w wierszu poleceń komendę:

żeby zobaczyć jakie są dostępne „obrazy” z zainstalowanym systemem windows na EC2 (oraz żeby sprawdzić czy Amazon EC2 API Tools komunikuje się z AWS) i dostałem błąd: „… Client.AuthFailure: AWS was not able to validate the provided access credentials”.

Trochę pomyślałem i poszukałem … okazało się, że wprowadzona przeze mnie karta płatnicza nie była akceptowana. Pomogła dopiero zmiana karty na inną (wydaną przez inną instytucję finansową).

Teraz po wprowadzeniu polecenia: „ec2-describe-images -o self  -o amazon | findstr /i  windows”, dostałem listę z obrazami dostępnych systemów operacyjnych windows:

Do uruchomienia instancji potrzebowałem AMI ID z „obrazem” zainstalowanego windowsa. Wybrałem pierwszą pozycję z otrzymanych wyników, czyli postanowiłem uruchomić instancję dla AMI ID: „ami-40bf5829”. Teraz musiałem jeszcze wygenerować parę kluczy (klucz prywatny i publiczny) potrzebną do uruchomienia instancji Windows. Po wykonaniu polecenia: ec2-add-keypair gsg-keypair” dostałem klucz prywatny w postaci (poniższy klucz prywatny pochodzi z dokumentacji Amazon EC2):

Otrzymany klucz prywatny zapisałem w pliku id_rsa-gsg-keypait.txt i przystąpiłem do uruchomienia mojej pierwszej instancji. Poleceniem uruchomiłem moją instancję. Instancja uruchamia się kilkadziesiąt sekund. Poleceniem sprawdzamy aktualny stan intancji, gdzie „i-eb977f82” to unikatowy numer instancji nadany w momencie rozpoczęcia uruchomienia instancji.

Uruchomiona instancja ma podaną zewnętrzną nazwę DNS, dzięki której będziemy mogli się łączyć z naszym „świeżo” uruchomionym Windows Serwer 2003. Teraz potrzebujemy jeszcze hasła dostępowego do uruchomionego windowsa.

Poleceniem , otrzymujemy hasło dostępowe do naszej instancji z Windows Serwer 2003. Żeby móc połączyć się z uruchomionym systemem operacyjnym za pomocą „Podłączenia pulpitu zdalnego” musimy jeszcze otworzyć port 3389 dla adresu IP komputera z którego wykonamy podłączenie pulpitu zdalnego, robimy to poleceniem: .

Teraz już możemy podłączyć się do uruchomionej instancji z Windows Serwer 2003 za pomocą:

i testować działanie naszego systemu operacyjnego działającego na zasobach amazonu.

Programowanie – moje doświadczenia.

Luty 6, 2009

Witam!

Zaprasza do mojego bloga.

Postaram się na nim podzielić uwagami, spostrzeżeniami i nowymi doświadczeniami z codziennej pracy informatyka.