この記事について
JAWS-UG CLI専門支部 #90 Kinesis Firehose 復習編で実施するハンズオン用の手順書です。
前提条件
必要な権限
作業にあたっては、以下の権限を有したIAMユーザもしくはIAMロールを利用してください。
- 以下のサービスに対するフルコントロール権限
- Kinesis Firehose
- IAM
- EC2
- S3
- CloudWatch Logs
- STS
- (Lambda)
- データの変換を行う場合
- (KMS)
- データの暗号化を行う場合
0. 準備
0.1. リージョンを指定
オレゴンリージョンで実施します。(東京マダー?)
コマンド
export AWS_DEFAULT_REGION="us-west-2"
0.2. 資格情報を確認
コマンド
aws configure list
インスタンスプロファイルを設定したEC2インスタンスでアクセスキーを設定せずに実行した場合、以下のようになります。
結果
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key ****************QSAA iam-role
secret_key ****************c1xY iam-role
region us-west-2 env AWS_DEFAULT_REGION
0.3. バージョン確認
コマンド
aws --version
結果
aws-cli/1.11.129 Python/2.7.12 Linux/4.9.38-16.33.amzn1.x86_64 botocore/1.5.92
0.4. バージョンアップ(必要に応じて)
コマンド
sudo pip install -U awscli
0.5. 変数の確認
コマンド
cat << ETX
CF_STACK_NAME: ${CF_STACK_NAME}
ETX
1. Stackの削除
1.1. Stackの削除
Stack名の確認
コマンド
cat << ETX
CF_STACK_NAME: ${CF_STACK_NAME}
ETX
結果
CF_STACK_NAME: firehose-jawsug-cli
Stackの確認
コマンド
aws cloudformation describe-stacks \
--stack-name ${CF_STACK_NAME}
結果
{
"Stacks": [
{
"StackId": "arn:aws:cloudformation:us-west-2:XXXXXXXXXXXX:stack/firehose-jawsug-cli/5d4aac10-7aba-11e7-bd3e-50a686be738e",
"Description": "JAWS-UG CLI Kinesis Firehose Hands-on",
"Parameters": [
{
"ParameterValue": "XXXXXXXXXXXX_firehose_jawsug_cli",
"ParameterKey": "KeyPairName"
},
{
"ParameterValue": "10.0.0.0/16",
"ParameterKey": "VPCNetworkAddress"
},
{
"ParameterValue": "10.0.0.0/24",
"ParameterKey": "PublicSubnetAddr"
}
],
"Tags": [],
"Outputs": [
{
"OutputKey": "PublicIP",
"OutputValue": "34.209.250.207"
},
{
"OutputKey": "IAMRoleARN",
"OutputValue": "arn:aws:iam::XXXXXXXXXXXX:role/service-role-firehose"
},
{
"OutputKey": "S3BucketName",
"OutputValue": "firehose-jawsug-cli-s3bucket-1qtuo76w7zanq"
}
],
"CreationTime": "2017-08-06T15:17:30.587Z",
"Capabilities": [
"CAPABILITY_NAMED_IAM"
],
"StackName": "firehose-jawsug-cli",
"NotificationARNs": [],
"StackStatus": "CREATE_COMPLETE",
"DisableRollback": false
}
]
}
Stackの削除
コマンド
aws cloudformation delete-stack \
--stack-name ${CF_STACK_NAME}
Stackの削除を待機
コマンド
aws cloudformation wait stack-delete-complete \
--stack-name ${CF_STACK_NAME}
【注意】スタックを完全に削除できない場合があります。原因を解消し再試行してください。
想定される原因として、以下の様なものが考えられます。
- S3バケットにデータが残っている
- IAMロールにCloudFormation以外の手段でポリシーをアタッチしている
Stackの確認
コマンド
aws cloudformation describe-stacks \
--stack-name ${CF_STACK_NAME}
結果
An error occurred (ValidationError) when calling the DescribeStacks operation: Stack with id firehose-jawsug-cli does not exist
以上