티스토리 뷰

클라우드 국비 과정/AWS

AWS 8일차_2025_04_23

메가커피 2025. 4. 23. 20:38

파일 저장 json 형식으로 인코딩해서 저장해라

 

반복문을 사용해서 들어오는 인자인 s(local.names의 원자들)를 대문자로 변경해서 인코딩해라

list의 경우

names = ["a", "b", "c"]

for x in names

x = a

x = b

x = c

 

for x, y in names

x = 0 y = a

x = 1 y = b

 x= 2 y = 3

인덱스와 값을 반환한다.

(순서 지향)

 

map형의 경우

scores = {"kor" : 88, "eng":89, "math":83}

for x, y in names

x = kor y = 88

x = eng y = 89

 x= math y = 83

 

키와 벨류의 형태로 출력된다.

 

set 형의 경우 키에 대한 반환


for 문의 규칙

list 유형에서 변수가 하나라면 값을, 두 개라면 인덱스(i), 값(v)을 반환해 준다.

 

map 유형의 경우 변수가 하나라면 키만, 두 개라면 키와 값을 반환한다.

 

for 문이 []에 있을 시 tuple 형태로 반환되고 {}문에 있을 시 object 형식으로 반환된다.

{for 변수 in names: 키 => 값 }

 

선언한 내용

 

리스트 안에 포매팅해서 원소로 선언된 모습이다.

 

리스트 안에 리스트에 각 원소로 선언된 모습이다.

 

사전형 안에 각각 v.id를 사전형의 key로 사용하고 그 안에 사전형으로 key = value 형식으로 저장된 형태

반복문으로 포메팅해서 리스트 안에 출력한 모습

sum() 함수 사용

 

반복문을 리스트 형태로 만들고 리스트 안에 value값을만 리스트로 만든 형태

if 문을 섞어서 

[for 변수 in 목록: 


dynamic

리소스를 반복하지 않고 리소스 내부의 블록을 반복시키는 것

 

만약 반복문 없이 보안그룹을 설정한다면 코드가 길어질 것이다.

 

그리고 리소스 전부가 반복되는 것이 아니기에 count나 for_each, for문을 사용하기도 제한적이다.

 

보안그룹을 dynamic 없이 만들어보자

 

web 보안그룹을 생성한 뒤

 

outbound traffic을 생성하고, db그룹도 마저 생성해 주자

 

물론 잘 만들어지지만, 반복되는 코드 중 바뀌는 부분은 일부분이다.

반복할 수 있다면 코드가 엄청 줄어들것이다.

이제 보안 그룹 생성을 모듈으로 처리해 보자

 

몇 개의 ingress룰이 생성될지 모르기 때문에 dynamic을 사용한다.

for_each에 sg.ingress_rules를 넣어준 뒤(map형)

내부는 각각의 필요한 원자에 참조값들을 대입해 준다.

 

변수는 동일하나 sg 부분에 들어가야 할 보안그룹의 상세 내용을 살펴보자

 

보안그룹의 타입은 object 형으로 정해진 구조체가 존재한다.

내부는 ingress와 egress로 나뉜 뒤

각각을 map형 object로 선언하여 내부에 키 - value(any) 형태로 선언이 되어있다.

 

모듈화를 해놓았다면 source로 위치를 불러오고 필요한 변수를 넣어주면 된다.

 

db를 추가할 때 모듈에서의 선언은 이렇다.

 

실제 seoul에서의 객체의 값은 이러하다.


원격 접속

telnet : 23

ssh : 22

rdp : 3389

vnc : 5900 

을 추가해 보자

 

할 내용은 순차적으로 보안 그룹의 main 파일에서 리소스를 하나 생성해 주고 이런 식으로 꾸며주면 된다.

그리고 이 내용에 해당하는 변수 3개를 variable에 선언해 준 뒤

 

실행할 지점의 variable에 똑같이 붙여 넣어 주고 모듈은 이미 있으니 tfvars만 추가해 주면 된다.

name이 짤림

잘 된 것 같다.

 

이 내용들은 그냥 선언할 때 비해서 재사용과 수정이 편하고 양도 줄었지만, 아직 써야할 내용이 많다.


자료구조를 조금 더 만져서 각각의 보안그룹을 다시 한번 map 형으로 키 벨류 형태로 만들면

그 자료구조를 반복하여 for_each로 하나의 코드로 만들 수 있다.

 

각각의 자료였던 내용을 value로 바꾸고 각 보안그룹에 알맞은 이름을 key값으로 사용했다.

 

전체적인 sgs 모듈의 for_each로, 보안그룹별로 반복하고 내부 원소(키-벨류)값으로

또 for_each를 하는 2중 for 문과 유사한 모습을 가진 형태이다.

 

서울에서 지급해 줄 것은 똑같이 모듈에 대한 변수만 주면 되며

 

여기서 바꿔줄 것은 자료구조를 map으로 감싸주면 된다.

 

아웃바운트 트래픽과 에코 요청 트래픽을 추가해 주자

 

'클라우드 국비 과정 > AWS' 카테고리의 다른 글

AWS 10일차_2025_04_25  (1) 2025.04.25
AWS 9일차_2025_04_24  (1) 2025.04.24
AWS 7일차_2025_04_22  (1) 2025.04.22
AWS 6일차_2025_04_21  (0) 2025.04.21
AWS 5일차_2025_04_18  (0) 2025.04.18
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함