Zaczynamy używać DynamoDB i chcemy mieć osobne środowiska dla dev/inscenizacji/produkcji. Nie potrafimy tego zrobić w naturalny sposób - czy tworzymy osobne konta AWS? Czy używamy tego samego konta, ale dodajemy niemądre przedrostki do naszych tabel ("produkty deweloperskie", "produkty etapujące", "produkty prod")?Zarządzanie dev/inscenizacja/produkcja na DynamoDB?
Odpowiedz
Standardowym sposobem zarządzania tym produktem Amazon jest utworzenie oddzielnych kont, a następnie korzystanie z płatności skonsolidowanych, aby nie komplikować aspektu fakturowania. Rzecz w tym, że nie ryzykujesz złamania kodu produkcyjnego przez przypadkowe uruchomienie niewłaściwego polecenia. Oczywiście to nie pomaga, jeśli jesteś zalogowany do niewłaściwej instancji, ale nadal pomaga całkiem sporo.
Inne zastosowania wielu kont mogą służyć do zarządzania uprawnieniami i lepszymi testami. Posiadanie oddzielnych kont pomaga w testowaniu, ponieważ możesz odtworzyć konto produkcyjne w 100% i włączyć je, gdy chcesz przetestować nowe funkcje. Rozmawiałem ze wsparciem premium Amazon na temat tego problemu i powiedzieli, że wydaje się to standardową praktyką dla większych firm. Niektóre większe firmy mają wiele kont. W mojej pracy mamy po prostu 3 i uważam, że jest bardziej przydatna każdego dnia.
Nie widzę niczego, co jest "powyżej" tabel, które można utworzyć dla każdej instancji (dev/staging/prod), którą masz (jak relacyjna baza danych, która ma wszystkie tabele w jednym DB).
Przy aplikacji, nad którą pracuję, używamy prefiksów do tabel.
Nie należy zapominać o znacznie ulepszonym IAM firmy Amazon w zakresie kontroli dostępu. W dużej mierze daje to te same korzyści z oddzielnych kont. (Oddzielne konta nadal są opcją, jeśli chcesz mieć różne poziomy płatnego wsparcia.)
Nazywa się mądrością, moje preferencje to nazwa.środowisko.wszystko.
Amazon zapewnia teraz serwer, który można uruchomić lokalnie. Możesz go pobrać here.
Nie mogę zrozumieć, dlaczego nie ma rozwiązania AWS do obsługi wersji DB, takich jak produkcja i test w DynamoDB !? Posiadanie wielu kont AWS to kłopot.
staje się on również duży problem prefiks nazw tabel, jeśli uzyska elementy za pomocą C# klasy atrybutu [DynamoDBTable("Users")]
i pobierania danych z DynamoDBContext.Load<User>(userId);
jako atrybuty wartości nie można zmienić podczas wykonywania skończyło się to rozpuszczanie przy użyciu symboli kompilacji conditonal i ustawianie stałych, które mogą być używane jako wartość atrybutu klasy.
public static class DynamoDbTablesConfiguration
{
#if Debug
public const string UserTable = "Users_Dev";
#endif
#if Release
public const string UserTable = "Users_Production";
#endif
}
[DynamoDBTable(DynamoDbTablesConfiguration.UserTable)]
public class User
{
}
Upewnij się, że ustawienie „conditonal symboli kompilacji” wartość poprzez kliknięcie prawym przyciskiem myszy na projekcie> Właściwości> Budowa> „conditonal symbole kompilacji”.
Nie jest to idealne rozwiązanie, ale nie widzę tutaj innych opcji, jeśli nie chcę tworzyć kolejnego konta AWS.
możesz rzucić okiem na ten link: https://aws.amazon.com/blogs/developer/configuring-dynamodb-tables-for-development-and-production/ Podobne, ale tak brzmi aws oficjalnie polecany sposób –
Dzięki, ale projekt, nad którym pracowałem, został przerwany. Wtedy odkryłem, że nie ma łatwego sposobu tworzenia kopii zapasowej bazy danych dynamo, aby zapisać dane.Nie myśl, że użyję DynamoDb do czegokolwiek w przyszłości i nie poleciłbym go nikomu innemu. –
- 1. SKAN na klucz atrybut w DynamoDB
- 2. AWS DynamoDB VS HBase
- 3. MongoDB do DynamoDB
- 4. DynamoDB kontra MongoDB NoSQL
- 5. Obsługa zapytań zagnieżdżonych DynamoDB
- 6. Amazon DynamoDB and AngularJS
- 7. ItemSize in DynamoDB
- 8. Graj! Framework + DynamoDB
- 9. Generowanie raportów z Dynamodb
- 10. DynamoDB Perl Abstraction
- 11. UUID dla DynamoDB?
- 12. Jak uzyskać dystynk liczyć na dynamodb na miliard obiektów?
- 13. Zarządzanie aplikacjami a kontenerami Zarządzanie podmiotami
- 14. Najlepszy sposób na zarządzanie danymi Redis
- 15. Zarządzanie CSS na dużych stronach internetowych
- 16. Zarządzanie plikami konfiguracji użytkownika na wielu komputerach
- 17. Sprytny sposób na zarządzanie historią przeglądarki
- 18. Koszyk na zakupy i zarządzanie zapasami
- 19. Jak działa zarządzanie pamięcią na Xamarin.IOS
- 20. SimpleDB Wybierz VS DynamoDB Scan
- 21. Zapytanie DynamoDB z operatorami porównania
- 22. Jak dodać kolumnę w DynamoDB
- 23. Zdobądź podstawową listę kluczy dynamoDB
- 24. Projektowanie "kanału społecznościowego" w DynamoDB
- 25. Integracja DynamoDb w żagle js
- 26. Dane wiosenne dla Amazon DynamoDB
- 27. Dlaczego DynamoDB wymaga wartości expressionAttributeValue?
- 28. Obsługa strumienia dla lokalnego dynamodb?
- 29. Zarządzanie zależnościami zagnieżdżonymi npm
- 30. Wiosna/RabbitMQ: zarządzanie transakcjami
To już nie jest "standardowy sposób". Obciążenie z wielu kont AWS jest zbyt duże. Użyj tagów i konwencji nazewnictwa, aby oddzielić etapy i produkcje. –