반응형

리눅스 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 홈 버전도 방법은 동일하다.

끝.

반응형
반응형


현재 시간 확인, UTC로 확인됨 

# date
Thu May 19 00:36:53 UTC 2022 

# ll /etc/localtime
lrwxrwxrwx 1 root root 30 May 19 09:41 /etc/localtime -> /usr/share/zoneinfo/UTC


Seoul 시간으로 변경하기


# cd /etc
# mv localtime localtime_org    // 기존 설정 백업해두고
# ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime   // 변경 


변경된 시간 확인

# date
Thu May 19 09:47:00 KST 2022

# ll /etc/localtime
lrwxrwxrwx 1 root root 30 May 19 09:41 /etc/localtime -> /usr/share/zoneinfo/Asia/Seoul

반응형
반응형

아래 내용은, AWS에서 제공하는 SAA-c02 시험 안내서 입니다.

시험에서 중요하게 다루는 서비스, 기능, 기술 목록을 제시하고 있으니,

학습 방법은, 각 타이틀의 AWS 설명서를 가볍게 훑어보면서,

 정의, 용어, 비슷한 기술간의 차이점을 구분해보도록 합니다.

그럼, 합!격!기!원!

 

시험에서 다룰 수 있는 도구 및 기술 목록입니다(전체 목록은 아님). 
이 목록은 변경될 수 있으며 시험에서 다루는 서비스, 기능 또는 기술의 일반적인 범위를 이해하는 데 도움이 됩니다. 
이 목록에서 일반 도구 및 기술은 특별한 순서 없이 표시됩니다. AWS 서비스는 기본 기능에 따라 그룹화됩니다.
이러한 기술 중 일부는 시험에서 다른 기술보다 더 많이 다룰 수 있지만, 이 목록에서 순서 및 배치는 상대적인 비중이나 중요성을 나타내지 않습니다.


전체 목록 


       컴퓨팅
      비용 관리
      데이터베이스
      재해 복구
      고가용성
      관리 및 거버넌스
      마이크로서비스 및 구성 요소 결합 해제
      마이그레이션 및 데이터 전송
      네트워킹, 연결 및 콘텐츠 전송
      보안
      서버리스 설계 원칙
      스토리지


AWS 서비스 및 기능 상세 목록


분석:

Amazon Athena
Amazon ES(Amazon Elasticsearch Service)
Amazon EMR
AWS Glue
Amazon Kinesis
Amazon QuickSight
AWS 결제 및 비용 관리:
AWS Budgets
Cost Explorer


애플리케이션 통합:

Amazon SNS(Amazon Simple Notification Service)
Amazon SQS(Amazon Simple Queue Service)

컴퓨팅:

Amazon EC2
AWS Elastic Beanstalk
Amazon ECS(Amazon Elastic Container Service)
Amazon EKS(Amazon Elastic Kubernetes Service)
Elastic Load Balancing
AWS Fargate
AWS Lambda

데이터베이스:

Amazon Aurora
Amazon DynamoDB
Amazon ElastiCache
Amazon RDS
Amazon Redshift

관리 및 거버넌스:

AWS Auto Scaling
AWS Backup
AWS CloudFormation
AWS CloudTrail
Amazon CloudWatch
AWS Config
Amazon EventBridge(Amazon CloudWatch Events)
AWS Organizations
AWS Resource Access Manager
AWS Systems Manager
AWS Trusted Advisor

마이그레이션 및 전송:

AWS DMS(AWS Database Migration Service)
AWS DataSync
AWS Migration Hub
AWS SMS(AWS Server Migration Service)
AWS Snowball
AWS Transfer Family

네트워킹 및 콘텐츠 전송:

Amazon API Gateway
Amazon CloudFront
AWS Direct Connect
AWS Global Accelerator
Amazon Route 53
AWS Transit Gateway
Amazon VPC(및 관련 기능)

보안, 자격 증명 및 규정 준수:

ACM(AWS Certificate Manager)
AWS Directory Service
Amazon GuardDuty
AWS IAM(Identity and Access Management)
Amazon Inspector
AWS KMS(AWS Key Management Service)
Amazon Macie
AWS Secrets Manager
AWS Shield
AWS Single Sign-On
AWS WAF

스토리지:

Amazon EBS(Amazon Elastic Block Store)
Amazon EFS(Amazon Elastic File System)
Amazon FSx
Amazon S3
Amazon S3 Glacier
AWS Storage Gateway



참고자료 :

 

AWS 시험 안내서 :

https://d1.awsstatic.com/ko_KR/training-and-certification/docs-sa-assoc/AWS-Certified-Solutions-Architect-Associate_Exam-Guide.pdf

 

AWS 설명서 :

https://docs.aws.amazon.com/ko_kr/

 

https://docs.aws.amazon.com/ko_kr/

 

docs.aws.amazon.com

 

반응형
반응형

AWS 자격증에 도전하려고 준비하는 분들에게 도움이 될까하여 몇자 적어본다.

각자가 처한 상황에 맞게 접근하는 과정을 3단계로 나눠서 생각해본다

1단계 "IT 비전공, 코딩 초심자, 생활코딩 입문자"

    - 수준 : IT와 코딩에 관심이 많지만, 체계적인 학습이 필요하다

    - 처방 : 유튜브 '생활코딩'의 코딩수업을 처음부터 차근차근 따라해보자, 용어이해와 실습을 해보자

    - 추천강의 : "생활코딩"의 "코딩수업" WEB1, WEB2 전과정

                   생활코딩 목록은 여기 : https://www.youtube.com/c/%EC%83%9D%ED%99%9C%EC%BD%94%EB%94%A91/playlists

 

생활코딩

일반인에게 프로그래밍을 알려주는 온라인/오프라인 활동 입니다. 채널 공개키 : MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDbU/jgeYLWbmUB5pk/wlqMs+2qsOOPgN2ydxOsrWe8JJUXzj5ovsUmjfBSwLjajT6SyO00ulne3zja2PzEZC2wnJCgvZ6lr/ZLvA9yUqmrKRNa

www.youtube.com

 

2단계 "IT전공이수, 코딩경력1-3년, 생활코딩졸업자"

    - 수준 : 간단한 코딩과 프로그래밍 문제를 해결할 수 있다. 서버와 클라이언트, IP와 라우팅 네트워크 기본 개념을 이해한다.

    - 처방 : AWS 솔루션 종류와 용어 이해가 중요하다. AWS 기초 과정을 이수하자

    - 추천강의 : "AWS강의실"의 "쉽게 설명하는 AWS기초강좌"

                    https://www.youtube.com/watch?v=JjiYqBl2328&list=PLfth0bK2MgIan-SzGpHIbfnCnjj583K2m 

                   전체목록은 여기 :  https://www.youtube.com/c/AAAWS/playlists

 

3단계 "AWS SAA 시험 도전자"

    - 수준 : 왠만한 AWS 용어는 다 이해한다, AWS 문서를 읽고 잘 이해할 수 있는 수준. IT개발 및 운영 실무자.

   - 처방 : 시험범위 목차를 만들고, 부족한 부분을 스스로 찾아서 채워나가야 한다

             AWS SAA (Solution Architect - Associate) 시험 안내 : https://aws.amazon.com/ko/certification/certified-solutions-architect-associate/

 

AWS Certified Solutions Architect – Associate 자격증

다음 권장 교육 과정을 통해 기술 스킬을 쌓으세요. 자세히 알아보려면 과정 제목을 선택합니다. 무료 디지털 교육 무료 온디맨드 교육 유료 강의실 교육

aws.amazon.com

             AWS SAA-C02 시험안내서 : https://d1.awsstatic.com/ko_KR/training-and-certification/docs-sa-assoc/AWS-Certified-Solutions-Architect-Associate_Exam-Guide.pdf

           AWS SAA-C02 시험 범위 요약 정리한 것 : https://ramenshin.tistory.com/461

 

AWS SAA-C02 시험 범위 요약, 그리고, 학습 방법

시험에서 다룰 수 있는 도구 및 기술 목록입니다(전체 목록은 아님). 이 목록은 변경될 수 있으며 시험에서 다루는 서비스, 기능 또는 기술의 일반적인 범위를 이해하는 데 도

ramenshin.tistory.com

         

- 추천강의 : (1) "AWS강의실"의 "AWS SA 자격증준비"

                   https://www.youtube.com/watch?v=rrMvTIc0iSQ&list=PLfth0bK2MgIYRGF5vgVx5aJ13bHLkGG4l

                      전체목록은 여기 :  https://www.youtube.com/c/AAAWS/playlists

                

                (2) 유료강의도 보고 싶다면 ,UDEMY 의 AWS 자격증 강의를 추천

                    다만, 자막 번역버전이라 이해하는데 어려움이 있을 수 있다

                     https://www.udemy.com/course/best-aws-certified-solutions-architect-associate/

 

Ultimate AWS Certified Solutions Architect Associate (SAA)

AWS Certified Solutions Architect Associate 자격 SAA-C02 시험에 합격하기 위한 신규 주제, AWS 실용 지식, 시험 준비 방법과 문제 대비를 진행하는 강의

www.udemy.com

 

 

반응형

+ Recent posts