Back to blog
DevOps1 min read2024년 3월 17일

Github Actions: ssh-aciton IPv6 지원

public IPv4 과금이 시작되면서 IPv6로 SSH를 붙이려 했지만 액션이 지원하지 않아, 직접 지원을 추가한 이야기입니다.

https://aws.amazon.com/ko/blogs/aws/new-aws-public-ipv4-address-charge-public-ip-insights/

New – AWS Public IPv4 Address Charge + Public IP Insights | Amazon Web Services

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

IPv6 on GitHub-hosted runners · Issue #668 · actions/runner-images

이와 관련된 이슈입니다.

해결되지 않은 문제

아직 IPv4만 지원하는 디바이스가 많습니다. 당장 제가 사용하고 있는 라우터도 IPv6를 지원하지 않습니다.

비용을 절감하겠다고 가용성을 포기하는 기업은 없을 것 같습니다..

결국 IPv4만을 지원하는 디바이스가 IPv6로 접속할 수 있도록 하는 다른 솔루션이 필요합니다.

그렇게 된다면 효율성 문제도 생기므로 고민할 거리가 한두가지가 아닐 것 같군요.

Topics

github-actionsipv6networking