詳細検索

Notas de Investigação e Atualização do Grupo de Segurança AWS

Avatar
por komi
5 min de leitura

Notas de Investigação e Atualização do Grupo de Segurança AWS
Traduzido do 日本語 • Ver original

Olá. Aqui é a Komiya.

O que vou introduzir desta vez é não atualizar as regras no arquivo do grupo com o piculet. Quero organizar ou deletar um pouco, mas é muito para fazer manualmente, estou preocupado com falhas de operação, é demorado e quero ir para casa rápido, então se você quiser verificar qual está ligado a tudo de uma vez, ou se quiser atualizar em massa, é uma forma de fazer isso com um loop for e CLI. Ao solicitar um relaxamento do limite superior do SecurityGroup, você precisa fazer esse tipo de trabalho quando o desempenho da comunicação estiver atrapalhando a escrita do SG.

Não sou do tipo que usa muito bem, mas vou postar por enquanto. Por favor, use por sua conta e risco. Parece que há muitas pessoas fazendo coisas parecidas e conhecendo métodos mais sofisticados. Sinto que o Sr. Inada e outros membros da equipe de cooperação conhecem melhor nossa empresa. Masakari te dá as boas-vindas. Quando perguntei ao Sr. Inada, ele me disse para usar mais 'join' no texto, então acho que ele vai escrever algo em breve.

Obtenção de informações de instância vinculadas ao ID do SecurityGroup

Acho que isso pode ser feito facilmente porque ele só recebe informações existentes e não as atualiza. Primeiro, faça uma lista (coloque a Lista de Informações que você quer deletar)

vi listfile
SG-xxxxxxxx,SG_hoge_dev1
Sg-yyy, SG_fuga_dev2
... 

lista=listfile
perfil=xxxx

Carregue a lista e execute describe-instances

para i em 'cat $list|grep -v elb'
faça
groupid='echo $i |awk -F, '{print $1}''
groupname='echo $i |awk -F, '{print $2}''
Eco $i
AWS EC2 describe-instances --profile ${profile} --filters Name=instance.group-id,Values=$groupid --output text \ 
--consultar 'Reservations[]. Instances[*]. [InstanceId,PrivateIpAddress,Tags[? Chave=='Nome']. Value[]]' --output json \ 
|sed -e '/\]/d' -e '/\[/d' -e '/^$/d' -e 's/ //g'|perl -pe 's/,[ ]*\n/,/g'|sort -t , -k 3
eco "" 
Feito

Ele é usado para criar um arquivo de lista a partir dos resultados e remover ou substituir o SG.

Obter informações do ELB vinculadas ao ID do SecurityGroup
pois eu em 'Cat $list'
faça
groupid='echo $i |awk -F, '{print $1}''
groupname='echo $i |awk -F, '{print $2}''
Eco $i
AWS ELB Describe-Load-Balancers --profile ${profile} \ 
--consulta 'DescriçõesDeBalanceador[*]. [NomeBalanceadorCarga,GruposDeSegurança]' --saída=json \ 
|sed -e 's/\[//g' -e 's/\],//g' -e 's/\]//g' -e 's/ //g'|perl -pe "s/,\n/,/g" \ 
|sed -e '/^$/d'|perl -pe 's/,\n/,/g'|grep $groupid
eco "" 
Feito

Ele é usado para criar um arquivo de lista a partir dos resultados e remover ou substituir o SG.

Alterar o SecurityGroup de uma instância para um SecurityGroup específico

Por favor, use por sua conta e risco.

lista=xxxxx

para i em 'cat $list|grep -v xxxxx'
faça
instanceID='Echo $i|awk -F, '{print $1}'|sed -e 's/"//g''
attached_groups='aws ec2 describe-instance-attribute --instance-id ${instanceid} --attribute groupSet --profile ${profile} --output=text|grep GROUPS|awk '{print $2}'|perl -pe 's/\n/ /g''
add_groupid="sg-xxxxxxxx" 
groupIDS='echo ${add_groupid}'
Eco $i
echo "curgroupids: ${attached_groups}" 
echo "newgroupids: ${groupids}" 
AWS EC2 modificação-instância-atributo ---instância-ID ${instanceID} --grupos ${groupids} --profile ${profile} --no-dry-run
Echo "Resultado:" 
aws ec2 describe-instance-attribute --instance-id ${instanceid} --attribute groupSet --profile ${profile} --output=text|grep GROUPS|awk '{print $2}' 
eco "" 
Feito

*Se quiser verificar apenas a situação atual, por favor remova a linha de modificação-instância-atributo e execute-a. Por favor, altere a string literal conforme apropriado.

Remover um Grupo de Segurança específico do Grupo de Segurança da instância
para i em 'cat $list|grep xxxxxxx'
faça
instanceID='Echo $i|awk -F, '{print $1}'|sed -e 's/"//g''
attached_groups='aws ec2 describe-instance-attribute --instance-id ${instanceid} --attribute groupSet --profile ${profile} --output=text|grep GROUPS|awk '{print $2}'|perl -pe 's/\n/ /g''
groupIDS='Echo ${attached_groups}|sed -e 's/SG-aaaaa//g'|tr -s ' ''
Eco $i
echo "curgroupids: ${attached_groups}" 
echo "newgroupids: ${groupids}" 
AWS EC2 modificação-instância-atributo ---instância-ID ${instanceID} --grupos ${groupids} --profile ${profile} --no-dry-run
Echo "Resultado:" 
aws ec2 describe-instance-attribute --instance-id ${instanceid} --attribute groupSet --profile ${profile} --output=text|grep GROUPS|awk '{print $2}' 
eco "" 
Feito

*Se quiser verificar apenas a situação atual, por favor remova a linha de modificação-instância-atributo e execute-a. Por favor, altere a string literal conforme apropriado.

Alterar o Grupo de Segurança do ELB para um Grupo de Segurança específico
para i em 'cat $list|grep ELB'
faça
elbname='echo $i|awk -F, '{print $1}'|sed -e 's/"//g''
add_groupid="sg-bbbbbbbb" 
Eco $elbname
current_groups='aws elb describe-load-balancers-load-balancers --profile ${profile} --load-balancer-names ${elbname} --consultar 'LoadBalancerDescriptions[*]. [LoadBalancerName,SecurityGroups]' --output=text|grep sg-|sed -e 's/\t/ /''
newgroupids='echo ${add_groupid}'
echo "curgroupid: ${current_groups}" 
Echo "NewGroupID: ${NewGroupIDS}" 
AWS ELB apply-security-groups-to-load-balancer --load-balancer-name ${elbname} --security-groups ${newgroupids} --profile ${profile}
Echo "Resultado:" 
AWS ELB Describe-Load-Balancers ---profile ${profile} --load-balancer-names ${elbname} --consulta 'LoadBalancerDescriptions[*]. [LoadBalancerName,SecurityGroups]' --output=text|grep sg- 
eco "" 
Feito

*Se quiser verificar apenas a situação atual, por favor, desmarque a linha em apply-security-groups-to-load-balancer e execute-a. Por favor, mude a string literal conforme apropriado.

Remover um Grupo de Segurança específico do Grupo de Segurança do ELB
para i em 'cat $list|grep ELB'
faça
elbname='echo $i|awk -F, '{print $1}'|sed -e 's/"//g''
Eco $elbname
current_groups='aws elb describe-load-balancers-load-balancers --profile ${profile} --load-balancer-names ${elbname} --consultar 'LoadBalancerDescriptions[*]. [LoadBalancerName,SecurityGroups]' --output=text|grep sg-|sed -e 's/\t/ /''
newgroupIDS='Echo ${current_groups}|sed -e 's/SG-cccccccc//g'|tr -s ' ''
echo "curgroupid: ${current_groups}" 
Echo "NewGroupID: ${NewGroupIDS}" 
AWS ELB apply-security-groups-to-load-balancer --load-balancer-name ${elbname} --security-groups ${newgroupids} --profile ${profile}
Echo "Resultado:" 
AWS ELB Describe-Load-Balancers ---profile ${profile} --load-balancer-names ${elbname} --consulta 'LoadBalancerDescriptions[*]. [LoadBalancerName,SecurityGroups]' --output=text|grep sg- 
eco "" 
Feito

*Se quiser verificar apenas a situação atual, por favor desinstale a linha em apply-security-groups-to-load-balancer e rode ela. Por favor, mude a string literal conforme necessário. Se não fizer sentido, acho que seria uma boa ideia canalizar até um ponto onde você possa ver ajuda ou homem, e cortar a parte por onde você passa para ver o resultado da execução. Se você digitar aws elb describe-load-balancers help, o manual será exibido.

Obrigado por assistir.

Related Articles