😄
【AWSCLI】ALBのリスナールールの優先順位を設定する
はじめに
AWSCLIでALBのリスナールールの優先順位を設定する方法について記載したいと思います。
前提
- AWSCLIのバージョン
バージョン
$ aws --version
aws-cli/2.7.31 Python/3.10.7 Darwin/22.6.0 source/x86_64 prompt/off
- 以下3つのリスナールールの優先順位を入れ替える。
実行コマンド
AWSCLIでリスナールールのpriorityを設定する際には、以下コマンドを実行します。
- 1つのリスナールールのpriorityを設定する場合
コマンド
aws elbv2 set-rule-priorities --rule-priorities RuleArn=<リスナールールARN>,Priority=<数字>
複数のリスナールールにpriorityを設定したい場合は、以下のように記載します。
コマンド
aws elbv2 set-rule-priorities --rule-priorities RuleArn=<リスナールールARN>,Priority=<数字> RuleArn=<リスナールールARN>,Priority=<数字>
リスナールールarnは、以下の赤枠の部分をクリックして取得します。
1.リスナールール全てのpriorityを変更する
リスナールール全て(3つ)の優先順位を変更する。
- 設定
トラブルページ > 通常ページ > メンテナンスページ という優先順位にする。
コマンド
aws elbv2 set-rule-priorities --rule-priorities RuleArn=<トラブルページARN>,Priority=1 RuleArn=<通常ページARN>,Priority=2 RuleArn=<メンテナンスページARN>,Priority=3
実行例
$ aws elbv2 set-rule-priorities --rule-priorities RuleArn=<トラブルページARN>,Priority=1 RuleArn=<通常ページARN>,Priority=2 RuleArn=<メンテナンスページARN>,Priority=3
{
"Rules": [
{
"RuleArn": "<トラブルページARN>",
"Priority": "1",
"Conditions": [
{
"Field": "path-pattern",
"Values": [
"/test"
],
"PathPatternConfig": {
"Values": [
"/test"
]
}
}
],
"Actions": [
{
"Type": "fixed-response",
"Order": 1,
"FixedResponseConfig": {
"MessageBody": "Trouble",
"StatusCode": "503",
"ContentType": "text/plain"
}
}
],
"IsDefault": false
},
{
"RuleArn": "<通常ページARN>",
"Priority": "2",
"Conditions": [
{
"Field": "path-pattern",
"Values": [
"/test"
],
"PathPatternConfig": {
"Values": [
"/test"
]
}
}
],
"Actions": [
{
"Type": "forward",
"TargetGroupArn": "<TargetGroupArn>",
"Order": 1,
"ForwardConfig": {
"TargetGroups": [
{
"TargetGroupArn": "<TargetGroupArn>",
"Weight": 100
}
],
"TargetGroupStickinessConfig": {
"Enabled": false,
"DurationSeconds": 3600
}
}
}
],
"IsDefault": false
},
{
"RuleArn": "<メンテナンスページARN>",
"Priority": "3",
"Conditions": [
{
"Field": "path-pattern",
"Values": [
"/test"
],
"PathPatternConfig": {
"Values": [
"/test"
]
}
}
],
"Actions": [
{
"Type": "fixed-response",
"Order": 1,
"FixedResponseConfig": {
"MessageBody": "maintenance",
"StatusCode": "503",
"ContentType": "text/plain"
}
}
],
"IsDefault": false
}
]
}
2.一部のリスナールールのpriorityを変更する
- 設定
通常ページの優先順位を一番下にする。(priotiryを10
に設定)
コマンド
aws elbv2 set-rule-priorities --rule-priorities RuleArn=<リスナールールARN>,Priority=10
実行例
aws elbv2 set-rule-priorities --rule-priorities RuleArn=<リスナールールARN>,Priority=10
{
"Rules": [
{
"RuleArn": "<通常ページARN>",
"Priority": "10",
"Conditions": [
{
"Field": "path-pattern",
"Values": [
"/test"
],
"PathPatternConfig": {
"Values": [
"/test"
]
}
}
],
"Actions": [
{
"Type": "forward",
"TargetGroupArn": "<TargetGroupArn>",
"Order": 1,
"ForwardConfig": {
"TargetGroups": [
{
"TargetGroupArn": "<TargetGroupArn>",
"Weight": 100
}
],
"TargetGroupStickinessConfig": {
"Enabled": false,
"DurationSeconds": 3600
}
}
}
],
"IsDefault": false
}
]
}
参考
Discussion