AWS CLI勉強中の内容をまとめていきます。
PREV:0.5から始めるAWS CLI入門 - ⑤ELB
下記まで行ってきましたが、使用してきた主なコマンドをまとめます。
0.5から始めるAWS CLI入門 - ①AWS CLIのインストールと基本設定
0.5から始めるAWS CLI入門 - ②基本使用
0.5から始めるAWS CLI入門 - ③VPCの構築
0.5から始めるAWS CLI入門 - ④EC2
0.5から始めるAWS CLI入門 - ⑤ELB
#AWS CLIのインストールと基本設定
##Homebrewのインストール
HomebrewのTopページに記載されているコマンドを実行
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
##pythonインストール
brewの所有者をrootに変更しなければいけません
参考:[Mac] はじめてのbrew
$ ls -la /usr/local/bin/brew
$ sudo chown root /usr/local/bin/brew
$ sudo brew install python
##pipインストール
$ sudo easy_install pip
##AWS CLIインストール
$ sudo pip install awscli
##AWS CLIの設定
対話形式でキーID・アクセスキー・リージョン・出力フォーマットを設定
$ aws configure
AWS Access Key ID [None]: ***********************
AWS Secret Access Key [None]: ***********************
Default region name [None]: ap-northeast-1
Default output format [None]: json
##profileとして使い分け
下記はadminの設定をして、使用している。
$ aws configure --profile admin
$ aws ******* --profile admin
#基本使用
##--filters
条件指定検索
下記は名前がMain-keyのキーペアを参照する
$ aws ec2 describe-key-pairs --filters "Name=key-name,Values=Main-key"
##--query
出力結果絞り込み
下記はキーペアの名前のみ表示
$ aws ec2 describe-key-pairs --query 'KeyPairs[].KeyName'
#VPCの構築
##VPCの作成
下記は10.0.0.0/16のVPC作成
$ aws ec2 create-vpc --cidr-block 10.0.0.0/16
##Nameタグ
下記はVPCにNameタグつけてる
$ aws ec2 create-tags --resources vpc-@@@@@@@@ --tags Key=Name,Value=Test-VPC
##subnetの作成
下記はアベイラビリティゾーンAに10.0.0.0/24のsubnetを作成
$ aws ec2 create-subnet --vpc-id vpc-@@@@@@@@ --availability-zone ap-northeast-1a --cidr-block 10.0.0.0/24
##Internet Gatewayの作成
Internet Gatewayの作成とアタッチ
$ aws ec2 create-internet-gateway
$ aws ec2 attach-internet-gateway --internet-gateway-id igw-IIIIIIII --vpc-id vpc-@@@@@@@@
##Routes Tableの作成
Routes Tableの作成とサブネット関連付け、Internet Gatewayへのルーティング
$ aws ec2 create-route-table --vpc-id vpc-@@@@@@@@
$ aws ec2 associate-route-table --route-table-id rtb-RRRRRRRR --subnet-id subnet-AAAAAAAA
$ aws ec2 create-route --route-table-id rtb-RRRRRRRR --destination-cidr-block 0.0.0.0/0 --gateway-id igw-IIIIIIII
#EC2
##キーペアの作成
$ aws ec2 create-key-pair --key-name Test-key --query 'KeyMaterial' --output text > ~/.ssh/Test-key.pem
$ chmod 400 ~/.ssh/Test-key.pem
##セキュリティグループの作成
セキュリティグループの作成とIP確認、インバウンド許可へ登録
$ aws ec2 create-security-group --group-name Test-SG --description "Test-SG" --vpc-id vpc-@@@@@@@@
$ curl http://checkip.amazonaws.com/
$ aws ec2 authorize-security-group-ingress --group-id sg-GGGGGGGG --protocol tcp --port 22 --cidr ***.***.***.***/32
##EC2インスタンス作成
EC2インスタンス作成と接続
パブリックIPいらなかったら後ろの「--asso~~」を除く
$ aws ec2 run-instances --image-id ami-59bdb937 --count 1 --instance-type t2.micro --key-name Test-key --security-group-ids sg-GGGGGGGG --subnet-id subnet-AAAAAAAA --associate-public-ip-address
$ ssh -i ~/.ssh/Test-key.pem ec2-user@***.***.***.***
##EC2インスタンスの起動と停止と削除
これらは過去のページには載せてないのですがよく使うので
$ aws ec2 start-instances --instance-ids i-HHHHHHHH
$ aws ec2 stop-instances --instance-ids i-HHHHHHHH
$ aws ec2 terminate-instances --instance-ids i-HHHHHHHH
##インスタンスのAMIを作成
$ aws ec2 create-image --instance-id i-HHHHHHHH --no-reboot --name test_web_server
#ELB
##ELBの作成
ELBの作成とインスタンスの追加
$ aws elb create-load-balancer --load-balancer-name Test-Web-elb --listeners Protocol=HTTP,LoadBalancerPort=80,InstanceProtocol=HTTP,InstancePort=80 --tag Key=Name,Value=Test-Web-elb --subnets subnet-AAAAAAAA subnet-BBBBBBBB --security-groups sg-ESESESES
$ aws elb register-instances-with-load-balancer --load-balancer-name Test-Web-elb --instances i-HHHHHHHH
##クロスゾーン負荷分散有効化
Cross-Zone Load Balancing
$ aws elb modify-load-balancer-attributes --load-balancer-name Test-Web-elb --load-balancer-attributes "{\"CrossZoneLoadBalancing\":{\"Enabled\":true}}"