AWS
概要 特定のタグがついたロールにスイッチロールするようなIAMポリシーです。 IAMポリシー かんたんな説明 このポリシーの場合だと、environmentタグにdevという値が設定されているロールにスイッチロールすることを許可しています。 こんなかんじにタグでス…
概要 Ansibleを利用してIAMポリシーを作成してみたいと思います。 playbook playbookとそれでつかうJSONはこんなかんじ。 JSONに記載したポリシーのとおりにIAMポリシーが作成されます。 実行結果確認 ポリシーができている。 $ aws iam list-policies --que…
AWSのEC2のLinuxにssh接続するときのユーザ名をまとめてみた。 まとめ こんなかんじ。 ディストリビューション ユーザ名 Amazon Linux ec2-user CentOS centos Debian admin または root Fedora ec2-user または fedora RHEL ec2-user または root SUSE ec2-…
CloudFormationで作成したインスタンスにアタッチされていたEBSが削除されずにそのまま残ってしまうことがあります。 その対処法です。 template これの15行目みたいなかんじでDeleteOnTermination: Trueを設定してあげる。 おわりに わすれがち。 クラウド…
EFSを作成して、EC2インスタンスのCentOSでマウントしてみたいと思います。 (EFSマウントヘルパーはつかわないバージョンです。) 手順 手順 EFS用のセキュリティグループをつくる EFSを作成する CentOSにNFSクライアントをインストールする おわりに EFS用の…
AWSCLIでCloudFormationのスタックを作成またはアップデートしようとしたときにこんなかんじのエラーがでた。 An error occurred (InsufficientCapabilitiesException) when calling the CreateStack operation: Requires capabilities : [CAPABILITY_NAMED_…
CloudFormationでもう使わないスタックを削除しようとしたらこんなかんじのエラーがでて、セキュリティグループが削除できなかった。 resource sg-XXXXXXXX has a dependent object (Service: AmazonEC2; Status Code: 400; DependencyViolation; Request ID…
概要 CodePipelineを利用してGitHub上のコードをS3にデプロイしてみたいと思います。 やりたいことはだいたい以下のようなかんじ。 手順 こんなかんじでできます。 マネジメントコンソールのCodePipelineから「パイプラインの作成」を選択します。 適当にパ…
概要 CloudFormationを利用してIAMロールをアタッチした状態のEC2インスタンスを構築してみたいと思います。 template CloudFormationのテンプレートはこんなかんじ。 ちょっとした説明 マネジメントコンソールをポチポチしているとなにも意識しませんが、EC…
CloudFormation Stackを削除しようと思ったらこんなかんじのエラーがでてスタックが削除されなくなった。(DELETE_FAILEDになった) のでその対処法です。 Cannot delete entity, must detach all policies first. (Service: AmazonIdentityManagement; Status…
概要 AnsibleでgoofysをインストールするPlaybookを書いた。 playbook こんなかんじ。 おわりに epel-releaseとfuse,golangを分けたのはなんかそうしないとうまくいかなかったんだよね。 Ansible実践ガイド 第2版 (impress top gear)作者: 北山晋吾,塚本正隆…
概要 CentOS7にS3をマウントできるツールであるgoofysをインストールして、S3バケットをマウントしてみたいと思います。 インストール手順 epelリポジトリを追加する $ sudo yum install epel-release fuseをインストールする $ sudo yum install fuse goを…
こんなかんじでつくれます。 セキュリティグループの指定のところで!RefをつかってあげるとそのリソースID(sg-xxxxxxみたいなやつ)がわたされます。 徹底攻略 AWS認定 ソリューションアーキテクト ? アソシエイト教科書作者: ??部昭寛,宮?光平,菖蒲淳司,株式…
こんなかんじでつくれる。 SecurityGroupIngressがインバウンドでSecurityGroupEgressがアウトバウンド 徹底攻略 AWS認定 ソリューションアーキテクト ? アソシエイト教科書作者: ??部昭寛,宮?光平,菖蒲淳司,株式会社ソキウス・ジャパン出版社/メーカー: イ…
概要 AWSCLIでCloudtrailを操作してインスタンスを停止した犯人をコマンド一発でさがしだしてみたいとおもいます。 コマンド コマンドはこんなかんじ。 $ aws cloudtrail lookup-events --start-time 2019-01-23T17:00:02+0900 --end-time 2019-01-24T17:1 1…
概要 AWSCLIを利用してキーペアを作成してみます。 環境 Amazon Linux2 キーペアをつくれる権限のIAMロールがアタッチされている 手順 キーペアをつくれる権限のIAMロールがアタッチされているAmazonLinux2で以下のコマンドを実行します。 wawawa_keyの部分…
概要 Windows Subsystem for Linux上のUbuntuにAWSCLIをインストールしてみたいと思います。 手順 こんなかんじでやるとインストールできます。 pipをインストールする curlでpipをもってきて $ curl -O https://bootstrap.pypa.io/get-pip.py 実行する $ py…
概要 AWSCLIとcloudtrailを利用して特定のインスタンスになにがあったのかを調べてみたいと思います。 だれかが雑にインスタンスを停止してしまって誰が止めたんだ!!!!みたいな犯人探しのときにつかえます(遠い目) コマンド例 コマンドは以下のとおり。 …
概要 AWSCLIをつかってS3バケット自体を削除してみようと思います。 削除する 以下のコマンドで削除することができます。 $ aws s3api delete-bucket --bucket wawawa-dst ちなみに バケットの中にオブジェクトが残っている場合 以下のようにエラーが出ます…
概要 同じリージョンにあるS3バケットを同期させてみようと思います。 同期させる方法 AWSCLIをつかいます。 以下のようにすることでS3バケット2つを同期させることができます。 $ aws s3 sync s3://wawawa-src s3://wawawa-dst 実際にやってみる 実際にやっ…
概要 複数のEC2インスタンスに一気にIAMロールを付ける必要があって、マネコンでポチポチするのめんどくさいなーと思ったのでつくった。 スクリプト つかいかた ./role_fukusuu.sh IAMロール名 インスタンスID インスタンスID... $ ./role_fukusuu.sh wawawa…
概要 シェルスクリプトとAWSCLIを利用して複数のインスタンスに一気にタグを付けてみたいと思います。 スクリプト こんなかんじでやってます。 肝心のAWSCLI実行部がJSONのなかに変数をしこむために地獄の様相を呈していますけれど仕方がなかった。 実行して…
概要 AWSCLIの出力結果にjoin()をつかって任意の文字列をくっつけて出力してみたいと思います。 実際にやってみる インスタンスIDを出力してみると通常はこんな感じですが $ aws ec2 describe-instances --query 'Reservations[].Instances[].InstanceId' --…
概要 AWSCLIの出力結果をソートする2パターンをご紹介します。 sort_byでソートする 以下の例ではインスタンスの一覧からインスタンスIDとプライベートIPを表示して、それをインスタンスIDでソートしています。 --queryので指定する項目をsort_by()で囲って…
概要 boto3におけるclientとresourceのちがいについて雑に調べたのでまとめる。 client 低レベルのサービスアクセスAPI 呼び出すたびにターゲットとなるリソースを明示的に指定する必要がある そのため抽象化するには不向きかも レスポンスがJSON形式 resour…
概要 Lambda(Python) を利用してAMIとそれに紐付いているスナップショットの世代管理をしてみようと思います。 スクリプト例 ちょっとした説明 タグにauto_backupと書いてあるAMIの世代管理をしてくれます。 上の方の変数generationに指定した数だけAMIを保…
概要 Route53でHosted Zoneを削除するときになんかエラーがでたのでそれの解決方法 こんなエラーがでた Before you can delete a hosted zone, you must first delete all resource record sets except the NS and SOA resource record sets for the zone ap…
概要 Lambda(Python3)をつかってEC2インスタンスについているあるタグの値がなんなのかを出力してみます。 スクリプト tag_keyに出力したいタグのkeyを指定します。 実行結果 たとえば、こんなかんじでタグがついていたとします。 それをこのLambdaを実行す…
概要 Lambda(Python)を利用して、特定のVPCの中のサブネットの一覧を出力してみたいと思います。 スクリプト例 Lambdaのスクリプト的にはこんなかんじ。 実行結果 { 'Subnets': [{ 'AvailabilityZone': 'ap-northeast-1c', 'AvailableIpAddressCount': 250, …
わりと忘れがちなのでメモ。 概要 CloudWatchのスケジュールのcron式で日と曜日を指定するときに、ちゃんと設定しているはずなのに以下のようなメッセージがでてきたのでそれの回避方法です。 Parameter ScheduleExpression is not valid. 回避方法 こんなか…