NAS と比較すると、Object Storage Service (OSS) は、バケットを視覚的に管理するためのユーザーフレンドリーなツールとコンソールを提供します。永続ストレージやアプリケーションインスタンス間でのデータ配信のための、費用対効果の高いソリューションです。OSS は、設定ファイルのマウントやフロントエンドの静的ファイルの配信など、読み取り中心のシナリオに最適です。
前提条件
設定へのアクセス
設定にアクセスする手順は、シナリオによって異なります:
アプリケーションの作成
SAE コンソール にログインし、左側メニューで [Applications] > [Application List] を選択します。次に、対象のリージョンと対象の名前空間を選択し、Create Application をクリックします。
Basic Information ウィザードページで設定を構成し、Next: Advanced Settings をクリックします。
実行中のアプリケーションの変更
アプリケーションを再デプロイすると、アプリケーションは再起動されます。 業務中断などの予測できないエラーを防ぐため、オフピーク時にアプリケーションをデプロイすることを推奨します。
SAE コンソール にログインし、左側メニューで [Applications] > [Application List] を選択します。対象のリージョンと名前空間を選択し、対象アプリケーションの名前をクリックします。
対象アプリケーションの Basic Information ページで、Deploy Application をクリックします。
停止中のアプリケーションの変更
SAE コンソール にログインします。左側メニューで [Applications] > [Application List] を選択し、対象のリージョンと名前空間を選択して、対象アプリケーションの名前をクリックします。
対象アプリケーションの Basic Information ページで、[Modify Application Configuration] をクリックします。
操作手順
Configure Persistent Storage セクションを展開し、Enable OSS をオンにします。
OSS ストレージのマウント
-
[AccessKey ID] と [AccessKey Secret] を入力します。
セキュリティのベストプラクティスとして、RAM ユーザーの AccessKey ペアを使用して OSS API を呼び出します。たとえば、RAM ユーザーに test-sae バケット内の oss-test/ ディレクトリへの読み取り専用アクセスを付与するには、以下の最小権限を付与します。
{ "Statement": [ { "Action": "oss:GetBucket", "Effect": "Allow", "Resource": "acs:oss:*:*:test-sae" }, { "Action": "oss:GetObject", "Effect": "Allow", "Resource": "acs:oss:*:*:test-sae/oss-test/*" } ], "Version": "1" } -
OSS マウント設定を構成します。複数のエントリを追加するには、[追加] をクリックします。
パラメータ
説明
例
バケット
既存の OSS バケット。
bucketname
[Mount Directory]
既存の OSS ディレクトリまたはオブジェクト。指定したマウントディレクトリが存在しない場合、エラーが発生します。
例:
-
/
説明バケットのルートをマウントします。
-
tmp/oss-test/
-
tmp/oss-demo.log
[Container Path]
SAE コンテナ内のパス。パスが存在する場合、その内容は上書きされます。パスが存在しない場合は作成されます。
/home/admin/app/php/
[Permission]
コンテナパスがマウントされたリソースに対して持つ権限。有効な値:
-
読み取り専用
-
読み取り/書き込み
読み取り専用
-
OSS ストレージのアンマウント
OSS ストレージが不要になった場合、アンマウントすることができます。SAE コンソールからバケットをアンマウントしても、OSS に保存されているデータは削除されません。
OSS 設定をアンマウントするには、アンマウントする項目を見つけ、[操作] 列にある
アイコンをクリックします。
検証
-
デプロイの詳細を確認します。
インスタンスで例外が発生せず、デプロイが成功していれば、マウントは成功しています。
-
コンテナ内部から検証します。
Webshell にログインし、次のコマンドを実行して OSS のマウント情報を検証します。
cat /proc/mounts | grep ossfsマウントが成功すると、次のような出力が返されます。
# cat /proc/mounts | grep ossfs ossfs /xxx fuse.ossfs ro,relatime,user_id=0,group_id=0,allow_other 0 0 -
アプリケーションレベルで検証します。
Webshell にログインし、マウントされた OSS ファイルシステムのパスで操作を実行します。OSS コンソールに変更が反映されれば、マウントは成功しています。
よくある質問
OSS を使用してログを保存できますか?
ログの永続ストレージには、Simple Log Service (SLS) または ApsaraMQ for Kafka を使用してください。
ログの永続ストレージに OSS を使用しないでください。OSS は、インターネットの画像や音声・動画ファイルなどの大量のファイル処理ワークロードや、Web ページやアプリケーションの静的リソースと動的リソースの分離のために設計されています。
トラブルシューティング
マウントの失敗、コンテナ内にマウントパスが存在しない問題、権限エラーなどの問題が発生した場合は、次の手順でトラブルシューティングを行ってください。
-
設定した OSS バケットが存在することを確認します。
-
コンソールからアプリケーションをデプロイする場合、同じアカウントとリージョンにある既存の OSS バケットからのみ選択できます。
-
API、SDK、saectl ツール、Jenkins プラグインなどの他の方法でアプリケーションをデプロイする場合は、OSS コンソールにログインし、指定した OSS バケット名が 同じアカウントとリージョン に存在することを確認します。
-
-
AccessKey ID と AccessKey Secret に関連付けられている RAM ユーザーの権限を確認します。
-
AccessKey ID と AccessKey Secret に関連付けられている RAM ユーザーを特定します。
-
RAM ユーザーが、設定された OSS バケットに対して必要な権限を持っていることを確認します。
-
-
バケットポリシーを確認します。
-
OSS コンソールにログインします。対象のバケットの詳細ページで、左側のナビゲーションペインからを選択します。
-
バケットポリシーが SAE からのアクセスをブロックしていないか確認します。具体的には、次の表に示すように、お使いのリージョンの SAE のパブリック IP アドレスが許可リストに追加されていることを確認してください。
説明SAE の具体的なパブリック IP アドレスを取得するには、DingTalk グループ (ID: 32874633) のテクニカルサポートにお問い合わせください。
リージョン
IP アドレス
cn-hangzhou
47.99.xx.xx
cn-shanghai
47.101.xx.xx
cn-beijing
47.94.xx.xx
cn-zhangjiakou
121.89.xx.xx
cn-wulanchabu
8.130.xx.xx
cn-shenzhen
39.108.xx.xx
cn-heyuan
47.121.xx.xx
cn-guangzhou
8.134.xx.xx
cn-chengdu
47.108.xx.xx
cn-hongkong
47.243.xx.xx
8.210.xx.xx
ap-southeast-1
8.219.xx.xx
eu-central-1
8.211.xx.xx
us-west-1
47.89.xx.xx
us-east-1
47.252.xx.xx
-