概要
AWS CodeDeployでは、EC2インスタンスやオンプレミスインスタンスにタグを付けることで、デプロイ対象のインスタンスを柔軟に選択できます。タグを使用することで、目的、所有者、環境などでインスタンスを分類し、効率的なデプロイが可能となります。
タグの基本
- タグ: キーと値のペアで構成
- タググループ: 複数のタグをまとめたもの
- 最大制限: 最大3つのタググループ、各グループに最大10個のタグ
タググループの動作
単一タググループ内の動作(OR条件)
グループ内の少なくとも1つのタグに一致するインスタンスが選択されます。
複数タググループ間の動作(AND条件)
すべてのタググループの条件を満たすインスタンスのみが選択されます。
タググループの動作例
例1: 単一タググループ、単一タグ
タググループ1:
- Name = AppVersion-ABC
結果: Name=AppVersion-ABC
のタグが付いたすべてのインスタンスが選択
例2: 単一タググループ、複数タグ
タググループ1:
- Region = North
- Region = South
- Region = East
結果: 北部、南部、東部のいずれかの地域のインスタンスが選択(OR条件)
例3: 複数タググループ、単一タグ
タググループ1:
- Name = AppVersion-ABC
タググループ2:
- Region = North
タググループ3:
- Type = t2.medium
結果: 3つの条件をすべて満たすインスタンスのみが選択(AND条件)
例4: 複数タググループ、複数タグ
タググループ1(環境):
- Environment = Beta
- Environment = Staging
タググループ2(地域):
- Region = North
- Region = South
- Region = East
タググループ3(インスタンスタイプ):
- Type = t2.medium
- Type = t2.large
選択されるインスタンス例:
-
Environment=Beta
,Region=North
,Type=t2.medium
-
Environment=Staging
,Region=East
,Type=t2.large
-
Environment=Staging
,Region=South
,Type=t2.large
選択されないインスタンス例:
-
Environment=Beta
,Region=West
,Type=t2.medium
(Region=Westは対象外) -
Environment=Staging
,Region=East
,Type=t2.micro
(Type=t2.microは対象外) -
Environment=Production
,Region=South
,Type=t2.large
(Environment=Productionは対象外)
JSON設定例
単一タググループの場合
"ec2TagSet": {
"ec2TagSetList": [
[
{
"Type": "KEY_AND_VALUE",
"Key": "Name",
"Value": "AppVersion-ABC"
}
]
]
}
複数タググループの場合
"ec2TagSet": {
"ec2TagSetList": [
[
{
"Type": "KEY_AND_VALUE",
"Key": "Environment",
"Value": "Beta"
},
{
"Type": "KEY_AND_VALUE",
"Key": "Environment",
"Value": "Staging"
}
],
[
{
"Type": "KEY_AND_VALUE",
"Key": "Region",
"Value": "North"
}
]
]
}
最後に
AWS DOPの勉強をしていて、これに関する内容が出てきました。内容を把握して、試験では確実に解けるようにしておきたいと思います。