You have already activated rake x.x.x, but your Gemfile requires rake x.x.x. Prepending `bundle exec` to your command may solve this.

rakeをupdateする

gem update rake

または

bundle update rake

AWS 特定のS3バケットへのアクセスのみ許可する

ポリシーでのアクセス許可を以下に設定

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:ListAllMyBuckets",
      "Resource": "arn:aws:s3:::*"
    },
    {
      "Effect": "Allow",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::your-bucket-name",
        "arn:aws:s3:::your-bucket-name/*"
      ]
    }
  ]
}

参考

ポリシーでのアクセス許可の指定

既存のEC2インスタンスにIAMロールを割り当てる

ようやく既存のEC2インスタンスにIAMロールを割り当てることができるようになった。

新しくIAMロールを割り当てる

$ aws ec2 associate-iam-instance-profile --instance-id インスタンスID --iam-instance-profile Name=ロール名

結果

{
    "IamInstanceProfileAssociation": {
        "InstanceId": "yourInstanceId",
        "State": "associating",
        "AssociationId": "iip-assoc-07489a9421ef8d9a6",
        "IamInstanceProfile": {
            "Id": "AIPAJ2DEFUOROSIDJV7OS",
            "Arn": "arn:aws:iam::943601058350:instance-profile/myRole"
        }
    }
}

IAMロールを置き換える

差し替える場合は、まずIAMロールとEC2インスタンスのアソシエーションIDを取得する必要がある。

アソシエーションIDの取得

$ aws ec2 describe-iam-instance-profile-associations | jq '.IamInstanceProfileAssociations[] | select(.InstanceId == "インスタンスID") | .AssociationId'

IAMロールの置き換え

$ aws ec2 replace-iam-instance-profile-association --association-id アソシエーションID --iam-instance-profile Name=ロール名

結果

{
    "IamInstanceProfileAssociation": {
        "InstanceId": "yourInstanceId",
        "State": "associating",
        "AssociationId": "iip-assoc-0061ce7a881874983",
        "IamInstanceProfile": {
            "Id": "AIPAIDQS4HLWPEA6C2P4O",
            "Arn": "arn:aws:iam::943601058350:instance-profile/replaceRole"
        }
    }
}

参考

New! Attach an AWS IAM Role to an Existing Amazon EC2 Instance by Using the AWS CLI

RDS MySQLデータベース作成時に気をつけること

MySQLのスロークエリログの出力はデフォルトOFFになっているので、ONにする。

参考

MySQL データベースログファイル

EC2インスタンス作成時に気をつけること

IAMのロールはインスタンス作成後に割り当てることができないので、空のロールでも良いので割り当てておくとよい。 その他AWSサービスとの連携は、今後ないという場合はその必要はない。

Mac ファイルの中身をクリップボードにコピーする

viでファイルを開いて全選択してクリップボードにコピーは面倒くさい。

pbcopyを使えば瞬殺できる。

$ pbcopy < file.txt

同じ要領でコマンドの実行結果もクリップボードにコピーできる。

$ git status -s | pbcopy

bash promptに表示されるカレントディレクトリを省略する

bash4 > の場合、カレントディレクトリの表示を省略することができる。 PROMPT_DIRTRIMに指定した値より階層が深くなった場合、前方が…で置き換えられる。

❯ ~/workspace/grmn/src
$ export PROMPT_DIRTRIM=2

❯ ~/.../grmn/src