반응형

미-중의 빅테크 대전은 흔히 ‘가파(GAFA) 대 바트(BAT)’로 일컬어진다. 가파는 구글·아마존·메타(페이스북)·애플을, 바트는 바이두·알리바바·텐센트를 일컫는다. 여기에 마이크로소프트와 화웨이 또는 샤오미를 덧붙여 ‘가팜(GAFAM) 대 바스(BATH), 바츠(BATS)’로 부르기도 한다. 

요약해보면,

GAFA+M = {Google, Amazon, Facebook(Meta), Apple} + Microsoft

BATX = {Baidu, Alibaba, Tencent} + Huawei or Xiaomi

출처

https://www.leadersleague.com/en/news/gafa-vs-batx-to-rule-them-all

https://www.hani.co.kr/arti/opinion/column/1042137.html

반응형
반응형

NHNCloud Load Balancer - SSL 인증서 변경 방법은 두가지

방법1. Load Balancer 의 리스너에서 변경하기

    Load Balancer 의 리스너 프로토콜이' TERMINATED_HTTPS' 인 리스너에서 '변경' 선택

     

   인증서파일과 암호풀린 개인키파일을 등록

       

   인증서 만료일이 원하는대로 변경됬다면 작업은 성공

   웹사이트의 인증서 정보가 정상 표시되는지 확인되면 진짜 성공 

 

              인증서가 DigiCert등 체인인증서인경우는 cert.pem과 Digicert.pem 파일을 합쳐서 인증서 파일에 등록해야한다. 

             

방법 2.  Certificate Manager를 이용한 방법 

    nhn cloud 설명문서의 Certificate Manager 사용'를 참고하자 : https://docs.nhncloud.com/ko/Network/Load%20Balancer/ko/console-guide/

 

콘솔 사용 가이드 - NHN Cloud 사용자 가이드

Network > Load Balancer > 콘솔 사용 가이드 로드 밸런서 관리 로드 밸런서 생성 NHN Cloud의 로드 밸런서 콘솔에서 설정값들을 입력하는 것만으로 쉽게 로드 밸런서를 생성할 수 있습니다. 로드 밸런서

docs.nhncloud.com

 

기타 . SSL인증서 개인키의 암호 제거하는 방법 - openssl 명령어 사용 -

   원본 key 파일명이 key.pem 이고, 암호는 1234 라고 가정하고, 결과파일을 unlock.key.pem 으로 만들어보자

 $ openssl rsa -in key.pem -out unlock.key.pem
              Enter pass phrase for key.pem: 1234
              writing RSA key

 

 기타.  SSL인증서 개인키에 암호 등록하는 방법 - openssl 명령어 사용 -  
    암호없는 원본 key 파일명이 key.pem 이고, 암호는 1234 라고 가정하고, 결과파일을 lock.key.pem 으로 만들어보자

$ openssl rsa -in key.pem -passout pass:'1234' -out lock.key.pem -des3

 

기타. 웹사이트에서 SSL 인증서 내용 확인
       

 

기타. 인증서를 웹에 등록하기 전에 pem crt 등 파일의 내용을 텍스트로 확인하는 방법
     openssl x509 명령을 이용하여 pem 이나 crt  파일의 내용을 텍스트로 볼 수 있다 

 

반응형
반응형

리눅스의 hostname 변경하는 다양한 방법 (CentOS 5, 6 7, and  Ubuntu 14, 16, 18, 20)

hostname 변경은 리눅스 버전별로 다른 방법이 있다.
 - 임시 변경 : 서버 리부팅되면 원래 이름으로 복구된다
 - 영구 변경 1 : hostname 저장파일을 수정하고 리부팅한다
 - 영구 변경 2 : ubuntu의 경우 hostname을 영구 변경하는 명령이 별도로 존재한다

 
1. hostname 확인, 임시 변경하기
 1) hostname 명령으로 확인하기
   리눅스 모든 버전이 동일하다
 
   ----------------------------
   $ sudo hostname
   localhost
   $
   ----------------------------
 
 2) hostname 임시 변경하기 (서버 리부팅 후 원래대로 복구된다)

   hostname을 ramen2-server 로 변경해보자
   ----------------------------
   $ sudo hostname ramen2-server
   
   $ sudo hostname
   ramen2-server
   $
   ----------------------------
   
2. hostname 영구 변경하기

   hostname을 ramen3-server 로 변경해보자
   
   # CentOS 6, Ubuntu 14
   hostname을 정하는 파일은  network, hosts 파일이다.
   두 파일을 수정한 후, 서버 재시작하면 적용된다.   
   
   ----------------------------
   $ sudo vi /etc/sysconfig/network
   HOSTNAME=ramen3-server
   $   
   $ sudo vi /etc/hosts
   127.0.0.1 localhost  
   192.168.10.123 ramen3-server
   ----------------------------
    
   
   # CentOS 7, CentOS 8, Ubuntu 16, Ubuntu 18, Ubuntu 20
   
   hostname을 정하는 파일은 hostname, hosts 파일이다.
   두 파일을 수정한 후, 서버 재시작하면 적용된다.
   ----------------------------
   $ sudo vi /etc/hostname
   ramen3-server
   $   
   $ sudo vi /etc/hosts
   127.0.0.1 localhost  
   192.168.10.123 ramen3-server
   ----------------------------
   
   or
      
   ----------------------------
   $ hostnamectl set-hostname ramen3-server  // this command changes hostname file
   $   
   $ sudo vi /etc/hosts
   127.0.0.1 localhost  
   192.168.10.123 ramen3-server
   ----------------------------
   
  

반응형
반응형

리눅스 OS (CentOS, Ubuntu) 버전별 커널버전 비교

CentOS-5 : linux kernel 2.6.18 ~
CentOS-6 : linux kernel 2.6.32 ~
CentOS-7 : linux kernel 3.10 ~
CentOS-8 : linux kernel 4.16 ~
 
Ubuntu 14.04.0, 14.04.1 : linux kernel 3.13
Ubuntu 14.04.5, 16.04.0, 16.04.1 : linux kernel 4.4
Ubuntu 16.04.5, 18.04.0, 18.04.1 : linux kernel 4.15
Ubuntu 18.04.5, 20.04.0, 20.04.1 : linux kernel 5.4
Ubuntu 20.04.2, 20.10 : linux kernel 5.8
Ubuntu 20.04.3, 21.04 : linux kernel 5.11
Ubuntu 20.04.4, 21.10 : linux kernel 5.13
Ubuntu 22.04.0, 20.04.5 : linux kernel 5.15


참고
 . ubuntu kernel : https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle
 . centos version : https://en.wikipedia.org/wiki/CentOS#CentOS_version_7
 
 
  

반응형
반응형

init 명령은 시스템을 종료, 재시작 등에 사용한다

init 명령의 옵션은 아래와 같다

  예) # init 0
 
  옵션 번호는 아래와 같다
    0 : halt (시스템 종료)
    1 : single user mode, 싱글 모드로 쉘로 바로 부팅, 복구시 주로 사용
    2 : multiuser mode without using NFS
    3 : multiuser mode console booting
    4 : no served
    5 : Muntiuser mode and X-windows booting
    6 : reboot


명령어 사용을 예를 들어보면,

1. 시스템 종료 명령
 - 즉시 종료 명령
  # shutdown -h now

  # halt
 
  # init 0

 - 예약 종료 명령

  # shutdown -h +10  // 10분 후 종료 (h = halt)

  # shutdown -r 22:00  // 22시정각에 재부팅 (r = reboot)

  # shutdown -c   // shutdown 취소 (c = cancel)
 
  # shutdown -k now  // 터미널 접속자에게 종료 메시지를 보낸다, 실제는 종료되지 않음)
 
 
2. 시스템 재부팅

  # shutdown -r now

  # reboot

  # init 6

 

반응형
반응형

기업용 위키인 atlassian wiki 를 사용해보면, 

내가 작성한 문서이거나, 내 문서가 아니라도 코멘트를 달았거나, 지켜보기 혹은 관찰하기를 표시해둔 문서를 누군가 수정하면, 내게 알림 메일이 오게 된다.

이 기능은 내가 참여하는 프로젝트에서 문서 업데이트를 빠르게 확인하기 위해 필요하고 좋은 기능인데, 하지만, 내 역할이 완료되고 다음 담당자에게 넘어간 프로젝트 문서에서도 문서 수정 알림 메일을 계속 받는 것은 불편할 수 있다.

프로젝트에서 떠났을 때 내가 지켜보기를 선택했던 문서들마다 찾아가서 지켜보기를 중단하거나, 댓글 알림을 안받고 싶다거나 한다면, 환경설정에서 이메일 수신 범위나 지켜보기를 했던 문서 목록을 보면서 조절을 할 수 있다.

이 부분을 확인해보자.

[이메일 설정] 메뉴

My Profile > Settings(환경설정) > Email > Edit

어떤 기능의 이메일을 받을 것인지 정할 수 있다.

 

 

[지켜보기] 메뉴

My Profile > Settings(환경설정) > Notification(지켜보기)

내가 '지켜보기' 를 선택했던 모든 문서 목록을 보여주고, 지켜보기 기능을 중단시킬 수 있다. 

 

도움이 되셨길 . . . 

반응형
반응형

이 주제에서는, 여러개의 NIC에 각각 IP주소를 설정하는 것과, 하나의 NIC에 여러개의 IP주소를 설정하는것을 알아본다.

먼저 서버에 어떤 Network Interface가 있는지 확인해보자.

Case1. 복수개의 물리적인 Network Interface가 있는 경우:

여러개의 물리적인 Network Interface를 사용할 수 있는 경우라면, 
eth0과 eth1에 각각 IP주소 한개씩을 설정할 수 있다.

 

Network Interface 확인하기

$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr D4:AE:52:82:22:8D
          inet addr:192.168.0.70  Bcast:192.168.0.95  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:755405214 errors:0 dropped:0 overruns:0 frame:0
          TX packets:435394530 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:76448404243 (71.1 GiB)  TX bytes:54217830504 (50.4 GiB)

eth1      Link encap:Ethernet  HWaddr D4:AE:52:82:22:8E
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:593638846 errors:0 dropped:0 overruns:0 frame:0
          TX packets:593638846 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:64571677188 (60.1 GiB)  TX bytes:64571677188 (60.1 GiB)
 
$

 

 

아래 그림과 같이 서버에 복수개 NIC (Network Interface card)가 있는 경우,
위 $ ifconfig -a 명령에서와 같이 여러개의 interface 이름이 나타난다.
 
'lo'는 local loopback interface라고 부르며, 모든 서버에 기본적으로 포함되어있다.
 
'eno0, eno1'라고 표시된다면, server main-board에 기본적으로 포함되어 있는 interface 이름으로,
embedded NIC (onboard Network Interface Card) 을 의미한다.

 


'eth0', 'eth1', 'eth2', ... 와 같이 표시되는 것은 추가 랜카드를 꽂은 경우의 interface 이름이된다.

최근에는 'enp0s10' 의 형태로 slot name이 interface 이름으로 표시된다.

 

eth1 에 IP 설정하기

eth0에 IP 설정하는 것과 같은 방법으로 eth1의 IP를 설정하면 된다.

먼저, 현재 설정된 네트워크 정보를 확인해보자.

$ ifconfig -a
$ cat /etc/sysconf/network
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0

$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr D4:AE:52:82:22:8D
          inet addr:192.168.0.70  Bcast:192.168.0.95  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:755405214 errors:0 dropped:0 overruns:0 frame:0
          TX packets:435394530 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:76448404243 (71.1 GiB)  TX bytes:54217830504 (50.4 GiB)

eth1      Link encap:Ethernet  HWaddr D4:AE:52:82:22:8E
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:593638846 errors:0 dropped:0 overruns:0 frame:0
          TX packets:593638846 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:64571677188 (60.1 GiB)  TX bytes:64571677188 (60.1 GiB)
 
$

$ cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=myserver
GATEWAY=192.168.0.65
$

$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.0.95
HWADDR=d4:ae:52:82:22:8d
IPADDR=192.168.0.70
NETMASK=255.255.255.224
NETWORK=192.168.0.64
ONBOOT=yes
$

$ cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=dhcp
HWADDR=d4:ae:52:82:22:8e
ONBOOT=no
$

 

eth0의 설정을 참고하여, 새IP 192.168.0.88 을 eth1에 할당하는 것을 가정하여 보자.

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
BROADCAST=192.168.0.95
HWADDR=d4:ae:52:82:22:8e
IPADDR=192.168.0.80
NETMASK=255.255.255.224
NETWORK=192.168.0.64
ONBOOT=yes
$

 

Case2. 한개의 물리적인 Network Interface만 있는 경우, 복수개 IP 주소 설정하기:

 

위 경우와 달리, 물리적인 Network Interface가 한개뿐이거나, 하나의 물리적 Interface에 여러개의 IP주소를 설정해야하는 경우라면 아래의 방법을 사용할 수 있다.

eth0 라는 물리적 Network Interface에 IP주소가 한개 등록되어 있다고 가정하고,
동일 네트워크의 여러개 IP를 추가해보자.

현재 eth0 IP주소는, 192.168.0.70 이고, 새로 추가할 IP주소는 192.168.0.71, 192.168.0.72 라고 한다면,

절차는,
network-scripts 디렉토리에서 ifcfg-eth0 의 설정을 복사하여, ifcfg-eth0:0과 ifcfg-eth0:1 이라는 하위의 가상의 interface를 만들고, 여기에 새로 추가할 IP주소를 등록한다.

먼저 network-scripts 디렉토리로 이동하여, 설정파일을 여러개 복사한다.

$ cd /etc/sysconfig/network-scripts
$ sudo cp ifcfg-eth0 ifcfg-eth0:0
$ sudo cp ifcfg-eth0 ifcfg-eth0:1

$ ls
ifcfg-eth0
ifcfg-eth0:0
ifcfg-eth0:1
$

동일 네트워크의 IP주소 대역을 사용하므로, 새 설정파일들에서 IP주소만 변경해준다.
단, HWADDR은 삭제한다.

$ sudo vi ifcfg-eth0:0
DEVICE=eth0:0
BOOTPROTO=static
BROADCAST=192.168.0.95
IPADDR=192.168.0.71
NETMASK=255.255.255.224
NETWORK=192.168.0.64
ONBOOT=yes
$

$ sudo vi ifcfg-eth0:1
DEVICE=eth0:0
BOOTPROTO=static
BROADCAST=192.168.0.95
IPADDR=192.168.0.72
NETMASK=255.255.255.224
NETWORK=192.168.0.64
ONBOOT=yes
$

 

설정을 마쳤다면 네트워크를 재시작하거나 재부팅하면 새IP들이 적용된다

$ sudo /etc/rc.d/init.d/network restart
Shuuting down interfaceeth0: [OK]
...

끝으로, ifconfig -a 명령으로 적용된 Network interface와 IP주소를 확인해본다

$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr D4:AE:52:82:22:8D
          inet addr:192.168.0.70  Bcast:192.168.0.95  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:755405214 errors:0 dropped:0 overruns:0 frame:0
          TX packets:435394530 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:76448404243 (71.1 GiB)  TX bytes:54217830504 (50.4 GiB)
 
eth0:0    Link encap:Ethernet  HWaddr D4:AE:52:82:22:8D
          inet addr:192.168.0.71  Bcast:192.168.0.95  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0 B)  TX bytes:0 (0 B)
 
eth0:1    Link encap:Ethernet  HWaddr D4:AE:52:82:22:8D
          inet addr:192.168.0.72  Bcast:192.168.0.95  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0 B)  TX bytes:0 (0 B)

 lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:593638846 errors:0 dropped:0 overruns:0 frame:0
          TX packets:593638846 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:64571677188 (60.1 GiB)  TX bytes:64571677188 (60.1 GiB)
 

 

 

 

 

반응형
반응형

AWS SAA 시험 합격 후기

회사가 AWS 파트너쉽 자격 유지를 위해 직원들이 일정 갯수 이상 자격증을 보유해야되서, 업무에도 필요하니 겸사겸사 자격증을 취득하게 됬다.

다음 공부때도 참고하고, SAA 자격증에 도전하는 분들에게 쬐끔이나마 도움이 될까하여 후기를 적어본다.

 

  
자격증 종류와 차이점


  참고: https://aws.amazon.com/ko/certification/
  모든 시험은 선수 과정이 없이 임의로 지원할 수 있다. 즉, Professional이든 Speciality 이든 한번에 도전할 수 있다는 것.
  
   1) 기초 등급 : Cloud Practitioner : 기초과정, 온라인 무료 학습만으로도 시험 패스 할 수 있는 입문자용 시험 
   2) Associate 등급 : SAA, DA, SOAA 등 : 1년 정도의 경험을 요구한다
   3) Professional 등급 : SAP, DOPE 등 : 2년 이상의 경험 
   4) Speciality 등급 : 특정 전문 분야, Networking, Data Analytics, Database 등 
   

SAA 시험에 대한 이해 


  참고자료: https://aws.amazon.com/ko/certification/certified-solutions-architect-associate/
  위 사이트에 있는 '시험가이드' 문서를  읽고, 이 시험이 요구하는 지식과 기술 배경을 파악하는 것이 중요하다.
  특히, '시험가이드' 문서 하단의 '부록'에 서비스 및 기능 목록이 시험 범위가 된다.
  
  SAA의 시험 수준은 최소 1년 이상의 실무 경험자가 할 수 있는 Architecture 지식을 기준으로 한다.
  하지만, 1~2년 실무 경험자라고 하더라도, 여기에 나열된 지식과 기술 경험을 모두 갖추는 것은 거의 불가능에 가깝다.
  경험하지 못한 나머지 부분은 이론과 실습으로 채울 수 밖에 없다.
  그리고, 이것은 객관식 이론 시험이기 때문에 실무 경험이 적거나, 이론 학습만으로도 자격취득을 할 수 있다.
  


  
학습 방법

  AWS 실무 경험이 부족하다면, 문서나 시험문제를 먼저 보지 말고, 기본적인 AWS 서비스를 직접 체험해보는 것이 좋다.
  유튜브 또는 인강을 활욯하여 AWS 기초 과정을 학습하고, 실습해보면서, AWS의 주요 기술의 구현 방법과 AWS 콘솔의 주요 용어들을 체득한다.
  시험 범위의 서비스들에 대해서, 기본 개념, AWS 콘솔 설정 화면에 나오는 필수 용어들을 이해하고 Architecture를 설명할 수 있는 정도를 목표로 한다. 
  추천하는 강의는 Udemy 사이트에 리뷰 많은 SAA 강의 과정을 고르거나, 한국어 강의를 듣고 싶다면 인프런(Inflearn) 사이트에 SAA 강의가 간결하고 알차게 되어 있다.
  
  


  1) 인강 듣기


   SAA 수준의 강의는 유튜브에도 있고, 인프런 같은 인강에도 가성비 좋은 SAA 강의가 나와있다.
   한가지를 선정하여 1회 학습하여 시험의 범위를 완강한다.
   내 경우에는, 2~3회 돌려보면서 나만의 요약 노트를 만들고, 모르는 용어나 설명을 추가적으로 보완하였다.
 


  2) 인강 보충 자료는 AWS 콘솔과 AWS Document를 활용 


    인강을 보면서, AWS 콘솔로 설정하는 화면을 직접 보고, 설정하는 화면에 표시되는 기능과 옵션들을 이해하려고 노력했다.
비용때문에 최종 실행까지는 하지 않았다.
하지만, 약간의 실습이라도  화면구성과 용어, 옵션 기능들을 실제로 보니 개념과 동작을 이해하고 느끼는데 도움이 됬다.
그리고, 인강에서 모르는 용어가 나오거나,콘솔 화면에 표시되는 기능과 옵션의 설명은 AWS Document를 활용했다.

    AWS Document는 분량이 방대하고, SAA 수준에서 필요없는 디테일한 설명이 많다.
이 자료에서는, 기본 개념, 동작원리, 사용방법(콘솔,CLI,API), 모범사례, 모니터링 항목 정도만 참고로 했다.

    AWS 자료 찾는 방법은, 예를 들어, "dynamodb 란 무엇인가" 이렇게 구글링하면 대부분 최상단에
   https://docs.aws.amazon.com › latest › Introduction
   What is Amazon DynamoDB? - 작동 방식
   ...
이렇게 검색되는 AWS Document를 참고했다.
 
실제 시험 문제에, 서비스의 옵션에 대한 이해를 요구하는 문제가 출제된다.
    예를 들면, '인스턴스 배치 그룹'의 종류 중에 가장 고성능인 것을 고르거나, 가장 고가용성인 것을 고르는 문제가 나온다.
인스턴스 배치 그룹의 옵션은,
      - 클러스터 : 근접네트워크, 짧은 지연시간, 고속
      - 파티션 : 다른 랙의 여러 하드웨어를 그룹화 , 서버 장애 영향적음, 하둡 등 분산처리용
      - 분산형 : 같은 랙의 서버를 그룹화, 서버랙 장애 영향 적음, 안전 고가용성 목적
~으로 정리할 수 있다.
 


  3) 연습문제 풀기


    내 경우엔 인강 뒤의 모의고사 10회와 구글링으로 찾은 SAA Dump문제를 포함하여 약 1000문제 정도를 소화했다.
   문제를 풀고, 오답 체크하면서 부족한 부분은 AWS Document를 다시 확인했고, 내 요약노트를 업데이트했다.


    '인프런' 인강의 SAA 강의 뒷부분에 나오는 400문제 정도를 풀고 학습이 되고 나서부터는 반복되는 문제와 패턴들이 보이기 시작했다.
   간단한 문제는 질문의 핵심 단어와 답을 빠르게 연결 할 수 있었다.
   구글링해서 찾은 SAA 한글 Dump 블로그 자료(블로그 링크 여기 "SAA-02 덤프 풀이 by 바교망")도 많은 도움이 됬다.
       - 좋은 자료를 공개해주셔서 감사드립니다 -

 여기서 추가로   500~600문제를 소화하면서 점수가 커트라인 72% 수준으로 나오기 시작했다.
  1000문제 정도를 소화한 후에는 오답문제만 모아서 다시 풀기를 했다.
   문제 풀이는 충분히 많이 푸는 것이 확실히 도움이 됬다. 실제 시험에도 상당히 유사하거나 거의 같은 문제가 많이 나왔다.

 


  4) 두개의 요약노트


   a. 첫번째 노트는, 인강 노트

인강 강의 순서+ 시험 가이드의 '목록' 순으로 노트를 만들어서
각 서비스의 개념 이해와 중요 기능 및 옵션 설명과 차이점을 정리했다
연습문제에서 보충되는 자료를 계속 추가하였고,
연습문제 2-3회를 푼 다음에 인강 노트 리뷰를 한번씩 했다.

   b. 두번째 노트는, 기능 비교 노트 
    유사한 용어가 나오는 서비스와 기능들을 따로 묶어서 비교 노트를 만들었다.
예를 들면, 
  서버리스 종류와 차이점은? Lambda, Fargate, S3, DynamoDB, aurora-serverless, SNS, SQS, API Gateway ...
  응답 시간 비교 ? : 마이크로 초=DAX, 밀리 초=DynamoDB, RDS, ElastiCache ...
  네트워크 보안 서비스 종류와 차이점은?  SecurityGroup, NACL, WAF, AWS Shield ...
  감사 모니터링 종류와 차이점은? CloudWatch, Cloudtrail, Config, GuardDuty,...
  ACL 기능이 있는 서비스는? NACL, RDS, ...
  Global Routing 지원하는 서비스는? CloudFront, Global Accelerator
  S3와 Glacier의 종류별 비용 차이점
     등등

    연습문제 dump를 풀면서, 기능 비교 노트를 만든 것이 문제 풀때 많은 도움이 됬다.  
 


시험시 주의사항


 시험장 선택 PSI와 PearsonVUE
  시험 방법은 PSI와 PearsonVUE 두가지가 있는데, 
  PSI는 시험장에 방문하여 시험장의 컴퓨터로 시험을 보는 것이고,
  PearsonVUE는 내 방에서 혼자 내 컴퓨터로 시험을 보는 것이다.
  PSI 방식이 가장 안전한 방법이다.
  PearsonVUE는 웹캠과 마이크를 이용해 감독관과 영어 또는 일본어로 소통하면서 
  시험장소와 내 컴퓨터가 시험에 적합한지 확인을 하는 과정을 거쳐야 하는데, 영어 또는 일본어에 아주 익숙하지 않다면 추천하고 싶지 않다.
  내 경우엔 PearsonVUE로 시험을 봤는데, 감독관이 남아시아계 영어를 써서 리스닝에 어려움이 많았고 나 또한 영어에 능통하지 않아서 
  시험 전 단계에서 에너지 소모가 심했다. 다음엔 시험장에 가서 시험을 보려한다.

 복수 답안 문제를 놓치지 않게 주의한다
 시험편의 지원요청 - 비영어권 지원자는 시험 시가을 30분 더 제공 받을 수 있다, 연습문제를 충분히 풀었다면 시험 시간은 부족하지 않을테지만, 혜택이니 시험 예약하기 전에 미리 신청해둔다.
 

그럼, 다음 시험은 Professional에 도전해보자 홧팅.

반응형
반응형

AWS 다른 계정으로 버킷 복제 설정하기

여러개의 AWS 계정들에서 생성되는 Cloudtrail 로그를 대표AWS 계정 한곳으로 모아서 통합 로그 분석을 해보기 위해서
 각 AWS 계정의 Cloudtrail이 저장되는 S3 버킷을 대표계정의 버킷으로 복제하는 작업을 해봤습니다.

통합 로그 분석은 따로 다루겠습니다
 
 여기에서는, CloudTrail을 설정하면서 남겨지는 로그를 다른 AWS계정으로 복제하는 과정만 진행해봅니다.

account-1 계정의 bucket-a 에서, account-2 계정의 bucket-b로 복제해보겠습니다.
 
 작업 순서는,
 Cloudtrail 설정, S3 bucket 설정, IAM 역할 및 정책 설정, S3 복제규칙 설정, 복사테스트 순으로 진행합니다.
 


  0. 실습 준비

 AWS 계정 두개
  : account-1  (ID 000000000001 가칭)
  : account-2  (ID 000000000002 가칭) 


1. account-1에서, cloudtrail 생성시 추적 설정하면서 새 버킷을 생성 


추적명 : cloudtrail-account-1
스토리지 위치 : account-1-bucket-a 새버킷생성
추적 로그 위치 : bucket-a/AWSLogs/000000000001
옵션
다중리전추적:예
로그파일암호화:비활성화
로그파일검증:활성화
SNS알림:비활성화
Cloudwatch Log 활성화 


2. account-2에서, s3 bucket account-2-bucket-b 생성 


버킷명: account-2-bucket-b
버킷 옵션
퍼블릭 액세스 - 모든 퍼블릭 액세스 차단 - 활성화
버킷 버전 관리 - 활성화
암호화 - 비활성화  (활성화 사용시 KMS 연동 필요)
객체 소유권 - 버킷 소유자 적용
ACL적용안함


3. IAM 역할 및 정책 생성

 1) account-1에서, IAM 정책(Policy) 생성 
   - 버킷에 Replicate 관련 작업의 권한을 정의 
 
정책이름 : s3-replicate-policy-from-bucket-a-to-b  (임의의 이름)
  
정책 json
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "s3:ListBucket",
                "s3:GetReplicationConfiguration",
                "s3:GetObjectVersionForReplication",
                "s3:GetObjectVersionAcl",
                "s3:GetObjectVersionTagging",
                "s3:GetObjectRetention",
                "s3:GetObjectLegalHold"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::account-1-bucket-a",
                "arn:aws:s3:::account-1-bucket-a/*",
                "arn:aws:s3:::account-2-bucket-b",
                "arn:aws:s3:::account-2-bucket-b/*"
            ]
        },
        {
            "Action": [
                "s3:ReplicateObject",
                "s3:ReplicateDelete",
                "s3:ReplicateTags",
                "s3:ObjectOwnerOverrideToBucketOwner"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::account-1-bucket-a/*",
                "arn:aws:s3:::account-2-bucket-b/*"
            ]
        }
    ]
}
 
 2) account-1에서, IAM 역할(role) 생성 
   - S3를 위 정책과 연결 
    대상 리소스 : s3 선택 
역할이름:  s3-replicate-role-from-bucket-a-to-b (임의의 이름)
연결 정책 : s3-replicate-policy-from-bucket-a-to-b (앞서 만든 정책 이름)
  생성된 역할 ARN: arn:aws:iam::000000000001:role/s3-replicate-role-from-bucket-a-to-b
 
 3) account-2에서, 수신할 account-2-bucket-b버킷에 "버킷 정책" (리소스정책) 추가
{
    "Version": "2012-10-17",
    "Id": "",
    "Statement": [
        {
            "Sid": "SetPermissionsForObjects",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::000000000001:role/s3-replicate-role-from-bucket-a-to-b"
            },
            "Action": [
                "s3:ReplicateObject",
                "s3:ReplicateDelete"
            ],
            "Resource": "arn:aws:s3:::account-2-bucket-b/*"
        },
        {
            "Sid": "SetPermissionsOnBucket",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::000000000001:role/s3-replicate-role-from-bucket-a-to-b"
            },
            "Action": [
                "s3:List*",
                "s3:GetBucketVersioning",
                "s3:PutBucketVersioning"
            ],
            "Resource": "arn:aws:s3:::account-2-bucket-b"
        }
    ]
}


4. S3의 복제규칙 설정 


 account-1에서, account-1-bucket-a 버킷 선택하여, 관리 메뉴에서, 복제 규칙 생성 
복제규칙이름 : replicate-from-bucket-a-to-b 
상태 : 활성화
소스버킷 : account-1-bucket-a
적용옵션: 버킷의 모든 객체에 적용 
접두사 : 생략 (생략하면 해당 버킷 전체가 복제되고, 접두사에 폴더 이름을 지정하면, 해당 폴더와 하위 컨텐츠만 복제 적용됨 )
대상버킷
다른 계정의 버킷 지정 
계정ID : account-2 id(000000000002)
버킷이름 : account-2-bucket-b
옵션 : 객체 소유자를 대상 버킷 수유자로 변경 선택 
IAM역할 : 위 account-2에서 생성한 역할이름 지정 
암호화 : 선택안함
AWS KMS로 암호화된 객체 복제: AWS Key Management Service(AWS KMS) 키로 암호화된 객체를 복제할 수도 있다.
대상스토리지 클래스 : 지정안함 (지정할수도있다, 테스트 더 필요)
추가 복제 옵션 : 복제지표 및 알림 선택, 삭제 마커 복제 선택, 복제 시간제어 선택안함, 복제본 수정 동기화 선택안함 
추가 복제 옵션 설명 (선택 안해도 복제 동작에 영향없음) 
  -복제 시간 제어(RTC) - 선택안함 
복제 시간 제어는 새 객체의 99.99%를 15분 만에 복제했으며, 복제 지표 및 알림을 제공합니다. 추가 요금이 적용됩니다. 자세히 알아보기 

  -복제 지표 및 알림 - 선택함 
Cloudwatch 지표를 통해 복제 규칙의 진행 상황을 모니터링합니다. 자세히 알아보기  또는 Amazon Cloudwatch 요금  참조

  -삭제 마커 복제 - 선택함 
S3 삭제 작업에 의해 생성된 삭제 마커는 복제됩니다. 수명 주기 규칙에 의해 생성된 삭제 마커는 복제되지 않습니다. 자세히 알아보기 

  -복제본 수정 동기화 - 선택안함 
이 버킷의 복제본에 적용된 메타데이터 변경 사항을 대상 버킷에 복제합니다. 자세히 알아보기 
저장 
저장시 옵션
기존 객체를 복제하시겠습니까?
예. 기존 객체를 복제합니다 --> 복제작업 생성화면으로 들어감
아니요. 복제하지 않습니다 --> 저장하고 종료됨 


5. 테스트


 - 정책 적용위해 약 1시간 정도 적용 시간 기다려준다 (적용됬는지 여부를 알 수는 없다, 경험상 복잡한 정책은 1~2시간 적용되는데 시간이 걸렸었다)
 - account-1-bucket-1에 파일 업로드하고, account-2-bucket-b에 파일이 복제되는지 확인
 - account-1-bucket-a에 cloudtrail 로그가 생성되면, account-2-bucket-b에도 같이 생성되는지 확인
   cloudtrail 로그는 파일 사이즈가 크지 않아서 약 1분 내로 복제되는 것을 경험했다
 - S3 버킷 account-1-bucket-a의 '지표' 메뉴에서 '복제지표' 차트로 복제보류상태, 복제지연시간 확인 가능함
   버킷의 컨텐츠 속성을 보면 복제상태를 확인할 수 있다. 복제지연이나 복제오류가 발생하면, 설정이나 권한 문제로 볼 수 있다. 왜 복제가 실패했는지 자세한 설명은 나오지 않는다


CloudTrail 로그는 AWS 계정의 관리, 규정 준수, 운영 및 위험 감사를 지원하는 AWS 서비스로서,
CloudTrail 로그 및 CloudTrail 콘솔에 기록된 정보를 사용하여 사용자, 역할 또는 AWS 서비스에서 수행한 작업에 대한 정보를 검토할 수 있다.

 

AWS참고자료를 보면, 최신 UI가 반영되지 않은 오래된 문서들이 자주 눈에 띄어서, AWS 문서 그대로 따라하기가 쉽지 않은 경우가 자주 있다. 많이 테스트 해보고, 검색해보면서 다른 고수들의 경험치를 참고할 수 밖에...

내가 참고한 자료들

https://docs.aws.amazon.com/ko_kr/awscloudtrail/latest/userguide/cloudtrail-user-guide.html

 

AWS CloudTrail이란 무엇입니까? - AWS CloudTrail

AWS CloudTrail이란 무엇입니까? AWS CloudTrail은 AWS 계정의 운영 및 위험 감사, 거버넌스 및 규정 준수를 활성화하는 데 도움이 되는 AWS 서비스입니다. 사용자, 역할 또는 AWS 서비스가 수행하는 작업은

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/replication-example-walkthroughs.html

 

연습: 복제 구성 예제 - Amazon Simple Storage Service

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

반응형
반응형

firewalld 사용하여 port forwarding 설정하기 with CentOS7

1. firewalld 설치

# yum install -y firewalld



2. 사용중인 서비스 port 오픈 미리 허용 설정


  1)TCP 특정 포트 허용 (예 1~65535 전부 허용)

# firewall-cmd --permanent --zone=public --add-port=1-65535/tcp

 2) UDP 특정 포트 허용(예 3000번)

# firewall-cmd --permanent --add-port=3000/udp


 
3. redirect 80 to 443 설정하기 (http to httpd)


   1) 동일 서버내에서 redirect 하는 경우

# firewall-cmd --add-forward-port=port=80:proto=tcp:toport=443
# firewall-cmd --runtime-to-permanent

  2) A서버의 80포트를 B서버의 443포트로 redirect 하는 경우, Enable masquerade 추가

# firewall-cmd --add-forward-port=port=80:proto=tcp:toport=443:toaddr=SERVER_B_IP_ADDRESS
# firewall-cmd --add-masquerade


4. 설정 확인하기

# firewall-cmd --list-all
public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports: port=80:proto=tcp:toport=443:toaddr=
  source-ports:
  icmp-blocks:
  rich rules:
#



5. 실행 명령

# systemctl enable firewalld  // 기능 활성화 
# systemctl disable firewalld  // 기능 비활성화
 
# systemctl start firewalld  // 시작
# systemctl stop  firewalld  // 중지 
# systemctl restart  firewalld  // 재시작



 참고자료:
   https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-port_forwarding
   

반응형
반응형

firewalld 사용하여 port forwarding 설정하기 with CentOS7

1. firewalld 설치

# yum install -y firewalld



2. 사용중인 서비스 port 오픈 미리 허용 설정


  1)TCP 특정 포트 허용 (예 1~65535 전부 허용)

# firewall-cmd --permanent --zone=public --add-port=1-65535/tcp

 2) UDP 특정 포트 허용(예 3000번)

# firewall-cmd --permanent --add-port=3000/udp


 
3. redirect 80 to 443 설정하기 (http to httpd)


   1) 동일 서버내에서 redirect 하는 경우

# firewall-cmd --add-forward-port=port=80:proto=tcp:toport=443
# firewall-cmd --runtime-to-permanent

  2) A서버의 80포트를 B서버의 443포트로 redirect 하는 경우, Enable masquerade 추가

# firewall-cmd --add-forward-port=port=80:proto=tcp:toport=443:toaddr=SERVER_B_IP_ADDRESS
# firewall-cmd --add-masquerade


4. 설정 확인하기

# firewall-cmd --list-all
public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports: port=80:proto=tcp:toport=443:toaddr=
  source-ports:
  icmp-blocks:
  rich rules:
#



5. 실행 명령

# systemctl enable firewalld  // 기능 활성화 
# systemctl disable firewalld  // 기능 비활성화
 
# systemctl start firewalld  // 시작
# systemctl stop  firewalld  // 중지 
# systemctl restart  firewalld  // 재시작



 참고자료:
   https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-port_forwarding
   

반응형
반응형

윈도우 10/11 홈 버전은, gpedit.msc(로컬그룹정책편집기)를 바로 사용할 수가 없다.

기능은 탑재되어있으나 홈 버전 특성상 비활성화되어 있으니, 해당 기능을 찾아서 활성화하면 된다.

아래 두 파일 중 아무거나 받아서 설치 성공하면 된다.  (default로 안되면 spare를 이용하길...)

 

절차

1. 아래 Batch 파일 중 하나를 다운로드 받는다.

gpedit-add-packages_default.bat
0.00MB
gpedit-add-packages_spare.bat
0.00MB

 

 

2. 해당 파일을 마우스 우클릭하여 "관리자 권한으로 실행"을 클릭한다.

gpedit 활성화 batch 파일
gpedit 활성화 실행 화면

3. 윈도우 실행창에서 "gpedit.msc"를 실행한다

gpedit.msc 파일 검색
gpedit.msc 실행 화면

 

예시 화면은 윈도우 11 홈 버전이며, 윈도우 10 홈 버전도 방법은 동일하다.

끝.

반응형

+ Recent posts