VPC設定の確認
アプリケーションポッド、kube-dnsサービス、CoreDNSポッド間のDNSトラフィックは、多くの場合、複数のノードやVPCサブネットを通過します。VPCレベルでDNSトラフィックが自由に流れることができることを確認する必要があります。
備考
ネットワークトラフィックをフィルタリングする2つの主なVPCコンポーネント:
- セキュリティグループ
- ネットワークACL
ワーカーノードのセキュリティグループとサブネットのネットワークACLの両方が、DNSトラフィック(ポート53 UDP/TCP)を双方向で許可していることを確認する必要があります。
ステップ1 - ワーカーノードのセキュリティグループを特定する
まず、クラスターワーカーノードに関連付けられているセキュリティグループを特定しましょう。
クラスター作成時、EKSはクラスターエンドポイントと全てのマネージドノードの両方に関連付けられるクラスターセキュリティグループを作成します。追加のセキュリティグループが構成されていない場合、これがワーカーノードのトラフィックを制御する唯一のセキュリティグループです。
~$export CLUSTER_SG_ID=$(aws eks describe-cluster --name $EKS_CLUSTER_NAME --region $AWS_REGION --query "cluster.resourcesVpcConfig.clusterSecurityGroupId" --output text)
~$echo $CLUSTER_SG_ID
sg-xxxxbbda9848bxxxx
次に、ワーカーノードに設定されている追加のセキュリティグループがあるか確認します:
~$aws ec2 describe-instances \
--filters "Name=tag:Name,Values=eks-workshop-default-Node" --query 'Reservations[*].Instances[*].[InstanceId,SecurityGroups[*].GroupId]' \
--output table
--------------------------
| DescribeInstances |
+------------------------+
| i-xxxx2e04aa2baxxxx |
| sg-xxxxbbda9848bxxxx |
| i-xxxx45e34d609xxxx |
| sg-xxxxbbda9848bxxxx |
| i-xxxxdc536ec33xxxx |
| sg-xxxxbbda9848bxxxx |
+------------------------+
ワーカーノードはsg-xxxxbbda9848bxxxxというクラスターセキュリティグループのみを使用していることがわかります。