Github Actions: ssh-aciton IPv6 지원
https://aws.amazon.com/ko/blogs/aws/new-aws-public-ipv4-address-charge-public-ip-insights/
2024년 2월부터 AWS는 public IPv4에 대한 비용을 지불하기 시작했습니다.
AWS에서 대규모 시스템을 운용하는 경우 public IPv4에 대한 비용 지출이 꽤 클 것으로 예상되는데요,
이에 따라 많은 커뮤니티에서 IPv6에 대한 관심을 가지기 시작한 것 같습니다.
Github Actions를 통해 SSH 접근이 가능할까요?
appleboy/ssh-action 을 사용하여 ipv6 ssh 접근을 시도했으나 기존에는 기술 구현이 되어있지 않아 연결이 불가능했습니다.
하지만 최근 (바로 어제) 레포지토리에 ipv6 테스트 및 머지가 완료되었습니다.
workflow
ssh:
name: Connection Test
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v1
- name: Set up WARP
uses: fscarmen/warp-on-actions@v1.1
with:
stack: dual
- name: testing ipv6 for command
run: |
curl -m 9 --ipv6 --verbose https://google.com
- name: test ipv6
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ubuntu
key: ${{ secrets.KEY }}
protocol: tcp6
port: 22
command_timeout: 30s
script: |
whoami
다음과 같이 workflow 파일을 구성하여 IPv6 SSH 접근이 가능합니다.
반드시 Set up WARP를 넣어야 하고, appleboy/ssh-action 사용 시 protocol: tcp6를 입력해야 합니다.
이제 Github Actions 에서도 IPv6를 지원하게 되었군요!
https://github.com/actions/runner-images/issues/668
이와 관련된 이슈입니다.
해결되지 않은 문제
아직 IPv4만 지원하는 디바이스가 많습니다. 당장 제가 사용하고 있는 라우터도 IPv6를 지원하지 않습니다.
비용을 절감하겠다고 가용성을 포기하는 기업은 없을 것 같습니다..
결국 IPv4만을 지원하는 디바이스가 IPv6로 접속할 수 있도록 하는 다른 솔루션이 필요합니다.
그렇게 된다면 효율성 문제도 생기므로 고민할 거리가 한두가지가 아닐 것 같군요.