Memo

メモ > サーバ > サービス: AWS > AWS CLI(Amazon Linux で使用する場合)

■AWS CLI(Amazon Linux で使用する場合)
AWSのサービスをコマンドラインで操作できる Amazon Linux にはプリインストールされている
$ aws --version … CLIのバージョンを確認 aws-cli/1.10.56 Python/2.7.10 Linux/4.4.16-27.56.amzn1.x86_64 botocore/1.4.46 $ aws ec2 describe-security-groups … CLIの設定を行っていないので実行できない You must specify a region. You can also configure your region by running "aws configure". $ aws configure … CLIの設定を行う AWS Access Key ID [None]: XXXXX … アクセスキーを入力 AWS Secret Access Key [None]: YYYYY … シークレットアクセスキーを入力 Default region name [None]: ap-northeast-1 … デフォルトで使用するリージョンを入力 Default output format [None]: text … 実行結果の出力形式を入力(「text」「json」「table」のいずれか) $ aws ec2 describe-security-groups … EC2を一覧表示(CLIの設定を行ったので実行できる) SECURITYGROUPS default VPC security group sg-30240955 default 123456789012 vpc-f11d9094 IPPERMISSIONS -1 USERIDGROUPPAIRS sg-30240955 123456789012 IPPERMISSIONSEGRESS -1 IPRANGES 0.0.0.0/0 〜略〜 SECURITYGROUPS for ssh. sg-5e270a3b ssh 123456789012 vpc-f11d9094 IPPERMISSIONS 10022 tcp 10022 IPRANGES 203.0.113.9/32 IPPERMISSIONS 22 tcp 22 IPRANGES 172.31.0.0/16 IPPERMISSIONSEGRESS -1 IPRANGES 0.0.0.0/0 $ ll ~/.aws/ … 設定ファイルを確認 合計 8 -rw------- 1 ec2-user ec2-user 48 8月 25 18:19 config … リージョンと出力形式の設定が保存されている -rw------- 1 ec2-user ec2-user 116 8月 25 18:19 credentials … アクセスキーの設定が保存されている
■オプション指定例(条件指定&絞り込み)
$ aws ec2 describe-instances … EC2を一覧表示 $ aws ec2 describe-instances --filters "Name=private-ip-address,Values=10.0.0.150" … filtersで検索条件を指定 $ aws ec2 describe-instances --query 'Reservations[].Instances[].InstanceId' … queryで出力結果を絞り込み(インスタンスIDを表示) $ aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,PrivateIpAddress]' … queryで出力結果を絞り込み(インスタンスIDとIPアドレスを表示)
■S3を操作
$ aws s3 ls refirio/images/ … S3の特定フォルダの内容を一覧表示 2015-10-30 20:20:01 0 2017-11-16 13:21:40 5115 photo01.jpg 2015-10-30 20:21:40 8853 photo02.jpg 2017-11-16 14:12:57 12008 photo03.jpg $ aws s3 cp s3://refirio/test/ /home/ec2-user/s3/test/ --recursive … S3の特定フォルダの内容をダウンロード
S3バケットにアップロードしたファイルを一括ダウンロードする方法 - *いしのなかにいる* https://teleporter.hateblo.jp/entry/bulk-download-from-s3
$ aws s3 sync /home/ec2-user/sync_test s3://refirio/sync_test/ --delete … S3の特定フォルダの内容と同期
「aws s3 sync」を実行すると、「/home/ec2-user/sync_test」の内容が正しいとして「s3://refirio/sync_test/」の内容が同期される つまりEC2側にファイルを作成して「aws s3 sync」を実行するとS3側にファイルが作成され、 S3側にファイルを作成して「aws s3 sync」を実行するとS3側のファイルは削除される MySQLを毎日バックアップして、S3に同期するシェルスクリプト - Qiita https://qiita.com/taiko19xx/items/215b9943c8aa0d8edcf6 「aws s3 sync」でバックアップの仕組みを作る場合、うっかりファイルを削除するとそれも同期されてしまう S3側でバージョン管理を有効にしておく必要はありそうだが、永久に残らないようにライフサイクルの設定が必要 今さらだけどS3のバージョニングを試してみた。 - Qiita https://qiita.com/kooohei/items/8775b380632e8b7940a3 今さらだけどS3のライフサイクルを試してみた。 - Qiita https://qiita.com/kooohei/items/645deeb08cd1a6f4948a#_reference-f9f014ed309e5ecc614a 以下のようにバケットを指定することで、バケット間で直接コピーもできるみたい(未検証) cpコマンドでも同様にできるか、なども含めて要検証
$ aws s3 sync s3://DOC-EXAMPLE-BUCKET-SOURCE s3://DOC-EXAMPLE-BUCKET-TARGET
Amazon S3 バケット間でオブジェクトをコピーする https://aws.amazon.com/jp/premiumsupport/knowledge-center/move-objects-s3-bucket/

Advertisement