티스토리 뷰
파일 저장 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만 추가해 주면 된다.
잘 된 것 같다.
이 내용들은 그냥 선언할 때 비해서 재사용과 수정이 편하고 양도 줄었지만, 아직 써야할 내용이 많다.
자료구조를 조금 더 만져서 각각의 보안그룹을 다시 한번 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
- JOIN
- 서브네팅
- 추가변수
- DBMS
- 방화벽
- named.conf
- CCNA 1년 도전기
- destination /etc not writable
- ansible
- GROUP BY
- OSI 7계층
- WordPress
- mariaDB
- getsebool
- WAN
- dns
- permission
- OSI
- IP
- 앤서블
- 프로토콜
- Database
- 그룹변수
- TCP
- zon
- 플레이변수
- Lan
- tar
- 캐싱네임서버
- 호스트변수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |