Amazon S3と連携して、Storageにファイルを保存する
Amazon S3との連携方法を解説します。
Amazon S3と連携することで、Kurocoからアップロードした画像や動画ファイルを、Amazon S3のStorageに格納し利用できます。
Amazon S3の設定
バケットを作成する
Amazon S3のサイトへアクセスし、[Simple Storage Service (Amazon S3) の使用を開始する]をクリックします。
ルートユーザーでサインインします。
AWSのアカウントを持っていない場合はこちらからサインアップしてください。
[バケットを作成]をクリックします。
以下のように設定し、[バケットを作成]をクリックします。
項目 | 値 |
---|---|
バケット名 | 任意の名称を入力する。(本チュートリアルではkuroco-sample ) |
AWSリージョン | アジアパシフィック (東京) ap-northeast-1 |
オブジェクト所有者 | [ACL有効]にチェックを入れる。 [希望するバケット所有者]を選択する。 |
このバケットのブロックパブリックアクセス設定 | ・パブリックアクセスをすべて ブロック:チェックを外す ・新しいアクセスコントロールリスト (ACL) を介して付与されたバケットとオブジェクトへのパブリックアクセスをブロックする:チェックを外す ・任意のアクセスコントロールリスト (ACL) を介して付与されたバケットとオブジェクトへのパブリックアクセスをブロックする:チェックを外す ・新しいパブリックバケットポリシーまたはアクセスポイントポリシーを介して付与されたバケットとオブジェクトへのパブリックアクセスをブロックする:チェックを入れる ・任意のパブリックバケットポリシーまたはアクセスポイントポリシーを介したバケットとオブジェクトへのパブリックアクセスとクロスアカウントアクセスをブロックする:チェックを入れる |
パブリックアクセスのブロックをすべてオフにすると、このバケットとバケット内のオブジェクトが公開される可能性があります。 | [現在の設定により、このバケットとバケット内のオブジェクトが公開される可能性があることを承認します。]にチェックを入れる |
バケットのバージョニング | [無効にする]にチェックを入れる |
デフォルトの暗号化 | [無効にする]にチェックを入れる |
Cross-Origin Resource Sharing (CORS)の設定をする
続いて、Amazon S3のCORSの設定をします。
Amazon S3のバケットページから先ほど作成したバケット名をクリックします。
[アクセス許可]のタブをクリックします。
[Cross-Origin Resource Sharing (CORS)]の[編集]をクリックします。
Cross-Origin Resource Sharing (CORS)の編集画面が表示されるので、下記を設定します。
https://****.g.kuroco-mng.app
の部分はご自身のKuroco管理画面のURLにしてください。
[
{
"AllowedHeaders": [
"Content-Type",
"x-amz-acl",
"x-amz-meta-*",
"Origin"
],
"AllowedMethods": [
"GET",
"POST",
"HEAD"
],
"AllowedOrigins": [
"https://****.g.kuroco-mng.app"
],
"ExposeHeaders": [],
"MaxAgeSeconds": 3000
}
]
入力が完了したら[変更の保存]をクリックします。
ポリシーを作成する
次に、ポリシーを作成し、Kurocoに与えるアクセス許可の内容を定義します。
画面右上のユーザ名から[セキュリティ認証情報]をクリックします。
[ポリシー]をクリックします。
[ポリシーの作成]をクリックします。
ポリシーの作成画面が表示されるので、JSONのタブを開き、下記を設定します。
%%yourbucket%%
の部分は該当バケット名にしてください。(本チュートリアルではkuroco-sample
)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": "arn:aws:s3:::%%yourbucket%%"
},
{
"Action": [
"s3:*"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::%%yourbucket%%/*"
]
}
]
}
%%%yourbucket%%
の部分はご自身のバケット名にしてください。
入力が完了したら[次のステップ:タグ]をクリックします。
タグについては設定不要なので、そのまま[次のステップ:確認]をクリックして進みます。
ポリシーの確認ページが表示されるので、名前の項目を入力して[ポリシーの作成]をクリックします。
今回はkuroco-s3
という名前を付けました。
アクセスキーを作成する
次に、Kurocoと接続するためのアクセスキーを作成しますが、ルートユーザーでのアクセスキー作成は、AWSアカウント全体への無制限アクセスが可能になるため、推奨されていません。
そこで、制限されたアクセス許可を持つ新しい IAM ユーザーを作成し、そのユーザーのアクセスキーを生成するようにします。
[ユーザー]をクリックします。
[ユーザーを追加]をクリックします。
ユーザー名を入力し、AWS 認証情報タイプは[アクセスキー - プログラムによるアクセス]を選択し、[次のステップ:アクセス権限]をクリックします。
項目 | 値 |
---|---|
ユーザー名 | kuroco-sample-admin |
AWS 認証情報タイプを選択 | [アクセスキー - プログラムによるアクセス]にチェックを入れる |
[既存のポリシーを直接アタッチ]を選択し、先ほど作成したポリシーを検索して選択し、[次のステップ:タグ]をクリックします。
項目 | 値 |
---|---|
アクセス許可の設定 | 既存のポリシーを直接アタッチ |
ポリシー名 | kuroco-s3 を選択 |
アクセス権限の境界の設定 | アクセス権限の境界を設定せずにuserを作成するを選択 |
タグについては設定不要なので、そのまま[次のステップ:確認]をクリックして進みます。
内容を確認し、[ユーザーの作成]をクリックします。
ユーザーが作成されたら「アクセスキー ID」と「シークレットアクセスキー」が表示されるので、メモをして[閉じる]をクリックします。
シークレットアクセスキーは画面を閉じると再表示できませんので、ご注意ください。
Kurocoの設定
ここからはKurocoの管理画面にて作業をします。
[外部システム連携]->[Amazon S3]をクリックします。
Amazon S3との連携画面が表示させるので、「バケット名」「アクセスキーID」「シークレットアクセスキー」を入力して[更新する]をクリックします。
利用方法
ファイル
接続完了後、[ファイルマネージャー]をクリックすると、S3の表示が確認でき、ファイルをアップロードできます。
コンテンツ定義
Kuroco管理画面のコンテンツ定義より、設定項目で[ファイル(S3)]を選択します。
コンテンツ編集画面にファイルアップロードフィールドが表示されます。
こちらからファイルをアップロードすると、Amazon S3のStorageにファイルがアップロードされるようになります。
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。