LoginSignup
0
0

More than 3 years have passed since last update.

Mac OSXでaws cliを利用する準備

Posted at

AWS CLI バージョン 2 をMac OSXにインストールする手順です。

前提

  • Mac OSX のPCを持っている
  • インターネットに接続できる
  • AWS のアカウントを持っている
  • AWS CLI バージョン 2 がインストール対象です

事前準備

始める前に AWS CLI を操作するための IAMユーザを作っておきます。

  • AWSコンソール
    • IAM
      • アクセス管理 > ユーザ
        • ユーザを追加
          • ユーザ名:(任意)
          • アクセスの種類:プログラムによるアクセス
          • アクセス許可の設定:(任意)

ユーザを作成すると Access key IDSecret access key が割り振られます。
後ほどconfigureする時に必要なので控えておいてください。

AWS CLI をインストール

AWSドキュメント の通りにコマンドを実行します。
最後のバックスラッシュが必要なのかは謎です。

awscliのインストール
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /

AWS CLI をインストールしたら次にconfigureします。ログインみたいなもんです。
任意のプロファイル名を付けられます。名前付きプロファイルを作っておくとユーザ切り替えが楽です。
(別のAWSアカウントを所有し、同じPCでaws-cliを利用したい場合など)
プロンプトで4つ質問されます。
{Access key ID}{Secret access key} は適宜読み替えてください。
リージョンや出力フォーマットはお好みのものを指定しましょう。
なお、ユーザを切り替える必要がないなら --profile {プロファイル名} の部分は不要です。

configureの実行
aws configure --profile {プロファイル名}
実行結果
AWS Access Key ID [None]: {Access key ID}
AWS Secret Access Key [None]: {Secret access key}
Default region name [None]: us-west-2
Default output format [None]: json

動作確認

ためしにEC2インスタンスの情報を取得してみます。
名前付きプロファイルを作成していないなら --profile {プロファイル名} の部分は不要です。

EC2情報取得
aws ec2 describe-instances --profile {プロファイル名}

実行結果は省略します。見たい人はこちらを開いてください。
実行結果
{
    "Reservations": [
        {
            "Groups": [],
            "Instances": [
                {
                    "AmiLaunchIndex": 0,
                    "ImageId": "ami-XXXXXXXX",
                    "InstanceId": "i-XXXXXXXXXXXXXXXXX",
                    "InstanceType": "t2.nano",
                    "LaunchTime": "2020-01-01T00:00:00+00:00",
                    "Monitoring": {
                        "State": "disabled"
                    },
                    "Placement": {
                        "AvailabilityZone": "us-west-2b",
                        "GroupName": "",
                        "Tenancy": "default"
                    },
                    "PrivateDnsName": "ip-XXX-XXX-XXX-XXX.us-west-2.compute.internal",
                    "PrivateIpAddress": "XXX.XXX.XXX.XXX",
                    "ProductCodes": [],
                    "PublicDnsName": "ec2-XXX-XXX-XXX-XXX.us-west-2.compute.amazonaws.com",
                    "PublicIpAddress": "XXX.XXX.XXX.XXX",
                    "State": {
                        "Code": 16,
                        "Name": "running"
                    },
                    "StateTransitionReason": "",
                    "SubnetId": "subnet-XXXXXXXX",
                    "VpcId": "vpc-XXXXXXXX",
                    "Architecture": "x86_64",
                    "BlockDeviceMappings": [
                        {
                            "DeviceName": "/dev/xvda",
                            "Ebs": {
                                "AttachTime": "2020-01-01T00:00:00+00:00",
                                "DeleteOnTermination": false,
                                "Status": "attached",
                                "VolumeId": "vol-XXXXXXXXXXXXXXXXX"
                            }
                        }
                    ],
                    "ClientToken": "",
                    "EbsOptimized": false,
                    "EnaSupport": true,
                    "Hypervisor": "xen",
                    "NetworkInterfaces": [
                        {
                            "Association": {
                                "IpOwnerId": "XXXXXXXXXXXX",
                                "PublicDnsName": "ec2-XXX-XXX-XXX-XXX.us-west-2.compute.amazonaws.com",
                                "PublicIp": "XXX.XXX.XXX.XXX"
                            },
                            "Attachment": {
                                "AttachTime": "2020-01-01T00:00:00+00:00",
                                "AttachmentId": "eni-attach-XXXXXXXXXXXXXXXXX",
                                "DeleteOnTermination": true,
                                "DeviceIndex": 0,
                                "Status": "attached"
                            },
                            "Description": "",
                            "Groups": [
                                {
                                    "GroupName": "XXXXXXXXXXXXXX",
                                    "GroupId": "sg-XXXXXXXX"
                                }
                            ],
                            "Ipv6Addresses": [],
                            "MacAddress": "XX:XX:XX:XX:XX:XX",
                            "NetworkInterfaceId": "eni-XXXXXXXXXXXXXXXXX",
                            "OwnerId": "XXXXXXXXXXXX",
                            "PrivateDnsName": "ip-XXX-XXX-XXX-XXX.us-west-2.compute.internal",
                            "PrivateIpAddress": "XXX.XXX.XXX.XXX",
                            "PrivateIpAddresses": [
                                {
                                    "Association": {
                                        "IpOwnerId": "XXXXXXXXXXXX",
                                        "PublicDnsName": "ec2-XXX-XXX-XXX-XXX.us-west-2.compute.amazonaws.com",
                                        "PublicIp": "XXX.XXX.XXX.XXX"
                                    },
                                    "Primary": true,
                                    "PrivateDnsName": "ip-XXX-XXX-XXX-XXX.us-west-2.compute.internal",
                                    "PrivateIpAddress": "XXX.XXX.XXX.XXX"
                                }
                            ],
                            "SourceDestCheck": true,
                            "Status": "in-use",
                            "SubnetId": "subnet-XXXXXXXX",
                            "VpcId": "vpc-XXXXXXXX",
                            "InterfaceType": "interface"
                        }
                    ],
                    "RootDeviceName": "/dev/xvda",
                    "RootDeviceType": "ebs",
                    "SecurityGroups": [
                        {
                            "GroupName": "XXXXXXXXXXXXXX",
                            "GroupId": "sg-XXXXXXXX"
                        }
                    ],
                    "SourceDestCheck": true,
                    "VirtualizationType": "hvm",
                    "CpuOptions": {
                        "CoreCount": 1,
                        "ThreadsPerCore": 1
                    },
                    "CapacityReservationSpecification": {
                        "CapacityReservationPreference": "open"
                    },
                    "HibernationOptions": {
                        "Configured": false
                    },
                    "MetadataOptions": {
                        "State": "applied",
                        "HttpTokens": "optional",
                        "HttpPutResponseHopLimit": 1,
                        "HttpEndpoint": "enabled"
                    }
                }
            ],
            "OwnerId": "XXXXXXXXXXXX",
            "ReservationId": "r-XXXXXXXXXXXXXXXXX"
        }
    ]
}

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0