Amazon S3とローカルPCをWinSCPでシンプルにファイル共有してみた

AWS

2024.4.30

Topics

はじめに

こんにちは、Shunです。

今回は、WinSCPを使ってS3にアクセスする方法をご紹介します。

この記事では、アクセスキーとシークレットキーを使ってS3にアクセスする手順を説明します。
実際に使用する際には、キーの取り扱いに十分に注意してください。

WinSCPとは

WinSCPは、MS-Windows上で動く オープンソースでグラフィカルなFTP、FTPS、SFTPクライアントプログラムです。旧来のSCPプロトコルもサポートします。このプログラムの主な機能は、ローカルコンピューターとリモートコンピュータ間で安全にファイルをコピーすることです。これに加え、WinSCPはスクリプトと基本的なファイルマネージャー機能を提供します。
出典: WinSCPとは

やってみた

1. WinSCPのインストール

まず、以下のリンクからWinSCPをダウンロードしてインストールしてください。

WinSCP 6.3 Download

2. S3の設定

S3のコンソールからバケットを作成します。

バケット名を入力し、ACL無効のまま設定を行います。

また、外部からのアクセスをすべてブロックするように設定してください。

バックアップのために、バージョニングを有効化し、暗号化にはAmazon管理のS3キーを使用します。

これで、S3のバケット作成は完了です。

2. IAMポリシーの作成

続いて、IAMポリシーを作成します。
[IAM] > [ポリシー] > [ポリシーの作成] を選択します。

JSON形式のポリシーエディタを開いて、以下の内容を貼り付けます。ポリシーには、先ほど作成したS3バケットの名前を指定してください。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::[バケット名]"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::[バケット名]/*"
            ]
        }
    ]
}

ポリシーに任意の名前を付け、作成を完了します。

3. IAMユーザーの作成

[IAM] > [ユーザー] > [ユーザーの作成] を選択します。

任意のユーザー名を入力し、コンソールへのユーザーアクセスは無効にします。

その後、作成したIAMポリシーをユーザーにアタッチします。

4. アクセスキーの発行

アクセスキーの取り扱いは、細心の注意を払う必要があります。
本章を実施する前に、以下のドキュメントをご確認ください。

AWS アクセスキーを管理するためのベストプラクティス

アクセスキーを発行するには、作成したIAMユーザーを選択して[アクセスキーを作成]を選びます。

[その他]を選択し、[次へ]を押下します。

[説明タグ値]は設定せず、[アクセスキーを作成]を押下します。

アクセスキーとシークレットキーを控えます。シークレットキーは、後で確認できないため、.csvファイルもダウンロードしておきます。
(これらのキーは、パブリックな場所や外部から閲覧可能な場所へ決して置かないでください。)

5. WinSCPの設定

WinSCPを開き、転送プロトコルとして[Amazon S3]を選択します。
アクセスキーとシークレットキーには、先ほど発行したキーを入力します。

次に、[設定]を選択します。

[ディレクトリ] > [リモートディレクトリ] へ作成したS3バケット名の先頭に/をつけ、入力します。
例: /s3-bucket

ログインします。

ログインすると、以下のような画面が表示されます。
ここでは、左側がローカルPC、右側がS3です。

ドラッグアンドドロップでファイルをローカルからS3へアップロードします。

S3から確認すると、index.htmlがアップロードされていることが確認できます。

まとめ

今回は、WinSCPを使用してS3とローカルPCの間でファイル共有を行う方法をご紹介しました。
IAMアクセスキーの利用は慎重に行う必要がありますが、設定自体は非常に簡単です。

この記事では、S3バケット全体に権限を付与しましたが、バケット内のディレクトリごとに権限を割り当てることも可能です。

最後まで読んでいただきありがとうございます!

テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!

Shun

Google Cloud Partner Top Engineer 2025、2024 AWS All Cert、ビール検定1冠

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら