Outils pour utilisateurs

Outils du site


cloud:aws:toc

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
cloud:aws:toc [2022/03/29 19:13] – [Login par requêtes directes] sgariepycloud:aws:toc [2022/12/10 14:46] (Version actuelle) – [Ressources] sgariepy
Ligne 95: Ligne 95:
  
   * L'application dans le User Pool n'a pas de Client Secret de configuré   * L'application dans le User Pool n'a pas de Client Secret de configuré
-  * L'utilisateur existe dans le user pool.  Il peut y avoir un mot de passe initial avec le statut _Force change password_.+  * L'utilisateur existe dans le user pool.  Il peut y avoir un mot de passe initial avec le statut //Force change password//.
  
 Pour effectuer des tests, par exemple pour obtenir un JWT d'identification, il faut appeler le service IDP de Cognito avec un initAuth: Pour effectuer des tests, par exemple pour obtenir un JWT d'identification, il faut appeler le service IDP de Cognito avec un initAuth:
Ligne 132: Ligne 132:
 </code> </code>
  
-On peut s'identifier avec un ''initAuth'' (avec un password confirmé) qui est la même chose que la première requête, mais avec le nouveau mot de passe:+La réponse au challenge retourne le id token si ça a bien fonctionné. 
 + 
 + 
 +Obtenir un id token avec un refresh token:
  
 <code> <code>
Ligne 141: Ligne 144:
 { {
     "AuthParameters" : {     "AuthParameters" : {
-        "USERNAME" : "test@domain", +        "REFRESH_TOKEN" : "{{normalAuth.response.body.AuthenticationResult.RefreshToken}}"
-        "PASSWORD" : "newPassword"+
     },     },
-    "AuthFlow" : "USER_PASSWORD_AUTH",+    "AuthFlow" : "REFRESH_TOKEN_AUTH",
     "ClientId" : "{{cognitoClientId}}"     "ClientId" : "{{cognitoClientId}}"
 } }
 +</code> 
 +
 +
 +
 +===== Ressources =====
 +
 +
 +  * [[https://www.npmjs.com/package/amazon-cognito-identity-js|Amazon Cognito Identity SDK for JavaScript]] (package npm)
 +  * [[https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-verifying-a-jwt.html|Verifying a JSON Web Token]]
 +  * [[https://github.com/amazon-archives/amazon-cognito-identity-js|amazon-archives/amazon-cognito-identity-js]] (repo GitHub archivé)
 +  * [[https://adayinthelifeof.nl/2020/05/20/aws.html|Description des services en une phrase]]
 +
 +====== GameLift ======
 +
 +Référence générale du [[https://docs.aws.amazon.com/cli/latest/reference/gamelift/index.html|AWS CLI pour GameLift]].
 +
 +Accéder par SSH sur une instance Linux:
 +
 +<code>
 +aws gamelift describe-instances --fleet-id fleet-c938a965-0d10-4bd5-bba6-912f5578aa45
 </code> </code>
  
 +Exemple de réponse reçu:
  
  
 +<code>
 +{
 +    "Instances": [
 +        {
 +            "Status": "Active", 
 +            "InstanceId": "i-06bc89c264c000000", 
 +            "Type": "c5.large", 
 +            "CreationTime": 1605559806.411, 
 +            "DnsName": "ec2-35-153-100-100.compute-1.amazonaws.com", 
 +            "FleetId": "fleet-c938a965-0d10-4bd5-bba6-000000000000", 
 +            "IpAddress": "35.153.100.100", 
 +            "OperatingSystem": "AMAZON_LINUX_2"
 +        }
 +    ]
 +}
 +</code>
  
 +Ensuite avec l'instance Id on peut récupérer la clé privée.
  
 +<code>
 +aws gamelift get-instance-access --fleet-id fleet-c938a965-0d10-4bd5-bba6-000000000000 --instance i-06bc89c264c000000 --query "InstanceAccess.Credentials.Secret" --output text > instancekey.pem
 +</code>
  
 +Il est possible que le port SSH ne soit pas ouvert sur l'instance:
  
 +<code>
 +# Linux par ssh
 +aws gamelift update-fleet-port-settings --fleet-id fleet-c938a965-0d10-4bd5-bba6-000000000000 --inbound-permission-authorizations "FromPort=22,ToPort=22,IpRange=###.###.###.###/32,Protocol=TCP"
  
-===== Ressources =====+# Windows avec RemoteDesktop: 
 +aws gamelift update-fleet-port-settings --fleet-id fleet-c938a965-0d10-4bd5-bba6-000000000000 --inbound-permission-authorizations "FromPort=3389,ToPort=3389,IpRange=###.###.###.###/32,Protocol=TCP" 
 +</code>
  
 +Donner des permission plus restreintes sur la clé privée
  
-  * [[https://www.npmjs.com/package/amazon-cognito-identity-js|Amazon Cognito Identity SDK for JavaScript]] (package npm) +<code> 
-  * [[https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-verifying-a-jwt.html|Verifying a JSON Web Token]] +chmod 400 instancekey.pem 
-  * [[https://github.com/amazon-archives/amazon-cognito-identity-js|amazon-archives/amazon-cognito-identity-js]] (repo GitHub archivé) +</code>
-  * [[https://adayinthelifeof.nl/2020/05/20/aws.html|Description des services en une phrase]]+
  
 +ou bien utiliser ''sudo'' pour le ssh:
 +
 +<code>
 +sudo ssh -i instancekey.pem gl-user-remote@35.153.207.14
 +</code>
 +
 +[[https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html|Source]]
 +
 +===== Upload Build =====
 +
 +
 +Exemple de commande qui peut être utilisée pour téléverser un build vers AWS:
 +
 +
 +<code>
 +aws gamelift upload-build --operating-system WINDOWS_2012 --build-root ~/path-to/BuildDirectory --name "MyBuild" --build-version "0.0.1" --region us-east-1
 +</code>
 +
 +
 +
 +
 +
 +===== Fleet Configuration =====
 +
 +On peut avoir besoin de l'identifiant de l'instance sur lequel le fleet se retrouve:
 +
 +<code>
 +aws gamelift describe-runtime-configuration --fleet-id fleet-00000000-0000-0000-0000-000000000000
 +</code>
 +
 +On aura des informations intéressantes tel que l'IP, le port et l'instanceId:
 +
 +<code>
 +{
 +    "Instances": [
 +        {
 +            "Status": "Active", 
 +            "InstanceId": "i-00000000000000000", 
 +            "Type": "c5.large", 
 +            "CreationTime": 1600000000.000, 
 +            "DnsName": "ec2-54-100-100-100.compute-1.amazonaws.com", 
 +            "FleetId": "fleet-00000000-0000-0000-0000-000000000000", 
 +            "IpAddress": "54.100.100.100", 
 +            "OperatingSystem": "WIN_2012"
 +        }
 +    ]
 +}
 +</code>
 +
 +
 +==== Runtime Configuration ====
 +
 +Exemple de modification de Runtime Configuration pour changer le LaunchPath, ou même le ''ConcurrentExecutions'':
 +
 +<code>
 +aws gamelift update-runtime-configuration --fleet-id fleet-c938a965-0d10-4bd5-bba6-912f5578aa45 --runtime-configuration "ServerProcesses=[{LaunchPath=/local/game/RealtimeServerScript.js,ConcurrentExecutions=10}],MaxConcurrentGameSessionActivations=2147483647,GameSessionActivationTimeoutSeconds=3600"
 +</code>
  
cloud/aws/toc.1648574028.txt.gz · Dernière modification : 2022/03/29 19:13 de sgariepy