LoginSignup
0
0

More than 5 years have passed since last update.

[JAWS-UG CLI]Amazon AppStream 2.0 入門 (5) FleetおよびStackの更新

Last updated at Posted at 2017-01-18

この記事について

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. 新しいCompute Capacityの指定

Compute Capacityの指定

コマンド
COMPUTE_CAPACITY_2="2"
COMPUTE_CAPACITY_FILE_NAME_2="compute_capacity_2.json"
コマンド
cat << EOF > ${COMPUTE_CAPACITY_FILE_NAME_2}
{
    "DesiredInstances": ${COMPUTE_CAPACITY_2}
}
EOF

cat ${COMPUTE_CAPACITY_FILE_NAME_2}
結果
{
    "DesiredInstances": 2
}
コマンド
jsonlint -q ${COMPUTE_CAPACITY_FILE_NAME_2}

変数の確認

コマンド
cat << ETX

    FLEET_NAME: ${FLEET_NAME}
    COMPUTE_CAPACITY_FILE_NAME_2: ${COMPUTE_CAPACITY_FILE_NAME_2}

ETX
結果

    FLEET_NAME: FLEET_JAWSUG_CLI
    COMPUTE_CAPACITY_FILE_NAME_2: compute_capacity_2.json

Fleetの更新

一旦Availableが0になり、Fleetが追加されるようです。(時間かかるため、Fleetが完全に利用できるようになる前に削除の手順に進みます。)

コマンド
aws appstream update-fleet \
    --name ${FLEET_NAME} \
    --compute-capacity file://${COMPUTE_CAPACITY_FILE_NAME_2}
結果
{
    "Fleet": {
        "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": "RUNNING",
        "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"
    }
}

2. Stackの更新

2.1. 新しいStack表示名および詳細の指定

Stack表示名および詳細の指定

コマンド
STACK_DESCRIPTION_2="A stack for test at jaws-ug cli"
STACK_DISPLAY_NAME_2="JAWSUG_CLI_2"

変数の確認

コマンド
cat << ETX

    STACK_DISPLAY_NAME_2: ${STACK_DISPLAY_NAME_2}
    STACK_DESCRIPTION_2: ${STACK_DESCRIPTION_2}
    STACK_NAME: ${STACK_NAME}

ETX
結果

    STACK_DISPLAY_NAME_2: JAWSUG_CLI_2
    STACK_DESCRIPTION_2: A stack for test at jaws-ug cli
    STACK_NAME: STACK_JAWSUG_CLI

Stackの更新

コマンド
aws appstream update-stack \
    --display-name ${STACK_DISPLAY_NAME_2} \
    --description "${STACK_DESCRIPTION_2}" \
    --name ${STACK_NAME}
結果
{
    "Stack": {
        "CreatedTime": 1483115244.642,
        "DisplayName": "JAWSUG_CLI_2",
        "Name": "JAWSUG_CLI",
        "Arn": "arn:aws:appstream:ap-northeast-1:788063364413:stack/JAWSUG_CLI",
        "Description": "A stack for test at jaws-ug cli"
    }
}

以上

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