2016-12-12 3 views
0

REMARQUE: cette question concerne une application de console principale .net, et non ASP.NET Core.Comment déployer le profil avec l'application .net Core sur AWS

Je suis confus sur l'utilisation appropriée d'un profil sur AWS. Ce que je comprends est que AWS préférerait qu'un nom de profil soit utilisé à la place d'un fichier contenant des informations d'identification AWS (aws_access_key_id, aws_secret_access_key). Avec .net core, comment saurai-je naviguer dans le répertoire personnel de l'utilisateur où le fichier d'informations d'identification doit être stocké? (Selon cette référence: http://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config-creds.html#using-a-credentials-file

Je crée une application .net Core pour me connecter à Amazon Kinesis et je la déploierai dans un conteneur Docker. Je veux être en mesure de déployer et de faire en sorte que l'application trouve les informations d'identification propre à l'aide .CreateServiceClient<IAmazonKinesis>(). d'après ce que je comprends, cette approche permet AWSOptions de rechercher/trouver les informations d'identification sous les couvertures en localisant le fichier d'informations d'identification.

S'il vous plaît me aider à comprendre comment aborder ce sujet.

Répondre

0

est le conteneur de docker vous sera déployé sur hébergé dans ECS? Si oui, l'utilisation de la fonctionnalité IAM Roles for Tasks dans ECS sera la solution la plus simple à votre question. Pour l'essentiel, vous pouvez configurer un rôle IAM sous lequel la tâche/conteneur s'exécutera et configurer ses autorisations en affectant une stratégie IAM à ce rôle. ECS gère le processus de fourniture des informations d'identification pour ce rôle au conteneur docker. Les SDK récupèrent tous les informations d'identification fournies par ECS par défaut, à moins que vous ne les remplaciez explicitement en fournissant des informations d'identification lors de la création d'un client ou de la modification de votre chaîne de fournisseurs d'informations d'identification.

Nous avons publié un billet de blog sur les rôles ECS IAM pour les tâches lorsque nous avons lancé la fonction:

https://aws.amazon.com/about-aws/whats-new/2016/07/amazon-ec2-container-service-now-supports-iam-roles-for-tasks/

+0

Merci @Ben Walters. Alors, comment pouvez-vous développer localement tout en accédant à une ressource dans AWS qui n'a pas de version locale (dans ce cas, Amazon Kinesis)? Devrai-je utiliser une approche de fichier d'informations d'identification et ne pas déployer ce type de configuration lors de son ajout à un conteneur Docker? – FrankO

+0

Vous avez plusieurs options, voir [Configuration des informations d'identification] (http://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config-creds.html) pour plus de détails . Les fichiers d'informations d'identification ou les variables d'environnement sont probablement les plus faciles à utiliser. Les deux devraient vous permettre de conserver le même code à 100% entre votre environnement de développement et les environnements de production/pipeline de CD. –