2014-10-15 21 views
12

Potrzebuję statycznego adresu IP, aby umożliwić dostęp do zapory sieciowej, nie w sieci AWS.Statyczne IP przy użyciu Elastic Beanstalk

Czy możliwe jest uzyskanie statycznego adresu IP dla zrównoważonej aplikacji ładującej za pomocą Elastic Beanstalk? Śledzę numer AWS docs dotyczący korzystania z Trasy 53, aby hostować moją aplikację z nazwą domeny, ale z tego, co przeczytałem, to nie zapewnia statycznego adresu IP, ponieważ w zasadzie korzysta z rekordu CNAME, który pozwala zmieniać adres IP za kulisami. Czy to właściwe zrozumienie? Czy to w ogóle możliwe?

Odpowiedz

5

Amazon opublikował nowy przykład specjalnie dla Ciebie: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/vpc-basic.html

można wdrożyć aplikację Elastic Beanstalk w równoważenia obciążenia, autoskalowania środowiska w VPC, który ma zarówno publicznych i prywatna podsieć. Użyj tej konfiguracji, jeśli chcesz, aby Elastic Beanstalk przypisywał prywatne adresy IP do instancji Amazon EC2.

2

Nie, nie jest możliwe posiadanie statycznego adresu IP (lub Elastic IP w języku Amazon) w środowisku równoważenia obciążenia lub autoskalowania. Jest to możliwe tylko w przypadku "środowiska pojedynczej instancji". Różnicę między tymi dwoma wyjaśnił here.

Nie można przypisać elastycznego adresu IP do modułu równoważenia obciążenia, ale można przypisać elastyczne adresy IP poszczególnym instancjom uruchomionym za równoważeniem obciążenia, jeśli muszą uzyskać dostęp do zasobów zewnętrznych za zaporą.

11

Wdróż swoje środowisko beanstalk w VPC, a przy prawidłowej konfiguracji statyczny adres IP dla ruchu wychodzącego jest łatwy.

W tej konfiguracji wszystkie instancje przekazują ruch wychodzący za pośrednictwem jednego komputera, do którego można przypisać elastyczny adres IP. Cały wewnętrzny ruch związany z Internetem ze wszystkich instancji znajdujących się za nim zostanie wyświetlony, z drugiej sieci, do bw przy użyciu tego pojedynczego elastycznego adresu IP.

Część RDS poniższych może być nieistotna dla twoich potrzeb, ale zasady są takie same.

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo-vpc-rds.html

+0

Mam zamiar przeczytać w tej sprawie, ale tylko krótka kontynuacja, czy środowisko łodygi fasoli może być zrównoważone przy użyciu tej konfiguracji? – Seth

+1

@ Tak, tak. Ta konfiguracja wpływa tylko na sposób, w jaki serwery uzyskują dostęp do Internetu wychodzącego, gdy pochodzą z ruchu. Ruch przychodzący nadal przechodzi przez moduł równoważenia obciążenia, tak jak wcześniej. Główne serwery aplikacji na jednej z naszych platform używają prawie dokładnie tej konfiguracji, za ELB. Maszyna ze statycznym adresem nie jest jedną z twoich maszyn typu beanstalk, jest nową instancją, zawsze na ... ale może to być bardzo mała instancja (nawet mikro) i wciąż nie daje żadnego żalu wydajności. Ruch ELB jest całkowicie niezależny od tego komputera i powiązanej konfiguracji. –

0

Ten post pomógł mi uzyskać statyczny adres IP dla żądań wychodzących przy użyciu bramki NAT i routingu konkretnych żądań za jej pośrednictwem.

Potrzebowałem tego statycznego adresu IP, aby zostać dodanym do białej listy od zewnętrznego dostawcy API.

Znalazłem tę drogę znacznie łatwiej niż dostarczoną przez AWS, bez potrzeby tworzenia nowej VPC i prywatnych i publicznych podsieci.

Zasadniczo, co zrobiłem, było:

  • Utwórz nową podsieć gościć w NAT.
  • Utwórz bramkę NAT w powyższej podsieci i przypisz nowy elastyczny adres IP. To będzie nasz wychodzący adres IP za uderzanie zewnętrznych interfejsów API.
  • Utwórz tabelę tras dla podsieci NAT. Cały ruch wychodzący (0.0.0.0/0) powinien być kierowany przez bramkę NAT. Przypisz utworzoną podsieć, aby użyć nowej tabeli tras.
  • Zmodyfikuj tabelę głównych tras (tę, która obsługuje wszystkie nasze żądania instancji EC2) i dodaj adresy IP zewnętrznego interfejsu API, ustawiając jego cel na Bramę NAT.

W ten sposób możemy skierować dowolne żądanie na zewnętrzne adresy IP interfejsu API za pośrednictwem bramy NAT. Wszystkie pozostałe żądania są przesyłane przez domyślną bramkę internetową.

Jak napisano w postach, nie jest to rozwiązanie typu Multi AZ, więc jeśli AZ, który utrzymuje naszą Brama NAR, ulegnie awarii, możemy utracić połączenie z zewnętrznym API.