すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:ECS 使用時のその他の問題

最終更新日:May 30, 2025

このトピックでは、Elastic Compute Service (ECS) インスタンスでサードパーティ製ソフトウェアを構成および使用するときに発生する可能性のある一般的な問題と、対応する解決策について説明します。

MySQL の問題

インスタンスに MySQL をインストールしてログインした後、インスタンスにデプロイされた MySQL に接続するときに「1045 - Access denied for user 'root'@'****'(using password:YES)」というエラーメッセージが表示される場合はどうすればよいですか?

問題の説明

ECS インスタンスに MySQL をインストールしてログインした後、正しいユーザー名とパスワードを使用してリモート IP アドレスから MySQL に接続すると、[1045 - Access Denied For User 'root'@'****'(using Password:YES)] というエラーメッセージが表示されます。

原因

ECS インスタンスに MySQL をインストールした後、MySQL はローカル IP アドレスからのログインのみを許可し、リモート IP アドレスからのログインは許可しません。

解決策

リモート IP アドレスから MySQL へのログインを許可するには、次の手順を実行します。

  1. ECS インスタンスに接続します。

    詳細については、「ECS インスタンスへの接続方法」をご参照ください。

  2. MySQL にログインし、次の SQL 文を実行して、root ユーザーに MySQL へのリモートログイン権限を付与します。

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    説明

    上記の SQL 文を実行すると、root ユーザーはすべての IP アドレスから MySQL にログインし、MySQL データベース内のオブジェクトに対する操作を実行できます。

    次の表に、SQL 文のパラメーターを示します。

    パラメーター

    説明

    *.*

    最初のアスタリスク (*) はデータベースのプレースホルダーです。* を指定すると、このパラメーターはすべてのデータベースを指定します。 2 番目のアスタリスク (*) はデータベーステーブルのプレースホルダーです。* を指定すると、このパラメーターはデータベース内のすべてのテーブルを指定します。

    'root'@'%'

    root は、ログイン権限が付与されるデータベースアカウントです。パーセント記号(%)は IP アドレスのプレースホルダーです。たとえば、1.1.1.1 の IP アドレスのみがデータベースにログインできるようにするには、%1.1.1.1 に変更します。% を指定すると、このパラメーターはすべての IP アドレスからのログインを許可することを意味します。

  3. 権限をリフレッシュするには、次の SQL 文を実行します。

    flush privileges; // 権限をリフレッシュします
  4. MySQL に再接続してください。問題が解決した場合、上記のエラーメッセージは表示されなくなります。

Linux ECS インスタンス上の MySQL に接続できず、「ERROR 2003 (HY000): Can't connect to MySQL server on '39.106.**.**' (110)」というエラーメッセージが表示される場合はどうすればよいですか?

問題の説明

Linux ECS インスタンス上の MySQL に接続できず、次のエラーメッセージが表示されます:[ERROR 2003 (HY000): Can't Connect To MySQL Server On '39.106.**.**' (110)]

原因

上記の事象は、Linux ECS インスタンスのポート 3306 がリッスン状態でないことが原因で発生する可能性があります。その結果、インスタンスの 39.106.**.** IP アドレスから MySQL にアクセスできません。

解決策

  1. MySQL がインストールされている Linux ECS インスタンスに接続します。

    詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. 次のコマンドを実行して、my.cnf 構成ファイルをバックアップします。

    cp my.cnf my.cnf.bak
  3. my.cnf 構成ファイルを修正します。

    1. 次のコマンドを実行して、my.cnf 構成ファイルを開きます。

      vim /etc/my.cnf
    2. i キーを押して挿入モードに入り、my.cnf ファイルに次の内容を追加します。

      bind-address = 0.0.0.0

      次の図は、コンテンツが追加される場所を示しています。

    3. Esc キーを押して挿入モードを終了し、:wq と入力して Enter キーを押して、ファイルを保存して閉じます。

  4. 次のコマンドを実行して MySQL を再起動し、ポート 3306 がリッスン状態であることを確認します。

    /etc/init.d/mysqld restart

ファイルのアップロードに関する問題

Very Secure FTP(VSFTP)を使用して Linux インスタンスにファイルをアップロードできない場合に「553 Could not create file」エラーメッセージが表示される場合はどうすればよいですか。

問題の説明

VSFTP を使用して Linux ECS インスタンスにファイルをアップロードできず、[553 Could Not Create File] エラーメッセージが表示されます。

原因

上記のエラーは、次の理由で発生する可能性があります。

  • Linux インスタンスのディスク容量が不足しています。

  • FTP home ディレクトリに対する write 権限が付与されていません。

解決策

Linux インスタンスのディスク容量の使用状況と FTP home ディレクトリの権限を確認するには、次の手順を実行します。

  1. Linux ECS インスタンスに接続します。

    詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. 次のコマンドを実行して、インスタンスのディスク容量が不足しているかどうかを確認します。

    df -h
    説明

    ディスクのパーティション使用率が 100% に達すると、ディスク容量が不足しています。

    次の図は、コマンド出力の例を示しています。コマンド出力の例では、/dev/xvda1 パーティションの使用率は 59% です。

  3. 次のコマンドを実行して、FTP home ディレクトリに対する write 権限が付与されているかどうかを確認します。

    説明

    実際の FTP home ディレクトリを指定します。この例では、/home/user ディレクトリが FTP ホームディレクトリとして使用されています。

    ls -l /home/user

    FTP ホームディレクトリに対する write 権限が付与されていない場合、次の図の赤い枠で示されているように、権限設定に w が含まれていません。

    1111

  4. 次のコマンドを実行して、FTP ホームディレクトリに対する write 権限を付与します。

    chmod +w /home/user
  5. 次のコマンドを実行して、FTP ホームディレクトリに対する書き込み権限が付与されているかどうかを確認します。コマンド出力に w が表示されている場合、FTP ホームディレクトリに対する write 権限が付与されています。

    ls -l /home/user

Windows ECS インスタンスで FTP を使用して FileZilla Server にファイルをアップロードするときに「550 Permission denied」エラーメッセージが表示される場合はどうすればよいですか。

問題の説明

Windows ECS インスタンスで FTP を使用して FileZilla Server にファイルをアップロードすると、[550 Permission Denied] エラーメッセージが表示されます。

原因

FTP アカウントに FileZilla Server に対する write 権限がありません。

解決策

  1. Windows ECS インスタンスに接続します。

    詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。

  2. FileZilla Server を実行します。[ユーザー] ウィンドウで、[共有フォルダ] を選択します。

  3. FTP アカウントに対応するユーザーとディレクトリを選択し、[書き込み] を選択して、[OK] をクリックし、ユーザーに書き込み権限を付与します。

Active Directory ( AD ) ドメインコントローラーのインストールエラー

AD ドメインコントローラーをインストールできず、「Active Directory ドメインサービスバイナリのインストールに失敗しました」というエラーメッセージが表示される場合はどうすればよいですか。

問題の説明

Windows ECS インスタンスに AD ドメインコントローラーをインストールできず、[Active Directory ドメインサービスバイナリのインストールに失敗しました] というエラーメッセージが表示されます。

原因

Windows イベントビューアーに表示されるエラーは、Remote Registry サービスが無効になっており、想定どおりに起動できないことを示しています。

解決策

Remote Registry サービスを起動するには、次の手順を実行します。

  1. Windows ECS インスタンスに接続します。

    詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。

  2. デスクトップのタスクバーで、[スタート] をクリックし、[ファイル名を指定して実行] を選択します。[ファイル名を指定して実行] ダイアログボックスに services.msc と入力し、[OK] をクリックします。

  3. [サービス] ウィンドウで、Remote Registry をダブルクリックして、[Remote Registry のプロパティ] ウィンドウを開きます。[Remote Registry のプロパティ] ウィンドウで、次の設定を行います。

    • [スタートアップの種類][自動] に設定します。

    • [サービスの状態] セクションで、[開始] をクリックし、Remote Registry サービスが想定どおりに起動できることを確認します。

  4. [OK] をクリックします。

AD ドメインコントローラーをインストールするときに「このコンピューターには動的に割り当てられた IP アドレスがあります」というエラーメッセージが表示される場合はどうすればよいですか。

問題の説明

Windows ECS インスタンスに AD ドメインコントローラーをインストールすると、[このコンピューターには動的に割り当てられた IP アドレスがあります] というエラーメッセージが表示されます。

原因

インスタンス上の少なくとも 1 つの物理ネットワークアダプターに静的 IP アドレスがありません。

解決策

  1. Windows ECS インスタンスに接続します。

    詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。

  2. AD ドメインコントローラーをインストールします。

  3. [静的 IP 割り当て] ウィンドウで、[はい] をクリックします。

説明

ループバックは動的ホスト構成プロトコル ( DHCP ) を使用し、静的 IP アドレスがなくても想定どおりに動作します。

AD ドメインコントローラーをインストールするときに 0x0000232B RCODE_NAME_ERROR エラーコードが返される場合はどうすればよいですか。

問題の説明

Windows ECS インスタンスに AD ドメインコントローラーをインストールすると、0x0000232B RCODE_NAME_ERROR エラーコードが返されます。

原因

DNS サーバで IP アドレスが正しく構成されていません。

解決策

DNS サーバのアドレスを Windows ECS インスタンスのプライベート IP アドレスに変更するには、次の手順を実行します。

  1. Windows ECS インスタンスに接続します。

    詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。

  2. [インターネットプロトコルバージョン 4 ( TCP / IP ) のプロパティ] ウィンドウを開き、DNS サーバのアドレスを変更して、[OK] をクリックします。

    説明

    DNS サーバのアドレスを Windows ECS インスタンスのプライベート IP アドレスに変更します。

    p13294

  3. DNS サーバの IP アドレスを ping できるかどうかを確認します。

Windows ECS インスタンスに AD ドメインコントローラーをインストールするときに「ネットワークパスが見つかりません」というエラーメッセージが表示される場合はどうすればよいですか。

問題の説明

Windows ECS インスタンスに AD ドメインコントローラーをインストールすると、[ネットワークパスが見つかりません] というエラーメッセージが表示されます。

原因

上記の 問題 は、次の 原因 で 発生 する 可能性 があります。

  • TCP/IP NetBIOS Helper サービス と Remote Registry サービス が AD ドメインコントローラー と クライアント で 開始 されていません。

  • AD ドメインコントローラー と クライアント の DNS 構成 が 正しくありません。

  • クライアント の セキュリティ識別子 (SID) が AD ドメインコントローラー の SID と 同じです。

  • ファイアウォール または セキュリティ ソフトウェア が クライアント を ブロックしています。

原因

次の操作を実行します。

  • TCP/IP NetBIOS ヘルパー サービスとリモート レジストリ サービスを開始する

    AD ドメインコントローラーをインストールする ECS インスタンスと、クライアントとして機能する ECS インスタンスで、TCP/IP NetBIOS ヘルパー サービスとリモート レジストリ サービスを開始します。詳細については、このトピックの「AD ドメインコントローラーのインストールの失敗」セクションにある解決策のサブセクションをご参照ください。

  • クライアントの DNS 構成を変更する

    詳細については、このトピックの「AD ドメインコントローラーのインストールの失敗」セクションにある解決策のサブセクションをご参照ください。

  • クライアントの SID を変更する

    次の手順を実行します。

    1. クライアントとして機能する Windows ECS インスタンスに接続します。

      詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。

    2. クライアントの SID を変更するために使用する PowerShell スクリプトをダウンロードします。

      • ダウンロード リンク: AutoSysprep.ps1

      • スクリプト ソース: Alibaba Cloud

    3. コマンド プロンプトを開き、PowerShell と入力します。[Windows PowerShell] ウィンドウが表示されます。

      説明

      ECS インスタンスで 64 ビット オペレーティングシステムを実行している場合は、32 ビット PowerShell([Windows PowerShell (x86)])スクリプトを使用しないでください。使用すると、エラーが発生します。

    4. スクリプトが保存されているパスに移動し、次のコマンドを実行してスクリプト ツールの説明を表示します。

      .\AutoSysprep.ps1 -help
    5. 次のコマンドを実行して、クライアントの SID を再初期化します。

      .\AutoSysprep.ps1 -ReserveHostname -ReserveNetwork -SkipRearm -PostAction "reboot"

      SID が初期化されると、クライアントとして機能する ECS インスタンスが再起動されます。次の点に注意してください。

      • クライアントの IP アドレスは、DHCP に基づいて割り当てられた動的 IP アドレスから静的 IP アドレスに変更されます。静的 IP アドレスが ECS インスタンスの IP アドレスと同じであることを確認してください。DHCP に基づいて割り当てる IP アドレスを構成して、ECS インスタンスのプライマリ プライベート IP アドレスを取得できます。

        説明

        ECS コンソールで ECS インスタンスのプライマリ プライベート IP アドレスを変更しないでください。変更すると、アクセス例外が発生します。

      • SID を再初期化すると、ECS インスタンスのファイアウォールの構成が Microsoft のデフォルト構成に変更されます。その結果、インスタンスを ping できなくなります。[ゲストまたはパブリック ネットワーク] プロファイルの Windows ファイアウォールを無効にするか、必要なポートを開く必要があります。

    6. コントロール パネルを開き、ゲストまたはパブリック ネットワーク プロファイルのファイアウォールを無効にします。

      ゲストまたはパブリック ネットワーク プロファイルの Windows ファイアウォールを無効にすると、インスタンスを ping できるようになります。

  • ファイアウォールまたはセキュリティ ソフトウェアを構成して、クライアントからのアクセスを許可する

    詳細については、「Windows ECS インスタンスのファイアウォール ルールを構成する」をご参照ください。

wget コマンド実行時に報告されるエラー

Linux インスタンスで wget コマンドを実行したときに「command not found」エラーメッセージが表示された場合はどうすればよいですか。

問題の説明

Linux ECS インスタンスで wget コマンドを実行すると、「[command Not Found]」エラーメッセージが表示されます。yum install wget コマンドを実行すると、「[already Installed And Latest Version]」エラーメッセージが表示されます。

原因

wget ファイルではなく、wge ファイルが /usr/bin ディレクトリに存在します。上記の問題は、ファイルの名前が wge に変更されているために発生する可能性があります。

解決策

次の手順を実行します。

  1. Linux ECS インスタンスに接続します。

    詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. 次のコマンドを実行して、wge ファイルのパスをクエリします。

    whereis wge

    次のコマンド出力が返されます。これは、wge ファイルが /usr/bin/wge パスに格納されていることを示しています。

    wge: /usr/bin/wge
  3. /usr/bin/wge ディレクトリにある wge ファイルの名前を変更するには、次のコマンドを実行します。

    cp /usr/bin/wge /usr/bin/wget
  4. wget コマンドを再実行します。問題が解決した場合、エラーメッセージは表示されなくなります。

Linux ECS インスタンスでデータをダウンロードするために wget コマンドを実行したときに「Permission denied」エラーメッセージが表示された場合はどうすればよいですか。

問題の説明

Linux ECS インスタンスでデータをダウンロードするために wget コマンドを実行すると、次のエラーメッセージが表示されます。

wget bash: /usr/bin/wget: Permission denied

原因

Linux ECS インスタンスの wget ユーティリティの権限が 000 に設定されています。これは、どのユーザーもユーティリティの読み取り、書き込み、または実行を許可されていないことを意味します。

解決策

次の手順を実行します。

  1. Linux ECS インスタンスに接続します。

    詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. 次のコマンドを実行して、wget ユーティリティの権限をクエリします。

    ls -l /usr/bin/wget

    次のコマンド出力が返されます。これは、wget ユーティリティの権限が 000 に設定されていることを示しています。

    -------- 1 root root 366800 Oct 31 2014 /usr/bin/wget
  3. 次のコマンドを実行して、/usr/bin/wget ディレクトリの属性をクエリします。

    lsattr /usr/bin/wget

    次のコマンド出力が返されます。これは、/usr/bin/wget ディレクトリに i 属性があり、変更不可であることを示しています。この場合、ディレクトリにファイルを作成したり、ディレクトリからファイルを削除したりすることはできません。

    ----i--------e- /usr/bin/wget
  4. 次のコマンドを実行して、/usr/bin/wget ディレクトリの i 属性を削除します。

    chattr -i /usr/bin/wget
  5. 次のコマンドを実行して、/usr/bin/wget ディレクトリに権限を付与します。

    chmod 755 /usr/bin/wget 
  6. wget コマンドを再実行します。問題が解決した場合、エラーメッセージは表示されなくなります。

FTP アクセスエラー

  • Windows インスタンス

    外部ネットワークから Windows ECS インスタンス上の FTP サーバーにアクセスできない場合はどうすればよいですか。

    問題の説明

    外部ネットワークから Windows ECS インスタンスにデプロイされている FTP サーバーにアクセスできません。

    原因

    上記の発生原因として、以下の理由が考えられます。

    解決策

    実際のシナリオに基づいて、次のいずれかの解決策を使用して問題を解決します。

    解決策 1: セキュリティグループルールを追加して必要な FTP ポートを開く

    Windows ECS インスタンスに FTP サイトを構築した後、インスタンスのセキュリティグループにインバウンドルールを追加して、ポート 21 と、FTP サービスへのパッシブ接続用に 1024 から 65535 の範囲のポートを開きます。セキュリティグループのインバウンドルールの追加方法については、「セキュリティグループルールの追加」をご参照ください。

    説明

    セキュリティグループについては、「セキュリティグループの使用ガイドラインとユースケース」および「共通ポート」をご参照ください。

    解決策 2: FTP ファイアウォールサポート機能を構成する

    ファイアウォールが有効になっている場合は、インターネットインフォメーションサービス ( IIS ) マネージャーを構成して、FTP サービス用に TCP ポート 211024 から 65535 の範囲のポートを開きます。次の手順を実行します。

    説明
    • デフォルトでは、Windows ECS インスタンスのファイアウォールは無効になっています。

    • このセクションでは、IIS マネージャーを使用して FTP を構成する方法について説明します。

    1. Windows ECS インスタンスに接続します。

      詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。

    2. [IIS マネージャー] を開き、中央のウィンドウの機能リストで [FTP ファイアウォールサポート] をダブルクリックします。

    3. 中央のウィンドウの [ FTP ファイアウォールサポート] ページで、パラメーターを構成し、[アクション] ウィンドウの [適用] をクリックします。

      説明

      次のパラメーターに注意してください。

      • ファイアウォールの外部 IP アドレス: Windows ECS インスタンスのパブリック IP アドレスを入力します。

      • データチャネルポート範囲: FTP サービスへのパッシブ接続のポート範囲を入力します。ポート番号の有効範囲: 1024 ~ 65535 。ビジネス要件に基づいてポート範囲を入力します。この例では、1024-65535 が入力されています。

    4. コマンドプロンプトを開き、次のコマンドを実行して FTP サービスを再起動し、すべての FTP サイトの構成を有効にします。

      net stop ftpsvc&net start ftpsvc
    5. (オプション) Windows ECS インスタンスで FTP サーバーを構成した後、FTP サービスにローカルでアクセスできますが、別の ECS インスタンスからはアクセスできません。この問題は、ファイアウォールの構成が正しくないことが原因で発生します。この問題を解決するには、次の手順を実行します。

      1. サーバーマネージャーでインバウンドルールを確認し、FTP サーバーが有効になっていることを確認します。

      2. Windows サービスのホストプロセス ( svchost.exe ) を追加します。

        1. [コントロールパネル] を開き、[ Windows Defender ファイアウォール] をクリックします。[ Windows Defender ファイアウォール] ウィンドウの左側のナビゲーションウィンドウで、[Windows Defender ファイアウォールを介したアプリまたは機能を許可する] をクリックします。

        2. 表示されるウィンドウで、[別のアプリを許可する] をクリックします。C:\Windows\System32\svchost.exe を参照し、svchost.exe を追加します。

        3. [Windows サービスのホストプロセス] オプションが [許可されたアプリと機能] セクションに表示されます。オプションで [プライベート][パブリック] を選択し、[OK] をクリックします。

    Windows ECS インスタンスにデプロイされている FTP サーバーに接続するときに「530 ログインが正しくありません」というエラーメッセージが表示される場合はどうすればよいですか。

    問題の説明

    Windows ECS インスタンスにデプロイされている FTP サーバーに接続すると、次のエラーメッセージが表示されます。

    Response: 331 Please specify the password.
    Command: PASS ************
    Response: 530 Login incorrect.
    Error: Critical error: Could not connect to server

    原因

    上記の発生原因として、以下の理由が考えられます。

    解決策

    実際のシナリオに基づいて、次のいずれかの解決策を使用して問題を解決します。

    解決策 1: FTP パスワードを変更する

    1. Windows ECS インスタンスに接続します。

      詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。

    2. Windows デスクトップで、[PC] を右クリックし、[管理] を選択して [コンピューターの管理] ウィンドウを開きます。

    3. 左側のナビゲーションウィンドウで、[ローカルユーザーとグループ] > [ユーザー] を選択します。使用する FTP アカウントを右クリックし、[パスワードの設定] を選択します。

    解決策 2: FTP アカウントに権限を付与する

    1. Windows ECS インスタンスに接続します。

      詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。

    2. FTP サイトとファイルを共有するためのフォルダーが存在するかどうかを確認します。

      1. フォルダーが存在しない場合は、フォルダーを作成し、FTP アカウントにフォルダーに必要な権限を付与します。詳細については、「Windows インスタンスに FTP サイトを構築する」トピックの 手順 3: ファイル共有の権限を構成する セクションをご参照ください。

      2. フォルダーが存在する場合は、フォルダーを右クリックし、[プロパティ] を選択し、[セキュリティ] タブをクリックし、FTP アカウントを選択して、アカウントに必要な権限を付与します。

    Windows ECS インスタンスにデプロイされている FTP サーバーに接続するときに「530 有効なホスト名が必要です」というエラーメッセージが表示される場合はどうすればよいですか。

    問題の説明

    Windows ECS インスタンスの IIS 7.5 で FTP サイトを構成し、FTP サイトにドメイン名をバインドした後、IP アドレスまたはその他の方法を使用してインスタンス上の FTP サーバーに接続すると、530 有効なホスト名が必要です または 503 最初に USER でログインしてください というエラーメッセージが表示されます。

    原因

    FTP サーバーに接続するときに入力したドメイン名の形式が無効です。

    解決策

    www.example.com ドメイン名が FTP サイトにバインドされていて、接続に user ユーザー名を使用している場合は、www.example.com|user ドメイン名を使用して FTP サーバーに接続する必要があります。

    説明
    • FTP サイトにバインドされているドメイン名とユーザー名を縦棒 ( | ) で区切ります。

    • 次の図に示すように、サイトバインディングを削除して、ユーザー名を使用して FTP サーバーに直接接続することもできます。

    Windows ECS インスタンスで FTP を使用して FileZilla Server にファイルをアップロードするときに「550 権限が拒否されました」というエラーメッセージが表示される場合はどうすればよいですか。

    問題の説明

    Windows ECS インスタンスで FTP を使用して FileZilla Server にファイルをアップロードすると、550 権限が拒否されました というエラーメッセージが表示されます。

    原因

    FTP アカウントに FileZilla Server への write 権限がありません。

    解決策

    1. Windows ECS インスタンスに接続します。

      詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。

    2. FileZilla Server を実行します。[ユーザー] ウィンドウで、[共有フォルダー] を選択します。

    3. FTP アカウントに対応するユーザーとディレクトリを選択し、[書き込み] を選択して、[OK] をクリックし、ユーザーに書き込み権限を付与します。

    Windows ECS インスタンスにデプロイされている FTP サイトに FTP over TLS を使用して接続するときに「534 ポリシーで SSL が必要です」というエラーメッセージが表示される場合はどうすればよいですか。

    問題の説明

    FTP over TLS を使用して Windows ECS インスタンスで IIS によって作成された FTP サイトにアクセスできず、「534 ポリシーで SSL が必要です」というエラーメッセージが表示されます。

    原因

    「534 サーバーのローカルポリシーでは TLS セキュア接続が許可されていません」というエラーメッセージは、[FTP SSL 設定] のパラメーター設定が正しくないことが原因で問題が発生したことを示しています。

    解決策

    1. Windows ECS インスタンスに接続します。

      詳細については、「ECS インスタンスに接続する方法」をご参照ください。

    2. デスクトップの左下隅で、开始图标 > メディア ファイルのスケーラビリティを向上させる注: > を選択します。

    3. FTP ホームページの [FTP] セクションで、[FTP SSL 設定] をクリックします。

    4. [FTP SSL 設定] ページで、[SSL ポリシー][SSL 接続を許可する] に設定します。次に、[アクション] ウィンドウの [適用] をクリックします。

    5. FTP サイトにアクセスします。

  • Linux インスタンス

    Linux ECS インスタンスにデプロイされている FTP サイトにファイルをアップロードするときに「425 セキュリティ: 不正な IP 接続」というエラーメッセージが表示される場合はどうすればよいですか。

    問題の説明

    Linux ECS インスタンスにデプロイされている FTP サイトにファイルをアップロードすると、「425 セキュリティ: 不正な IP 接続」というエラーメッセージが表示されます。

    原因

    ほとんどの場合、この問題は、クライアントが NAT ネットワークにあり、複数のパブリック IP アドレスに関連付けられている場合に発生します。これにより、FTP サービスによって維持されている 2 つの接続の送信元 IP アドレス間に不整合が生じ、エラーが発生します。

    説明

    FTP サービスは、制御接続とデータ接続の 2 つの接続を同時に維持します。デフォルトでは、データ転送中に、FTP サーバーは 2 つの接続の送信元 IP アドレスが一致するかどうかを確認します。送信元 IP アドレスが一致しない場合、FTP サーバーは「425 セキュリティ: 不正な IP 接続」エラーを報告します。

    解決策

    FTP パッシブモードの IP セキュリティチェックを無効にするには、次の手順を実行します。

    1. Linux ECS インスタンスに接続します。

      詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

    2. 次のコマンドを実行して、FTP 構成ファイルを開きます。

      vi /etc/vsftpd/vsftpd.conf
    3. i キーを押して挿入モードに入り、ファイルに次の内容を追加します。

      pasv_promiscuous=yes
    4. Esc キーを押して挿入モードを終了します。次に、:wq と入力し、Enter キーを押してファイルを保存して閉じます。

    5. 次のコマンドを実行して FTP サービスを再起動します。

      systemctl restart vsftpd

    VSFTP を使用して Linux ECS インスタンスにファイルをアップロードできないときに「553 ファイルを作成できませんでした」というエラーメッセージが表示される場合はどうすればよいですか。

    問題の説明

    VSFTP を使用して Linux ECS インスタンスにファイルをアップロードできず、「553 ファイルを作成できませんでした」というエラーメッセージが表示されます。

    原因

    上記の発生原因として、以下の理由が考えられます。

    • Linux インスタンスのディスク容量がいっぱいです。

    • FTP home ディレクトリへの write 権限が付与されていません。

    解決策

    次の手順を実行して、Linux インスタンスのディスク容量の使用状況と FTP home ディレクトリの権限を確認します。

    1. Linux ECS インスタンスに接続します。

      詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

    2. 次のコマンドを実行して、インスタンスのディスク容量がいっぱいになっているかどうかを確認します。

      df -h
      説明

      ディスクのパーティションの使用率が 100 % に達すると、ディスク容量がいっぱいです。

      次の図は、コマンド出力の例を示しています。コマンド出力の例では、/dev/xvda1 パーティションの使用率は 59 % です。

    3. 次のコマンドを実行して、FTP home ディレクトリへの write 権限が付与されているかどうかを確認します。

      説明

      実際の FTP home ディレクトリを指定します。この例では、/home/user ディレクトリが FTP ホームディレクトリとして使用されています。

      ls -l /home/user

      FTP ホームディレクトリへの write 権限が付与されていない場合、次の図の赤い枠で示すように、権限設定に w は含まれていません。

      1111

    4. 次のコマンドを実行して、FTP ホームディレクトリへの write 権限を付与します。

      chmod +w /home/user
    5. 次のコマンドを実行して、FTP ホームディレクトリへの書き込み権限が付与されているかどうかを確認します。コマンド出力に w が表示されている場合、FTP ホームディレクトリへの write 権限が付与されています。

      ls -l /home/user

その他

ECS インスタンスにデプロイされた WeChat 公式アカウント プラットフォームのトークンの検証に失敗した場合の対処方法

問題の説明

ECS インスタンスにデプロイされている WeChat 公式アカウント プラットフォームのトークン検証に失敗します。

原因

上記の事象は、以下の理由により発生する可能性があります。

  • メモ帳やオンラインエディタなどを使用して、トークンファイルが不適切に編集されています。その結果、UTF-8 バイトオーダーマーク(BOM)署名がファイルに追加されます。

  • Safe Dog またはセキュリティセンターが ECS インスタンスにインストールされており、Tencent サーバーからのリクエストをブロックしています。

  • ECS インスタンスがトークン検証に一時ドメイン名を使用しており、リクエストが Tencent システムによってインターセプトされています。

  • PHP ファイルの終了タグの後に改行などの文字が含まれています。

  • 他のデバッグ検証方法が使用されています。

  • プログラムの Gzip 暗号化中に例外が発生します。

解決策

原因に基づいて、次の操作を実行して問題を解決します。

  • メモ帳やオンラインエディタなどを使用して、トークンファイルが不適切に編集されています

    トークンファイルから UTF-8 BOM 署名を削除するには、多機能エディタを使用することをお勧めします。

  • Safe Dog またはセキュリティセンターが ECS インスタンスにインストールされています

    Safe Dog をアンインストールするか、セキュリティセンターのホワイトリストに Tencent サーバーを追加することをお勧めします。

  • ECS インスタンスがトークン検証に一時ドメイン名を使用しています

    検証を実行する際は、Alibaba Cloud に登録されているドメイン名を使用することをお勧めします。

  • PHP ファイルの終了タグの後に改行などの文字が含まれています

    終了タグの後の余分な文字を削除します。

  • 他のデバッグ検証方法が使用されています

    curl http://xxx/index.php/api/xx コマンドを実行して、デバッグと検証を実行します。 WeChat API リクエストをシミュレートし、分析を実行します。

  • プログラムの Gzip 暗号化中に例外が発生します

    プログラムの Gzip 暗号化機能を一時的に無効にして、問題のトラブルシューティングを行うことをお勧めします。

Linux ECS インスタンスで中国語の文字が文字化けする問題の対処方法

問題の説明

サードパーティの SSH クライアントを使用して Linux ECS インスタンスに接続すると、インスタンス上の中国語の文字が文字化けします。

原因

上記の事象は、以下の理由により発生する可能性があります。

解決策

実際のシナリオに基づいて、次のいずれかの解決策を使用して問題を解決します。

解決策 1: Linux ECS インスタンスに中国語言語パックをインストールする

この例では、CentOS 7.8 を実行するインスタンスを使用しています。構成とコマンドは、特定の CentOS バージョンや Red Hat、Debian、Ubuntu などのディストリビューションなど、オペレーティングシステムによって異なる場合があります。詳細については、オペレーティングシステムの公式ドキュメントをご参照ください。

  1. Linux ECS インスタンスに接続します。

    詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. 次のコマンドを実行して、オペレーティングシステムで使用されている言語をクエリします。

    echo $LANG
    説明
    • 英語が使用されている場合は、手順 3 に進みます。

    • 中国語が使用されている場合は、Linux オペレーティングシステムに中国語言語パックがインストールされています。この場合、文字化けした中国語の文字は、サポートされていない中国語フォントが原因ではありません。問題を解決するには、解決策 2: サードパーティの SSH クライアントツールの文字セットを変更するを使用します。

  3. 次のコマンドを実行して、オペレーティングシステムに中国語言語パックがインストールされているかどうかを確認します。

    locale -a | grep "zh_CN"

    次のコマンド出力が表示されます。 zh は中国語、CN は中国、gb18030、gb2312、gbk、utf8 は文字セットを示します。

    zh_CN
    zh_CN.gb18030
    zh_CN.gb2312
    zh_CN.gbk
    zh_CN.utf8

    中国語言語パックがインストールされていない場合は、次のコマンドを実行して言語パックをインストールします。

    sudo yum groupinstall "fonts"
  4. 次のコマンドを実行して、/etc/locale.conf 構成ファイルを開きます。

    vim /etc/locale.conf
    1. i キーを押して挿入モードに入ります。次に、LANG=en_US.UTF-8LANG=zh_CN.UTF-8 に変更して、システム言語を中国語に変更します。

    2. Esc キーを押し、:wq と入力し、Enter キーを押して構成ファイルを保存して閉じます。

  5. 構成を有効にするには、次のコマンドを実行します。

    source /etc/locale.conf
  6. 次のコマンドを実行して、インスタンスを再起動します。

    reboot
  7. (オプション) インスタンスの再起動後もシステム言語が英語の場合は、次のコマンドを実行して /etc/profile.d/lang.sh 構成ファイルを開きます。

    vim /etc/profile.d/lang.sh
    1. i キーを押して挿入モードに入ります。 zh*) LANG=en_US.UTF-8zh*) LANG=zh_CN.UTF-8 に変更します。次の図は、変更されたコンテンツを示しています。Dingtalk_20210709104253.jpg

    2. Esc キーを押し、:wq と入力し、Enter キーを押して構成ファイルを保存して閉じます。

    3. 次のコマンドを実行して、インスタンスを再起動します。

      reboot

解決策 2: サードパーティの SSH クライアントツールの文字セットを変更する

次のセクションでは、Xshell クライアントの文字セットを変更する方法について説明します。

  1. Xshell クライアントを開きます。

  2. Xshell クライアント ウィンドウで、[デフォルト言語][Unicode (UTF-8)] に設定します。

  3. インスタンスにログオンします。問題が解決した場合、エラーメッセージは表示されなくなります。