酒とロック

WordPress、Mac、その他日常で覚えておくべきことを備忘録としてメモしています。

Mac

AmazonCloud(AWSアマゾンクラウド)にFTP(Cyberduck)で接続できなくなった時の対処法

2014/11/19

AmazonCloud(AWS)を仕事で利用しています。

ウェブデータをAWS側にアップしてサーバーの負荷を軽減するために使用しているのですが、FTP(Cyberduck)から急に接続できなくなってしまいました。

どうやらAmazon側のアクセス仕様が変更になったようです。素人ながら苦労して何とか接続できるようになったので、その方法を備忘録として記しておきます。

正しい設定方法などはサポートに聞くのが一番良いと思いますので、あくまでも参考事例としてお読みください。

AmazonCloud(AWS)にFTP接続できなくなった

当方、Cyberduckを用いてAmazonCloudに接続をしていました。
アクセスIDとシークレットキーを入力してログインするのですが、急に接続できなくなりました(2014年7月時点)。

管理画面を確認

FTPクライアントのCyberduckからは、アクセスキーIDとシークレットアクセスキーでログインします。
amazon-1
いずれかの有効期限が切れたのかと思い、AmazonCloud側の管理画面にログインして確認してみました。ログイン後、アカウント名の項目から「Security Credentials」を選択し、アクセスキーとシークレットキーを確認。

amazon-2
すると見慣れないアラートが表示されていました。

amazon-3
アラートにはこんな文字が。

You are accessing the security credentials page for your AWS account. The account credentials provide unlimited access to your AWS resources.
To help secure your account, follow an AWS best practice by creating and using AWS Identity and Access Management (IAM) users with limited permissions.

AWSアカウントのセキュリティを作成して、IDやアクセス管理を使用すれば、アカウントのセキュリティを保護しますよ…みたいなことが書かれていました。

IAMユーザーアカウントを取得せよみたいなボタンが右にありましたが、とにかくシークレットIDについて調べたかったので、「Continue to Security Credentials」をクリック。

アクセスキーやシークレットIDが表示されているAccess Keys (Access Key ID and Secret Access Key)欄を表示させると、さらにアラート表示がされていました。
amazon-4

Important Change - Managing Your AWS Secret Access Keys
As described in a previous announcement, you cannot retrieve the existing secret access keys for your AWS root account, though you can still create a new root access key at any time. As a best practice, we recommend creating an IAM user that has access keys rather than relying on root access keys.

カンタンに翻訳するとかんなかんじ。

重要な変更です
以前にもお知らせしたとおり、既存のシークレットキーは受け取れませんが、新しいルートアクセスキーは発行できますよ。IAMユーザーのアクセスキーを作成してね。

細かい説明は省略しますが、どうやらアクセス権限をそれぞれ設定し、それぞれのユーザーアカウントを作成。各アクセスIDやシークレットキーによってFTPで接続する仕様になったようです。とにかく、新しいユーザーアカウントを発行しなければなりません。

AmazonCloudにFTPクライアントでアクセスするための手順

早速、CyberduckでAmazonCloudにアクセスするために、新しいアクセスIDとシークレットキーを作成します。

新規IAMユーザーを作成し、アクセスIDとシークレットキーを生成する

先ほど表示させていた「Your Security Credentials」画面の左メニュー「Users」をクリック。個人アカウントを作成する画面が表示されますので、上部の青いボタン「Create New Users」をクリック。
amazon-5

続いて、ユーザーネームを設定し、アカウントを作成します。
するとアラート画面が表示されますので、ここの「Show User Security Credentials」をクリック。
amazon-6
amazon-7
ここに新規作成したユーザーのアクセスキーIDとシークレットアクセスキーが表示されますので、この情報をダウンロードしておきます。
amazon-8

新規作成したユーザーのアクセス権限を設定します。作成したユーザーネームにチェックを入れると画面下に詳細タブが表示されます。
amazon-9
タブの「Permissions」を選択し、アクセス権限を設定します。
amazon-10
以上が、AmazonCloud側の設定です。

CyberduckにアクセスIDとシークレットキーを設定

続いて、Cyberduckで接続をします。
Cyberduckを起動させて、画面左下の+ボタンを押し、新規ブックマークを作成します。
すると、設定タブが表示されます。
amazon-11
上部プルダウンを「S3(Amazonシンプルストレージサービス)」にして、ユーザー名を入力します。
さきほどAmazonCloudの設定画面でダウンロードしておいた「credentials.csv」ファイルにアクセスキーIDが記されていますので、それをコピペして入力。
amazon-12
続いてCyberduckの「詳細設定」をクリックしてタブを表示させ、「パス」の欄にシークレットキーをコピペします。
amazon-13
とりあえず、これで接続すればつながるはずです。
amazon-14
amazon-15
つながりました。
ネットで検索しても同じような事例が出てこなかったので苦労しました。
はぁ〜、長かった。

まとめ

手順としては、おおまかに3ステップ。

  1. AmazonCloudの管理画面でIAMユーザーアカウントを作成
  2. アクセスIDとシークレットキーを発行する
  3. それらをFTPクライアントに入力して接続する

仕様変更については事前にアナウンスされていたのでしょうが、日頃の仕事に忙殺されていてしまいスルーしてしまったのがいけなかったです。しかも一日50件ちかくメールを受信する中で英語のアナウンスが届いても、まず読まない!そんな私が悪いのですが…(^_^;)

-Mac