Amazon S3 オブジェクト ストレージを設定する

チームのデータ セットが大きい、または増加している場合は、スケーラビリティを高めるためにアバターを Amazon S3 オブジェクト ストレージに保存することを検討してください。このタイプのストレージは、従来のファイル システムとは異なり、データの保存用に適切に設計され、最適化されています。Amazon S3 とその仕組みの詳細をご確認ください。

アトラシアンでは、現在、ユーザー アバター、課題タイプ アイコン、プロジェクト アイコンの保存用に Amazon S3 をサポートしています。Jira Service Management では、リクエスト タイプ アイコンも対象となります。

アバター データの保存用に S3 バケットを設定する方法をご確認ください。

次の図は、オブジェクト ストレージの仕組みを示しています。Jira にアップロードされたアバターは、Amazon S3 バケットに保存され、そこから取得されます。

S3 オブジェクト ストレージの仕組みを示す図。Jira にアップロードされたアバターは Amazon S3 バケットに保存され、そこから取得されます。

Amazon S3 が自社に最適かどうかを確認する

Amazon S3 を使用してアバター データを保存することを検討している場合は、次のいくつかのセクションを読んで、この保存方法が自社に適しているかどうかを確認してください。

Jira のアバター データの保存に Amazon S3 を使用できるようになりました。アトラシアンでは、Jira の添付ファイルに対しても同じ保存方法を導入するように取り組んでいます。

Amazon S3 の要件

Amazon S3 オブジェクト ストレージを使用するための要件は次のとおりです。

Amazon S3 の制限事項

Amazon S3 をデータ ストレージとして使用することを計画している場合は、次のことを考慮してください。

  • これは、現時点で Jira で唯一サポートされているオブジェクト ストレージ ソリューションです。

  • S3 オブジェクト ストレージは、現段階ではアバター専用です。添付ファイル、プラグイン、インデックス スナップショット データなどの他のデータには引き続きファイル システム ストレージを使用する必要があります。

Amazon S3 をデータ ストレージとして設定する

Amazon S3 のセットアップを開始する前に、設定の要件と現在の制限事項を必ずお読みください。 

1. Amazon S3 バケットを作成する

Amazon S3 の使用を開始するには、まずアバター データ用の S3 バケットを作成する必要があります。その方法については、Amazon から公式ガイドが公開されています。

バケットが正しく保護され、公開されていないことをご確認ください。

Amazon S3 バケットの設定とセキュリティ確保はユーザーの責任であり、アトラシアンは S3 のセットアップに関連する問題に対する直接的なサポートは提供していません。

バケット権限をセットアップする

S3 バケットに対する読み取り / 書き込みに必要な権限を Jira に付与してください。

  • s3:ListBucket

  • s3:PutObject

  • s3:GetObject

  • s3:DeleteObject

バケットの認証方法によっては、これらの権限は EC2 のバケット ポリシーと IAM ロールを通じてバケット レベルで適用できます。詳細については、次のリソースをご確認ください。

下記は、(最小権限モデルに基づいて) 適切な権限を提供する Identity and Access Management (IAM) ポリシーの例です。

{
    "Version": "2012-10-17",
    "Id": "PolicyForS3Access",
    "Statement": [
        {
            "Sid": "StatementForS3Access",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/JiraS3"
            },
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::jira-avatar-data/*",
                "arn:aws:s3:::jira-avatar-data"
            ]
        }
    ]
}

Amazon S3 の機能との互換性

Jira では Amazon S3 のほとんどの機能がサポートされていますが、特定の機能の設定に対しては互換性がありません。次の表はそれらをまとめたものです。

機能説明
バケットのバージョニング

Jira では、バージョニングが有効になっている S3 バケットにアバターを保存できます。ただし、アバターにはバージョニングを使用しないことを強くお勧めします。

Jira ではアバターを更新する際にオブジェクト キーは再利用されません。そのため、同じバケットにオブジェクトの複数のバージョンを保持するメリットは最小限に抑制されます。バケット バージョニングを有効にすると、削除されたアバターも保持されるようになるため、GDPR などのプライバシー規制に対するコンプライアンス上の問題が生じる可能性があります。

バケット バージョニングを有効にする方法の詳細をご確認ください。

Amazon S3 Intelligent-Tiering

Jira では、Intelligent-Tiering ストレージ クラスへのアバターの保存がサポートされています。ただし、オプションのアーカイブ アクセス階層とディープ アーカイブ アクセス階層はサポートされていません。

S3 Intelligent-Tiering アクセス階層の詳細をご確認ください。

Amazon S3 Glacier

Jira では、S3 Glacier ストレージ クラスを使用したアバターのアーカイブや復元はサポートされていません。

Amazon S3 Glacier ストレージ クラスの詳細をご確認ください。

2. Amazon S3 バケットを認証する

Jira では、Amazon S3 との通信に Java 2.x 用 AWS SDK が使用されます。Java 2.x 用 AWS SDK の設定の詳細をご確認ください。

SDK を認証する際には、Jira 環境内の認証情報が次の順序で検索されます。

  1. Java システムのプロパティ

  2. 環境変数

  3. AWS セキュリティ トークン サービス (AWS STS) の Web ID トークン

  4. 共有認証情報と config ファイル (~/.aws/credentials)

  5. Amazon ECS コンテナーの認証情報

  6. Amazon EC2 インスタンス プロファイルの認証情報

ご使用の環境に対する認証情報を設定する方法については、次の Amazon ガイドをご確認ください。

Amazon は、Amazon S3 アクセスを必要とするアプリや AWS サービスに IAM ロールを使用することを推奨しています。

バケット接続をテストする 

AWS S3 CLI を使用して、バケットが適切にセットアップされていることを確認する必要があります。Amazon S3 API をご確認ください。

バケットが正常に認証され、正しい権限が設定されていることを確認するには、次の手順に従います。

  1. テスト ファイルを作成します。 

    touch /tmp/test.txt
  2. ファイルをターゲット バケットに書き込むことで、S3:PutObject 権限を確認します。 

    aws s3api put-object --bucket <bucket_name> --key conn-test/test.txt --body /tmp/test.txt
  3. S3:ListBucket 権限を確認します。 

    aws s3api list-objects --bucket <bucket_name> --query 'Contents[].{Key: Key, Size: Size}'
  4. S3:GetObject 権限を確認します。

    aws s3api get-object --bucket <bucket_name> --key conn-test/test.txt /tmp/test.txt
  5. S3: DeleteObject 権限を確認します。

    aws s3api delete-object --bucket <bucket_name> --key conn-test/test.txt
  6. 元のテスト ファイルを削除します。

    rm /tmp/test.txt

Amazon S3 バケットを Jira に接続する

アバター データの保存用に Amazon S3 を設定したら、S3 バケットを Jira に接続する必要があります。アバター データの保存用に S3 バケットを設定する方法をご確認ください。

Amazon S3 をトラブルシューティングする

Amazon S3 の設定後に問題が発生することもあります。Amazon S3 アバター ストレージをトラブルシューティングする方法をご確認ください。


最終更新日 2023 年 5 月 29 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する

このセクションの項目

Powered by Confluence and Scroll Viewport.