この記事について
JAWS-UG CLI専門支部 #76 AppStream 2.0入門で実施するハンズオン用の手順書です。
前提条件
必要な権限
作業にあたっては、以下の権限を有したIAMユーザもしくはIAMロールを利用してください。
- AppStream(2.0)のフルコントロール権限
- EC2のフルコントロール権限
- CloudFormationの関するフルコントロール権限
- IAMの関するフルコントロール権限
0. 準備
0.1. リージョンを指定
コマンド
export AWS_DEFAULT_REGION="ap-northeast-1"
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.35 Python/2.7.12 Linux/4.4.35-33.55.amzn1.x86_64 botocore/1.4.92
0.4. バージョンアップ(必要に応じて)
コマンド
sudo pip install -U awscli
1. Fleetの削除
1.1. Fleetの停止
Fleetを削除するにあたり、Fleetを停止させる必要があります。
変数の確認
コマンド
cat << ETX
FLEET_NAME: ${FLEET_NAME}
ETX
結果
FLEET_NAME: FLEET_JAWSUG_CLI
Fleetの停止
コマンド
aws appstream stop-fleet \
--name ${FLEET_NAME}
結果
(返値無し)
停止するまでしばらく待ちます。(5分くらいかかります)
Fleetの状態の確認
StateがSTOPPEDになってることを確認します。(STOPPEDにならないと削除できません。)
コマンド
aws appstream describe-fleets \
--names ${FLEET_NAME}
結果
{
"Fleets": [
{
"ComputeCapacityStatus": {
"Available": 1,
"Desired": 2,
"Running": 1,
"InUse": 0
},
"DisplayName": "JAWSUG_CLI",
"Name": "JAWSUG_CLI",
"VpcConfig": {
"SubnetIds": [
"subnet-6bfc381d",
"subnet-d0071089"
]
},
"FleetErrors": [],
"DisconnectTimeoutInSeconds": 900,
"State": "STOPPING",
"ImageName": "Amazon-AppStream2-Sample-Image-12-15-2016",
"CreatedTime": 1483117639.89,
"MaxUserDurationInSeconds": 3600,
"InstanceType": "stream.standard.medium",
"Arn": "arn:aws:appstream:ap-northeast-1:788063364413:fleet/JAWSUG_CLI",
"Description": "A fleet for test at jaws-ug"
}
]
}
1.2. StackとFleetの関連づけを解除
変数の確認
コマンド
cat << ETX
FLEET_NAME: ${FLEET_NAME}
STACK_NAME: ${STACK_NAME}
ETX
結果
FLEET_NAME: FLEET_JAWSUG_CLI
STACK_NAME: STACK_JAWSUG_CLI
StackとFleetの関連づけを解除
コマンド
aws appstream disassociate-fleet \
--fleet-name ${FLEET_NAME}\
--stack-name ${STACK_NAME}
結果
(返値無し)
Fleetに関連づけられたStackの確認
コマンド
aws appstream list-associated-stacks \
--fleet-name ${FLEET_NAME}
結果
{
"Names": []
}
Stackに関連づけられたFleetの確認
コマンド
aws appstream list-associated-fleets \
--stack-name ${STACK_NAME}
結果
{
"Names": []
}
1.3. Fleetの削除
変数の確認
コマンド
cat << ETX
FLEET_NAME: ${FLEET_NAME}
ETX
結果
FLEET_NAME: FLEET_JAWSUG_CLI
Fleetの削除
コマンド
aws appstream delete-fleet \
--name ${FLEET_NAME}
結果
(返値無し)
Fleetが削除されたことを確認
コマンド
aws appstream describe-fleets \
--query Fleets[?Name==\`${FLEET_NAME}\`]
結果
[]
2. Stackの削除
変数の確認
コマンド
cat << ETX
STACK_NAME: ${STACK_NAME}
ETX
結果
STACK_NAME: STACK_JAWSUG_CLI
Stackの削除
コマンド
aws appstream delete-stack \
--name ${STACK_NAME}
(返値無し)
Stackが削除されたことを確認
コマンド
aws appstream describe-stacks \
--query Stacks[?Name==\`${STACK_NAME}\`]
結果
[]
以上