AWS CLIを使用してEC2へのSSH接続方法


  1. 前提条件:

    • AWS CLIがインストールされていること
    • EC2インスタンスが作成されていること
    • EC2インスタンスに対して適切なセキュリティグループルール(SSHトラフィックを許可する)が設定されていること
  2. EC2インスタンスのパブリックIPアドレスまたはDNS名を取得します。以下のコマンドを使用します:

    aws ec2 describe-instances --instance-ids <instance-id> --query 'Reservations[].Instances[].PublicIpAddress' --output text
  3. SSH接続を確立します。以下のコマンドを使用します:

    ssh -i <key-pair.pem> ec2-user@<public-ip-address>
    • <key-pair.pem>: EC2インスタンスに関連付けられたキーペアのパス
    • <public-ip-address>: EC2インスタンスのパブリックIPアドレス
  4. SSH接続が成功すると、EC2インスタンスにログインできます。

コード例:

  • EC2インスタンスへのSSH接続を確立するスクリプト(Bash)の例:

    #!/bin/bash
    instance_id=<instance-id>
    key_pair=<key-pair.pem>
    public_ip=$(aws ec2 describe-instances --instance-ids $instance_id --query 'Reservations[].Instances[].PublicIpAddress' --output text)
    ssh -i $key_pair ec2-user@$public_ip
  • EC2インスタンスにSSH接続するPythonスクリプトの例(boto3ライブラリを使用):

    import boto3
    import paramiko
    instance_id = '<instance-id>'
    key_pair = '<key-pair.pem>'
    ec2 = boto3.resource('ec2')
    instance = ec2.Instance(instance_id)
    public_ip = instance.public_ip_address
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(public_ip, username='ec2-user', key_filename=key_pair)
    # 接続成功後の処理
    # ...
    ssh.close()

以上が、AWS CLIを使用してEC2インスタンスへのSSH接続方法といくつかのコード例です。これらの手順とコードを使用することで、CLIを介して簡単にEC2インスタンスにアクセスすることができます。