Object Storage Service (OSS) は、バケットを視覚化して管理できるコンソールと使いやすいツールを提供します。 インスタンスデータを永続的に保存し、インスタンス間でデータを分散してコストを削減できます。 OSSは、設定ファイルやフロントエンド静的ファイルのマウントなど、書き込み操作よりも多くの読み取り操作を実行する必要があるシナリオに適しています。
前提条件
OSSが有効化されています。 詳細については、「OSSの有効化」をご参照ください。
バケット作成についての 詳細については、「バケットの作成」をご参照ください。
AccessKey ペアが作成されていること。 詳細については、「AccessKeyペアの取得」をご参照ください。
手順
アプリケーション作成時のOSSストレージの設定
SAEコンソールにログインします。
左側のナビゲーションウィンドウで、[アプリケーション] をクリックします。 上部のナビゲーションバーで、リージョンを選択します。 次に、[アプリケーションの作成] をクリックします。
では、基本情報ステップ、パラメータを設定し、次条: アプリケーションの配置設定.
では、デプロイの設定ステップを設定し、Technology Stackプログラミング言语とアプリケーションの配置方法パラメータと対応する設定。
では、永続ストレージセクションをクリックし、OSSタブでパラメーターを設定します。
AccessKey IDとAccessKeyシークレットパラメーターを使用します。
Alibaba Cloudのベストプラクティスに従い、RAMユーザーのAccessKeyペアを使用してOSS API操作を呼び出すことを推奨します。 RAMユーザーにOSSリソースへのアクセス権限が最小限付与されていることを確認する必要があります。 次のサンプルコードは、test-saeバケットのoss-test/ ディレクトリのRAMユーザーに付与できる読み取り専用権限を示しています。
{ "Statement": [ { "アクション": "oss:GetBucket" 、 "Effect": "Allow", "Resource": "acs:oss:*:*:test-sae" }, { "Action": "oss:GetObject", "Effect": "Allow", "リソース": "acs:oss:*:*:/" } ], "バージョン": "1" }
[追加] をクリックし、パラメーターを設定します。 下表にパラメーターを示します。
パラメーター
説明
例
バケット
既存のOSSバケット。
bucketname
Mountディレクトリ
既存のOSSディレクトリまたはOSSオブジェクト。 指定されたディレクトリまたはオブジェクトが無効な場合、例外が発生します。
例:
/
説明/は、バケットがマウントされるルートディレクトリを示します。
tmp/oss-test/
tmp/oss-demo.log
コンテナパス
SAEのコンテナパス。 指定したディレクトリは、元の値を上書きします。 指定したディレクトリが存在しない場合、SAEは自動的にディレクトリを作成します。
/home/admin/app/php/
権限
コンテナーパスを介してマウントディレクトリにマウントされているOSSリソースにアクセスするためのアプリケーションの権限。 有効な値:
読み取り専用
読み書き
読み取り専用
[次へ: 仕様の確認] をクリックします。
仕様の確認ステップで、アプリケーションの詳細と選択した仕様の料金を表示します。 次に、[確認] をクリックします。
作成完了ステップが表示されます。 [アプリケーションの詳細] をクリックすると、アプリケーションの [基本情報] ページに移動できます。
アプリケーションのデプロイ時のOSSストレージの設定
アプリケーションを再デプロイすると、アプリケーションは再起動されます。 業務中断などの予測できないエラーを防ぐため、オフピーク時にアプリケーションをデプロイすることを推奨します。
アプリケーションを更新するために実行できる手順は、アプリケーション内のインスタンスの数によって異なります。 このセクションでは、インスタンス数が1以上のアプリケーションに必要な機能を設定する方法の例を示します。 インスタンス数が0のアプリケーションの更新方法については、「アプリケーションの更新」をご参照ください。
SAEコンソールにログインします。
左側のナビゲーションウィンドウで、[アプリケーション] をクリックします。 上部のナビゲーションバーで、リージョンを選択します。 次に、アプリケーションの名前をクリックします。
の右上隅に基本情報ページをクリックします。アプリケーションのデプロイ.
では、永続ストレージセクションをクリックし、OSSタブでパラメーターを設定します。
AccessKey IDとAccessKeyシークレットパラメーターを使用します。
Alibaba Cloudのベストプラクティスに従い、RAMユーザーのAccessKeyペアを使用してOSS API操作を呼び出すことを推奨します。 RAMユーザーにOSSリソースへのアクセス権限が最小限付与されていることを確認する必要があります。 次のサンプルコードは、test-saeバケットのoss-test/ ディレクトリのRAMユーザーに付与できる読み取り専用権限を示しています。
{ "Statement": [ { "アクション": "oss:GetBucket" 、 "Effect": "Allow", "Resource": "acs:oss:*:*:test-sae" }, { "Action": "oss:GetObject", "Effect": "Allow", "リソース": "acs:oss:*:*:/" } ], "バージョン": "1" }
[追加] をクリックし、パラメーターを設定します。 下表にパラメーターを示します。
パラメーター
説明
例
バケット
既存のOSSバケット。
bucketname
Mountディレクトリ
既存のOSSディレクトリまたはOSSオブジェクト。 指定されたディレクトリまたはオブジェクトが無効な場合、例外が発生します。
例:
/
説明/は、バケットがマウントされるルートディレクトリを示します。
tmp/oss-test/
tmp/oss-demo.log
コンテナパス
SAEのコンテナパス。 指定したディレクトリは、元の値を上書きします。 指定したディレクトリが存在しない場合、SAEは自動的にディレクトリを作成します。
/home/admin/app/php/
権限
コンテナーパスを介してマウントディレクトリにマウントされているOSSリソースにアクセスするためのアプリケーションの権限。 有効な値:
読み取り専用
読み書き
読み取り専用
設定後、[確認] をクリックします。
OSSバケットのマウント解除
アプリケーションを再デプロイすると、アプリケーションは再起動されます。 業務中断などの予測できないエラーを防ぐため、オフピーク時にアプリケーションをデプロイすることを推奨します。
OSSバケットのマウント後にOSSストレージを使用しなくなった場合は、OSSバケットのマウントを解除できます。 SAEコンソールでOSSバケットをアンマウントした後、OSSバケットに保存されているデータは保持されます。 詳細については、「アプリケーションのデプロイ時のOSSストレージの設定」をご参照ください。 手順4に従って、マウントを解除するOSSストレージ設定を見つけ、[操作] 列のアイコンをクリックします。
マウント結果の確認
次のいずれかの方法を使用して、ビジネス要件に基づいてOSSバケットがマウントされているかどうかを確認します。
変更レコードに基づいてマウント結果を確認します。
アプリケーションの作成中またはデプロイ中にOSSストレージを設定した後に生成されたインスタンスで例外が発生しない場合、OSSバケットはマウントされます。
コンテナーに基づいてマウント結果を確認します。
インスタンスのwebshellで次のコマンドを実行して、OSSバケットのマウント情報がアプリケーションに存在するかどうかを確認します。
cat /proc /マウント | grep ossfs
次の出力が返されると、OSSバケットがマウントされます。
ビジネスに基づいてマウント結果を確認します。
WebシェルでOSSバケットがマウントされているパスでコマンドを実行します。 操作記録がOSSコンソールにある場合、OSSバケットがマウントされます。
よくある質問
OSSを使用してログを保存できますか?
OSSをログ永続化ツールとして使用しないことを推奨します。 OSSは、画像、オーディオ、ビデオファイルなど、大量のデータ処理が必要なシナリオに適しています。 OSSは、webページとモバイルアプリケーションの静的リソースと動的リソースが分離されているシナリオにも適しています。
ログデータの永続性を確保するために、ログシナリオでSimple Log Serviceを使用することを推奨します。 詳細については、「ログ収集をSimple log Serviceに設定する」をご参照ください。