====== AWS Amazon Linux ====== * [[linux:centos:java|CentOS / Redhat Java]] Java 설치 * [[https://hub.docker.com/_/amazonlinux/|Amazon Linux Docker]] * [[https://app.vagrantup.com/bento/boxes/amazonlinux-2|Vagrant bento/amazonlinux-2]] ===== Amazon Linux 2 ===== * [[https://aws.amazon.com/ko/amazon-linux-2/|Amazon Linux 2]] * [[https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-ami-basics.html|Amazon Linux - Amazon Elastic Compute Cloud]] ===== WSL ===== * [[https://aws.amazon.com/ko/blogs/developer/developing-on-amazon-linux-2-using-windows/|Developing on Amazon Linux 2 using Windows | AWS Developer Tools Blog]] * [[windows:wsl|Windows Subsystem For Linux]] ===== SSH Key 생성 ===== * [[linux:ssh|Linux SSH]] 를 사용하지 않고 AWS 상에 직접 key pair 생성 가능 * [[https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ec2-key-pairs.html|Amazon EC2 키 페어 및 Linux 인스턴스 - Amazon Elastic Compute Cloud]] # "my-key-pair" 라는 이름으로 key pair 생성하고, 개인키를 파일로 저장 aws ec2 create-key-pair --key-name my-key-pair --query "KeyMaterial" --output text > my-key-pair.pem # 개인키 권한 설정 chmod 400 my-key-pair.pem ===== EC2 SSH 연결 ===== * [[https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html|SSH를 사용하여 Linux 인스턴스에 연결 - Amazon Elastic Compute Cloud]] * EC2 인스턴스 생성당시 지정한 Key Pair 를 가지고 접속 chmod 400 /path/my-key-pair.pem ssh -i /path/my-key-pair.pem ec2-user@ec2인스턴스주소 ===== Public Key 자동 추가 ===== * [[https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-user-account-cloud-init-user-data/|cloud-init 및 사용자 데이터를 사용하여 SSH 액세스 권한이 있는 새 사용자 계정을 EC2 인스턴스에 추가]] * 아래에서 ''<원하는 public key 문자열>''을 말 그대로 public key 값으로 넣는다. #cloud-config cloud_final_modules: - [users-groups,always] users: - name: username groups: [ wheel ] sudo: [ "ALL=(ALL) NOPASSWD:ALL" ] shell: /bin/bash ssh-authorized-keys: - ssh-rsa <원하는 public key 문자열> ===== PasswordAuthentication ===== * [[linux:ssh|Linux SSH]]에서 비밀번호 기반 인증을 하려면 ''/etc/ssh/sshd_config''에서 ''PasswordAuthentication yes'' 설정이 필요한데, AWS 상의 Linux 들은 이 파일을 재부팅할 때마다 ''/etc/cloud/*'' 의 설정을 기반으로 항상 덮어써 버린다. * 아래 명령으로 매번 새로 생성되는 ''sshd_config'' 설정을 해줄 수 있다. ''ssh_pwauth: true''는 ''PasswordAuthentication yes'' 를 생성한다. sudo sed -i -e "s/ssh_pwauth: false/ssh_pwauth: true/g" /etc/cloud/cloud.cfg.d/00_defaults.cfg ===== Amazon Linux Virtual Machine 사용 ===== * AWS 상이 아닌, 본인 PC등에서 Amazon Linux 가상 머신을 설치할 수 있다. * https://cdn.amazonlinux.com/os-images/latest/ 에서 이미지 다운로드. * [[https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/amazon-linux-2-virtual-machine.html|Amazon Linux 2를 온프레미스 가상 머신으로 실행 - Amazon Elastic Compute Cloud]] * [[https://strata.tistory.com/1|VMware를 통한 Amazon Linux 2 맛보기]] * [[https://cloudinit.readthedocs.io/en/latest/topics/datasources/nocloud.html|NoCloud — cloud-init 21.4 documentation]] ===== Open JDK 설치 ===== * [[https://tecadmin.net/install-java-on-amazon-linux/|How to Install Java 11/8 on Amazon Linux – TecAdmin]] # openjdk 11 sudo amazon-linux-extras install java-openjdk11 # openjdk 8 sudo yum install java-1.8.0-openjdk