[LINUX] AWS CLI v2 est devenu GA (disponibilité générale), j'ai donc essayé de l'utiliser immédiatement.

Tout le monde aime l'AWS CLI v2 est devenue GA (disponibilité générale) le 11 février 2020 au petit matin de l'heure du Japon! Hourra. https://aws.amazon.com/jp/blogs/developer/aws-cli-v2-is-now-generally-available/

J'aime l'AWS CLI autant que j'écris un livre fin sur l'AWS CLI. C'est pourquoi j'ai essayé de l'utiliser immédiatement.

Installation

Le guide officiel contient des instructions d'installation pour Linux, macOS et Windows. Cette fois, je l'ai essayé sur AmazonLinux2, j'ai donc suivi la procédure Linux.

Guide officiel: https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html

installer

Le guide officiel a la description suivante. https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html#cliv2-linux-install

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

Quand je l'essaye, ça ressemble à ça.

ec2-user@test ~]$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 30.6M  100 30.6M    0     0  64.1M      0 --:--:-- --:--:-- --:--:-- 64.0M
[ec2-user@test ~]$ ls
awscliv2.zip
[ec2-user@test ~]$
[ec2-user@test ~]$ unzip awscliv2.zip
Archive:  awscliv2.zip
   creating: aws/
   creating: aws/dist/
(Omission)
  inflating: aws/dist/zlib/cpython-37m-x86_64-linux-gnu/soib.cpython-37m-x86_64-linux-gnu.so
[ec2-user@test ~]$
[ec2-user@test ~]$ sudo ./aws/install
You can now run: /usr/local/bin/aws --version
[ec2-user@test ~]$
[ec2-user@test ~]$ /usr/local/bin/aws --version
aws-cli/2.0.0 Python/3.7.3 Linux/4.14.154-128.181.amzn2.x86_64 botocore/2.0.0dev4
[ec2-user@test ~]$

Essayez immédiatement.

Les nouvelles fonctionnalités au moment de la rédaction de cet article sont:

--Installateur

Dans cet article, nous allons essayer de compléter automatiquement les noms de ressources et les invites automatiques, les assistants et la sortie en yaml. Mettez à jour SSO après l'essai si possible

Saisie automatique des noms de ressources

Pour le moment, il semble que tous les services ne soient pas pris en charge. Par exemple, il semble que les noms de compartiment Amazon EC2 et Amazon S3, RDS, etc. ne soient pas pris en charge dans la version d'évaluation. On s'attend à ce que ce domaine soit élargi à l'avenir.

Il semble donc que les services (Amazon DynamoDB, AWS IAM, AWS Lambda) qui prennent en charge l'assistant décrit plus tard soient pris en charge, alors je l'ai essayé.

[ec2-user@test ~]$ aws dynamodb describe-table --table-name <Appuyez sur la touche TAB>
12234            table-us-east-1
[ec2-user@test ~]$
[ec2-user@test ~]$ aws iam get-user --user-name <Appuyez sur la touche TAB>
cli         codecommit  hirosys
[ec2-user@test ~]$
[ec2-user@test ~]$ aws lambda get-function --function-name <Appuyez sur la touche TAB>
AWS-DeepRacer-Test-Reward-Function              aws-deepracer-reward-fn-********-****-****-****-************

Invite automatique

J'ai essayé de créer un Amazon VPC à l'aide de la fonction d'invite automatique.

[ec2-user@test ~]$ aws ec2 create-vpc --cli-auto-prompt
--cidr-block: 10.20.0.0/16

Après avoir spécifié le paramètre requis --cidr-block, une liste de paramètres facultatifs a été affichée. image.png

En sélectionnant ** [DONE] Entrée de paramètre terminée ** en bas et en appuyant sur la touche Entrée sans rien spécifier, le VPC a été créé.

{
    "Vpc": {
        "CidrBlock": "10.20.0.0/16",
        "DhcpOptionsId": "dopt-********",
        "State": "pending",
        "VpcId": "vpc-*****************",
        "OwnerId": "************",
        "InstanceTenancy": "default",
        "Ipv6CidrBlockAssociationSet": [],
        "CidrBlockAssociationSet": [
            {
                "AssociationId": "vpc-cidr-assoc-*****************",
                "CidrBlock": "10.20.0.0/16",
                "CidrBlockState": {
                    "State": "associated"
                }
            }
        ],
        "IsDefault": false,
        "Tags": []
    }
}

J'ai pu le créer en toute sécurité.

Points de préoccupation ...

Lorsque j'ai exécuté aws ec2 describe-instances en mode invite automatique, même si j'ai spécifié l'ID d'instance dans --instance-ids, le message suivant était affiché et il n'a pas pu être exécuté.

An error occurred (InvalidInstanceID.Malformed) when calling the DescribeInstances operation: Invalid id: "-"

Cependant, il est étrange que la sortie CLI par la commande ** Print CLI ** fonctionne comme prévu. .. ..

sorcier

[ec2-user@test ~]$ aws lambda wizard new-function

Tout d'abord, spécifiez le nom de la fonction Lambda à créer. Sélectionnez ensuite le type et la version du runtime que vous souhaitez utiliser dans la liste. image.png

De plus, sélectionnez le rôle à utiliser dans la liste. image.png

Spécifiez ensuite le fichier zip contenant le gestionnaire et les fonctions Lambda, En fin de compte, il ressemble à ce qui suit et l'exécute.

[ec2-user@test ~]$ aws lambda wizard new-function
Enter the function name: cliv2
Select the Lambda runtime
Select the role to use
Enter the handler for your function: lambda_function.lambda_handler
Enter the new location of your code zip file: cliv2_test.zip
[ec2-user@test ~]$

Si vous pouvez l'exécuter sans aucune erreur, vous avez créé avec succès la fonction Lambda. Voici le résultat confirmé sur la console de gestion. image.png

Ce serait bien de voir le runtime ou le rôle sélectionné dans la liste.

Sortie en yaml

Il peut y avoir des problèmes de goût, mais personnellement je trouve yaml facile à lire, donc cette mise à jour est agréable.

[ec2-user@test ~]$ aws ec2 describe-instances --output yaml
Reservations:
- Groups: []
  Instances:
  - AmiLaunchIndex: 0
    Architecture: x86_64
    BlockDeviceMappings:
    - DeviceName: /dev/xvda
      Ebs:
        AttachTime: '2020-02-11T14:25:47+00:00'
        DeleteOnTermination: true
        Status: attached
        VolumeId: vol-*****************
    CapacityReservationSpecification:
      CapacityReservationPreference: open
    ClientToken: ''
    CpuOptions:
      CoreCount: 1
      ThreadsPerCore: 1
    EbsOptimized: false
    EnaSupport: true
    HibernationOptions:
      Configured: false
    Hypervisor: xen
    IamInstanceProfile:
      Arn: arn:aws:iam::************:instance-profile/role-tsuyoi
      Id: *********************
    ImageId: ami-*****************
    InstanceId: i-*****************
    InstanceType: t2.micro
    KeyName: ***********
    LaunchTime: '2020-02-11T14:25:46+00:00'
    MetadataOptions:
      HttpEndpoint: enabled
      HttpPutResponseHopLimit: 1
      HttpTokens: optional
      State: applied
    Monitoring:
      State: disabled
    NetworkInterfaces:
    - Association:
        IpOwnerId: amazon
        PublicDnsName: ec2-***-***-***-***.ap-northeast-1.compute.amazonaws.com
        PublicIp: ***.***.***.***
      Attachment:

Résumé

J'aimais l'AWS CLI, mais avec cette v2, elle a été transformée en une fonctionnalité qui peut atteindre encore plus de zones de démangeaisons, et je pense qu'elle est devenue une fonctionnalité de plus en plus préférée. Pourquoi ne saisissez-vous pas cette opportunité pour entrer en contact avec l'AWS CLI?

Postscript

AWS a publié une image de l'AWS CLI v2 sur Docker Hub! C'est parfait pour un essai rapide!

https://aws.amazon.com/jp/blogs/developer/aws-cli-v2-docker-image/

Ceux qui ont essayé de l'utiliser immédiatement l'ont résumé dans Qiita! https://qiita.com/kai_kou/items/cfb7c1d6a449e0da68d1

Recommended Posts

AWS CLI v2 est devenu GA (disponibilité générale), j'ai donc essayé de l'utiliser immédiatement.
AWS Lambda prend désormais en charge Python, je l'ai donc essayé
J'ai essayé d'utiliser AWS Chalice
J'ai essayé d'utiliser l'API de données YOUTUBE V3
J'ai essayé d'utiliser pipenv, alors prenez note
J'ai essayé d'utiliser l'API Detect Labels d'AWS Rekognition
[Rails] v1.0 est sorti sur google-cloud-vision de gem, j'ai donc essayé de le soutenir
Je voulais utiliser la feuille de calcul Google avec AWS lambda, alors je l'ai essayé [Partie 2]
[Python] J'ai immédiatement essayé d'utiliser l'extension VS Code de Pylance.
J'ai fait une analyse émotionnelle d'Amazon Comprehend avec l'AWS CLI.
J'ai essayé d'obtenir une AMI en utilisant AWS Lambda
J'ai essayé de devenir un Ann Man en utilisant OpenCV