μ•ˆλ…•ν•˜μ„Έμš” Mambo μž…λ‹ˆλ‹€.

였늘 μ•Œμ•„λ³Ό λ‚΄μš©μ€ EC2 μΈμŠ€ν„΄μŠ€ μ—°κ²°(EC2 Instance Connect) κΈ°λŠ₯μž…λ‹ˆλ‹€. 일반적으둜 EC2 μΈμŠ€ν„΄μŠ€μ— μ ‘μ†ν•˜κΈ° μœ„ν•΄μ„œλŠ” SSH ν΄λΌμ΄μ–ΈνŠΈλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. μ•„λ§ˆμ‘΄ EC2 μ½˜μ†”μ€ SSH ν΄λΌμ΄μ–ΈνŠΈλ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³ λ„ EC2 μΈμŠ€ν„΄μŠ€μ— μ—°κ²°ν•  수 μžˆλŠ” κΈ°λŠ₯을 μ œκ³΅ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ–΄λ–»κ²Œ ν•΄μ•Ό EC2 μ½˜μ†”μ„ 톡해 EC2 μΈμŠ€ν„΄μŠ€μ— μ—°κ²°ν•  수 μžˆλŠ”μ§€ μ•Œμ•„λ΄…μ‹œλ‹€.

EC2 μΈμŠ€ν„΄μŠ€ μ—°κ²°

EC2 μΈμŠ€ν„΄μŠ€ 연결은 μ•„λ§ˆμ‘΄ EC2 μ½˜μ†”μ„ 톡해 퍼블릭 IPv4 μ£Όμ†Œκ°€ ν• λ‹Ήλœ μΈμŠ€ν„΄μŠ€μ— μ—°κ²°ν•  수 μžˆλŠ” κΈ°λŠ₯μž…λ‹ˆλ‹€. EC2 μΈμŠ€ν„΄μŠ€ 연결에 λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ EC2 Instance Connectλ₯Ό μ‚¬μš©ν•œ μ—°κ²° λ¬Έμ„œμ—μ„œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

퍼블릭 IPv4 μ£Όμ†Œκ°€ ν• λ‹Ήλœ Amazon Linux 2 λ˜λŠ” Ubuntu 16.04 μ΄μƒμ˜ μΈμŠ€ν„΄μŠ€λΌλ©΄ μ•„λ§ˆμ‘΄ EC2 μ½˜μ†”μ—μ„œ μ œκ³΅ν•˜λŠ” EC2 μΈμŠ€ν„΄μŠ€ μ—°κ²° κΈ°λŠ₯을 μ‚¬μš©ν•˜μ—¬ μΈμŠ€ν„΄μŠ€μ— 접속할 수 μžˆμŠ΅λ‹ˆλ‹€.

μΈλ°”μš΄λ“œ SSH νŠΈλž˜ν”½ ν—ˆμš©

기본으둜 μ œκ³΅ν•˜λŠ” λ³΄μ•ˆ κ·Έλ£Ήμ—λŠ” SSH νŠΈλž˜ν”½μ„ μˆ˜μ‹ ν•˜λŠ” 것을 ν—ˆμš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. EC2 μΈμŠ€ν„΄μŠ€ 연결을 μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” EC2_INSTANCE_CONNECTλΌλŠ” μ„œλΉ„μŠ€κ°€ μ‚¬μš©ν•˜λŠ” IP λŒ€μ—­μ— λŒ€ν•˜μ—¬ SSH νŠΈλž˜ν”½μ„ μˆ˜μ‹ ν•˜λ„λ‘ ν—ˆμš©ν•΄μ•Όν•©λ‹ˆλ‹€.

EC2_INSTANCE_CONNECT μ„œλΉ„μŠ€κ°€ μ‚¬μš©ν•˜λŠ” IP λŒ€μ—­μ€ AWSIP μ£Όμ†Œ λ²”μœ„μ—μ„œ EC2_INSTANCE_CONNECT μ„œλΉ„μŠ€μ™€ VPCκ°€ μƒμ„±λœ region에 λŒ€ν•˜μ—¬ 필터링을 ν•΄μ•Όν•©λ‹ˆλ‹€.

λ‹€ν–‰νžˆλ„ λ‹€λ₯Έ μ„œλΉ„μŠ€μ™€ λ‹€λ₯΄κ²Œ EC2_INSTANCE_CONNECTλŠ” λ¦¬μ „λ³„λ‘œ ν•˜λ‚˜μ΄λ―€λ‘œ 13.209.1.56/29 IP λŒ€μ—­μ„ SSH νŠΈλž˜ν”½μœΌλ‘œ μˆ˜μ‹ ν•˜λ„λ‘ ν—ˆμš©ν•˜λ©΄ λ©λ‹ˆλ‹€.

νšŒμ‚¬μ—μ„œ 지급받은 κ΅¬ν˜• λ§₯λΆμ—μ„œ AWS λ¬Έμ„œμ—μ„œ μ•Œλ €μ£ΌλŠ” λ‹€μŒμ˜ λͺ…λ Ήμ–΄λ₯Ό 쳐봐도 ν•˜λ‚˜λ§Œ λ‚˜μ˜΅λ‹ˆλ‹€.

curl -s https://ip-ranges.amazonaws.com/ip-ranges.json| jq -r '.prefixes[] | select(.region=="us-east-1") | select(.service=="EC2_INSTANCE_CONNECT") | .ip_prefix'
13.209.1.56/29

μœ„μ™€ 같이 13.209.1.56/29 λŒ€μ—­μ— λŒ€ν•œ SSH νŠΈλž˜ν”½μ„ μˆ˜μ‹ ν•  수 μžˆλ„λ‘ ν—ˆμš©ν•˜μ˜€μœΌλ‹ˆ 이제 이 λ³΄μ•ˆκ·Έλ£Ήμ„ μΈμŠ€ν„΄μŠ€μ— μΆ”κ°€ν•˜λ©΄ λ©λ‹ˆλ‹€.

μƒ˜ν”Œ μΈμŠ€ν„΄μŠ€ 생성

μƒ˜ν”Œ μΈμŠ€ν„΄μŠ€λŠ” 기본으둜 μ œκ³΅ν•˜λŠ” λ³΄μ•ˆ 그룹을 μ§€μ •ν•˜μ˜€μŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ SSH νŠΈλž˜ν”½μ— λŒ€ν•΄μ„œ ν—ˆμš©ν•˜μ§€ μ•Šμ€ μƒνƒœμ΄λ―€λ‘œ λ‹€μŒκ³Ό 같이 EC2 μΈμŠ€ν„΄μŠ€ 연결을 μ‹œλ„ν•˜λ©΄ μ‹€νŒ¨ν•˜κ²Œ λ©λ‹ˆλ‹€.

이제 μƒ˜ν”Œ μΈμŠ€ν„΄μŠ€μ— ec2-instance-connect λ³΄μ•ˆκ·Έλ£Ήμ„ μΆ”κ°€ν•˜κ² μŠ΅λ‹ˆλ‹€.

λ‹€μ‹œ μ•„λ§ˆμ‘΄ EC2 μ½˜μ†”μ˜ EC2 μΈμŠ€ν„΄μŠ€ μ—°κ²°μœΌλ‘œ μƒ˜ν”Œ μΈμŠ€ν„΄μŠ€μ— μ ‘μ†ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

EC2_INSTANCE_CONNECT μ„œλΉ„μŠ€μ˜ IP λŒ€μ—­μ„ ν—ˆμš©ν•˜μ˜€κΈ° λ•Œλ¬Έμ— μ •μƒμ μœΌλ‘œ μ ‘μ†λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λ³΄μ•ˆμ„ μ€‘μš”μ‹œν•˜λŠ” νšŒμ‚¬λΌλ©΄ λͺ¨λ“  IP λŒ€μ—­μ— λŒ€ν•˜μ—¬ SSH 접속을 ν—ˆμš©ν•˜μ§€ μ•Šκ³  EC2_INSTANCE_CONNECT μ„œλΉ„μŠ€μ™€ νšŒμ‚¬μ—μ„œ μ‚¬μš©λ˜λŠ” IP λŒ€μ—­μ„ ν—ˆμš©ν•˜μ‹œλŠ” 것을 ꢌμž₯ν•©λ‹ˆλ‹€.

κ°μ‚¬ν•©λ‹ˆλ‹€.